Merge branch 'foss42:main' into main

This commit is contained in:
SRINATH REDDY
2025-02-22 19:06:29 +05:30
committed by GitHub
2 changed files with 68 additions and 5 deletions

View File

@ -11,12 +11,29 @@ You can contribute to the project in any or all of the following ways:
- Add documentation
- Add a new feature, resolve an existing issue or add a new test to the project. (Goto [Code Contribution Guidelines](#code-contribution-guidelines)).
## Resources for New Contributors
- API Dash Code Walkthrough - [Video](https://www.youtube.com/live/rIlwCTKNz-A?si=iMxTxzkpY_ySo4Ow&t=339)
- Getting Started with Flutter - [Video](https://www.youtube.com/watch?v=8K2gV1P6ZHI)
- API Dash Developer Guide - [Read](https://github.com/foss42/apidash/blob/main/doc/dev_guide/README.md)
## Code Contribution Guidelines
### Why we do not assign issues to anyone?
- By not assigning issues upfront, anyone can feel welcome to contribute without feeling like the issue is already "taken."
- This also prevents discouraging new contributors who might feel locked out if issues are pre-assigned.
- Contributors are encouraged to pick issues that align with their skills and interests. To take initiative rather than waiting for permission or being "assigned" work.
- Sometimes contributors express interest but never follow through. If issues are assigned prematurely, others might avoid working on them, delaying progress.
- Leaving issues unassigned ensures that work can proceed without bottlenecks if someone goes inactive.
- Open issues encourage community discussion and brainstorming. Prematurely assigning an issue can stifle input from others who might have better ideas or solutions.
- As open-source work is often voluntary, and contributors' availability can change. Keeping issues unassigned allows anyone to step in if the original contributor becomes unavailable.
This also supports multiple contributors collaborating on larger or complex issues.
### I have not contributed to any open source project before. Will I get any guidance?
In case you are new to the open source ecosystem, we would be more than happy to guide you through the entire process. Just join our [Discord server](https://bit.ly/heyfoss) and drop a message in the **#foss** channel.
## Code Contribution Guidelines
### Some things to keep in mind before opening a PR
> PRs with precise changes (like adding a new test, resolving a bug/issue, adding a new feature) are always preferred over a single PR with a ton of file changes as they are easier to review and merge.

View File

@ -25,9 +25,24 @@ You can read more [here](https://docs.flutter.dev/platform-integration/macos/bui
In case you are having a local build failure on macOS due to "audio_session" do check out issue https://github.com/foss42/apidash/issues/510 for solution.
## Android (Work in Progress)
## Android
Add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file`
In case you are targeting the Android API level <21 or the project and the libraries it references exceed 65,536 methods, you encounter the following build error that indicates your app has reached the limit of the Android build architecture:
```
trouble writing output:
Too many field references: 131000; max is 65536.
You may try using --multi-dex option.
```
OR
```
Conversion to Dalvik format failed:
Unable to execute dex: method ID not in [0, 0xffff]: 65536
```
To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section in `android/app/build.gradle file`
```
android {
@ -39,7 +54,38 @@ android {
}
```
For more information on multidex support, you can refer to the Android developer guide on [Configuring Multidex](https://developer.android.com/studio/build/multidex).
For more information on multidex support, you can refer to the Android developer guide on [Configuring Multidex](https://developer.android.com/studio/build/multidex).
If you are experiencing build failure issues while debugging due to Gradle/JDK/AGP version resolving try upgrading the gradle version by CLI command
```
gradle wrapper --gradle-version <latest compatible version>
```
In case the above command fails, edit the Gradle distribution reference in the `gradle/wrapper/gradle-wrapper.properties` file. The following example sets the Gradle version to 8.8 in the `gradle-wrapper.properties` file.
```
...
distributionUrl = https\://services.gradle.org/distributions/gradle-8.8-bin.zip
...
```
Upgrade AGP by specifying the plugin version in the top-level `build.gradle` file. The following example sets the plugin to version 8.8.0 from the `build.gradle` file:
```
plugins {
...
id 'com.android.application' version '8.8.0' apply false
id 'com.android.library' version '8.8.0' apply false
...
}
```
For more information on:
- Gradle and Java version compatibility, you can refer to [Compatibility Matrix](https://docs.gradle.org/current/userguide/compatibility.html).
- Gradle and Android Gradle Plugin compatibility, you can refer to [Update Gradle](https://developer.android.com/build/releases/gradle-plugin).
Note : It is highly recommended that always ensure gradle and agp versions are compatible with your JDK version not the vice-versa and having atleast JDK 17 is recommmended.
## Web