From d0a1d9e122a57223e363f157b6bc3b86e859c91f Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Tue, 18 Feb 2025 22:43:06 +0530 Subject: [PATCH 1/7] Update CONTRIBUTING.md --- CONTRIBUTING.md | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea4e8f49..adc1d89a 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -11,12 +11,18 @@ 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 + ### 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. From 0d893c0f7a0e9a32296a19674fe1e8d32b8b2f3b Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Thu, 20 Feb 2025 10:16:27 +0530 Subject: [PATCH 2/7] Update CONTRIBUTING.md --- CONTRIBUTING.md | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index adc1d89a..ef1c9e36 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,6 +19,17 @@ You can contribute to the project in any or all of the following ways: ## Code Contribution Guidelines +### Why we do not assign issues 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. From 89f12f8810f55328b40bc7e98e2c076559ca1a93 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Thu, 20 Feb 2025 10:16:39 +0530 Subject: [PATCH 3/7] Update CONTRIBUTING.md --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ef1c9e36..5a1ff5aa 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -19,7 +19,7 @@ You can contribute to the project in any or all of the following ways: ## Code Contribution Guidelines -### Why we do not assign issues anyone? +### 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. From 922ecd9768c3f66fc61256b9e157aa8feadd3f22 Mon Sep 17 00:00:00 2001 From: HydrogenIITG Date: Fri, 21 Feb 2025 18:03:19 +0530 Subject: [PATCH 4/7] added android specific instructions --- .../platform_specific_instructions.md | 40 ++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index 32016e06..df469e6a 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -27,6 +27,18 @@ In case you are having a local build failure on macOS due to "audio_session" do ## Android (Work in Progress) +- If any case targeting the Android API level below 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 at `android/app/build.gradle file` ``` @@ -39,7 +51,33 @@ 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 the following + upgrading gradle version by CLI command +``` +gradle wrapper --gradle-version +``` +In any case above command fails then you need to 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). +For more information on 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 From 7eaa494d85793a0c0f360b5141eaf7e2100bbf60 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:49:46 +0530 Subject: [PATCH 5/7] Update platform_specific_instructions.md --- .../platform_specific_instructions.md | 30 ++++++++++++------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index df469e6a..df243103 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -27,19 +27,22 @@ In case you are having a local build failure on macOS due to "audio_session" do ## Android (Work in Progress) -- If any case targeting the Android API level below 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: +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 at `android/app/build.gradle file` + +To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section at `android/app/build.gradle file` ``` android { @@ -53,18 +56,22 @@ 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). -- If you are experiencing build failure issues while debugging due to Gradle/JDK/AGP version resolving try the following - upgrading gradle version by CLI command +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 ``` -In any case above command fails then you need to 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. + +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: + +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 { ... @@ -72,12 +79,13 @@ 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). -For more information on 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. +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 From a135adec5f21ff798b2f36b442798845b5f2bf5e Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:50:06 +0530 Subject: [PATCH 6/7] Update platform_specific_instructions.md --- doc/dev_guide/platform_specific_instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index df243103..6666ceaf 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -25,7 +25,7 @@ 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 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: From 17272dd01a95657b82b2f8d40edcdf32a4c8b925 Mon Sep 17 00:00:00 2001 From: Ashita Prasad Date: Sat, 22 Feb 2025 08:51:00 +0530 Subject: [PATCH 7/7] Update platform_specific_instructions.md --- doc/dev_guide/platform_specific_instructions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/dev_guide/platform_specific_instructions.md b/doc/dev_guide/platform_specific_instructions.md index 6666ceaf..14b836ef 100644 --- a/doc/dev_guide/platform_specific_instructions.md +++ b/doc/dev_guide/platform_specific_instructions.md @@ -42,7 +42,7 @@ 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 at `android/app/build.gradle file` +To solve this problem, add the `multiDexEnabled true` line to the `defaultConfig` section in `android/app/build.gradle file` ``` android {