1. 07 Dec, 2023 1 commit
  2. 09 Nov, 2023 1 commit
  3. 03 Nov, 2023 1 commit
  4. 02 Nov, 2023 2 commits
  5. 01 Nov, 2023 1 commit
  6. 11 Oct, 2023 1 commit
  7. 20 Sep, 2023 1 commit
    • Camille Simon's avatar
      [Android] Add Java/AGP/Gradle incompatibility warning to `flutter create` (#131444) · 594ff98a
      Camille Simon authored
      Adds warning to `flutter create` command that checks if detected Java version is compatible with the template AGP and template Gradle versions. If a developer is building for Android and their Java version is incompatible with either the AGP or Gradle versions that Flutter currently supports by default for new Flutter projects, then
      
      - a warning will show noting the incompatibility and
      - steps will be shown to fix the issue, the recommended option being to configure a new compatible Java version given that Flutter knows we can support the template Gradle/AGP versions and updating them manually may be risky (feedback on this approach would be greatly appreciated!)
      
      Given that the template AGP and Gradle versions are compatible, this PR assumes that the detected Java version may only conflict with one of the template AGP or Gradle versions because:
       - the minimum Java version for a given AGP version is less than the maximum Java version compatible for the minimum Gradle version required for that AGP version (too low a Java version will fail AGP compatibility test, but not Gradle compatibility).
      - the maximum Java version compatible with minimum Gradle version for a given AGP version is higher than minimum Java version required for that AGP version (too high a Java version will fail Gradle compatibility test, but not AGP compatibility test).
      
      Fixes https://github.com/flutter/flutter/issues/130515 in the sense that `flutter create foo`; `cd foo`; `flutter run` should always be successful.
      Unverified
      594ff98a
  8. 14 Jul, 2023 1 commit
  9. 03 May, 2023 1 commit
  10. 01 May, 2023 1 commit
  11. 27 Apr, 2023 2 commits
  12. 19 Apr, 2023 1 commit
  13. 13 Apr, 2023 1 commit
  14. 07 Apr, 2023 2 commits
    • Reid Baker's avatar
      Update gradle_utils.dart and flutter.gradle to have the same versions as the... · 645cfcdd
      Reid Baker authored
      Update gradle_utils.dart and flutter.gradle to have the same versions as the documentation in file says is required. (#123213)
      
      This was an oversight from pr
      https://github.com/flutter/flutter/pull/116146/files.
      Comments in both files indicate that the versions should be bumped
      together.
      
      
      ## Pre-launch Checklist
      
      - [x] I read the [Contributor Guide] and followed the process outlined
      there for submitting PRs.
      - [x] I read the [Tree Hygiene] wiki page, which explains my
      responsibilities.
      - [x] I read and followed the [Flutter Style Guide], including [Features
      we expect every widget to implement].
      - [x] I signed the [CLA].
      - [ ] I listed at least one issue that this PR fixes in the description
      above.
      - [ ] I updated/added relevant documentation (doc comments with `///`).
      - [x] I added new tests to check the change I am making, or this PR is
      [test-exempt].
      - [ ] All existing and new tests are passing.
      
      If you need help, consider asking for advice on the #hackers-new channel
      on [Discord].
      Unverified
      645cfcdd
    • Reid Baker's avatar
      Update getGradleVersion to ignore commented out lines (#124260) · 7a791b5d
      Reid Baker authored
      https://github.com/flutter/flutter/issues/123917
      Missed feedback from https://github.com/flutter/flutter/pull/123916 
      
      - Handle commented out lines in gradle-wrapper.properties
      
      This is 1 of 2 prs to handle missed feedback. Formatting will be done in
      the second whereas this one captures a weakness missed in the last pr.
      
      ## Pre-launch Checklist
      
      - [x] I read the [Contributor Guide] and followed the process outlined
      there for submitting PRs.
      - [x] I read the [Tree Hygiene] wiki page, which explains my
      responsibilities.
      - [x] I read and followed the [Flutter Style Guide], including [Features
      we expect every widget to implement].
      - [x] I signed the [CLA].
      - [x] I listed at least one issue that this PR fixes in the description
      above.
      - [x] I updated/added relevant documentation (doc comments with `///`).
      - [x] I added new tests to check the change I am making, or this PR is
      [test-exempt].
      - [x] All existing and new tests are passing.
      Unverified
      7a791b5d
  15. 05 Apr, 2023 1 commit
    • Reid Baker's avatar
      Add Java-Gradle-AGP validation to flutter analyze (#123916) · 2383400f
      Reid Baker authored
      https://github.com/flutter/flutter/issues/123917
      
      Doc covering a broad set of issues related to android studio updating. 
      
      https://docs.google.com/document/d/1hTXkjbUrBnXgu8NQsth1c3aEqo77rWoEj8CcsQ39wwQ/edit?pli=1#
      
      Specifically this pr: 
      - Adds new functions to find a projects AGP, Gradle and java versions,
      and tests.
      - Adds new functions that take versions and parse if the versions are
      compatible with each other, and tests.
      - Adds validator for `flutter analyze --suggestions` that evaluates the
      java/gradle/agp versions and checks if they are compatible, and
      integration test.
      - Updates the version of gradle used by
      dev/integration_tests/flutter_gallery/ to the minimum supported by java
      18 so that the integration tests pass (It is unknown why the java
      version is 18.9 instead of 11)
      - Moves `isWithinVersionRange` to version.dart, and tests. 
      - Adds FakeAndroidStudio to fakes to be used in multiple tests but does
      not remove existing copies.
      
      Metrics will be included as part of the definition of done for this bug
      but not as part of this cl. It is already too big.
      
      Known work still left in this pr: 
      * Understand why analyze integration tests are failing. 
      
      
      Example output if Java and gradle are not compatible: 
      ```
      ┌───────────────────────────────────────────────────────────────────┐
      │ General Info                                                      │
      │ [✓] App Name: espresso_example                                    │
      │ [✓] Supported Platforms: android                                  │
      │ [✓] Is Flutter Package: yes                                       │
      │ [✓] Uses Material Design: yes                                     │
      │ [✓] Is Plugin: no                                                 │
      │ [✗] Java/Gradle/Android Gradle Plugin:                            │
      │                                                                   │
      │ Incompatible Java/Gradle versions.                                │
      │                                                                   │
      │ Java Version: 17.0.6, Gradle Version: 7.0.2                       │
      │                                                                   │
      │ See the link below for more information.                          │
      │ https://docs.gradle.org/current/userguide/compatibility.html#java │
      │                                                                   │
      └───────────────────────────────────────────────────────────────────┘
      ```
      Example output if Gradle and AGP are not compatible
      ```
      ┌─────────────────────────────────────────────────────────────────────────────┐
      │ General Info                                                                │
      │ [✓] App Name: espresso_example                                              │
      │ [✓] Supported Platforms: android                                            │
      │ [✓] Is Flutter Package: yes                                                 │
      │ [✓] Uses Material Design: yes                                               │
      │ [✓] Is Plugin: no                                                           │
      │ [✗] Java/Gradle/Android Gradle Plugin: Incompatible Gradle/AGP versions.    │
      │                                                                             │
      │ Gradle Version: 7.0.2, AGP Version: 7.4.2                                   │
      │                                                                             │
      │ Update gradle to at least "7.5".                                            │
      │ See the link below for more information:                                    │
      │ https://developer.android.com/studio/releases/gradle-plugin#updating-gradle │
      │                                                                             │
      │ Incompatible Java/Gradle versions.                                          │
      │                                                                             │
      │ Java Version: 17.0.6, Gradle Version: 7.0.2                                 │
      │                                                                             │
      │ See the link below for more information:                                    │
      │ https://docs.gradle.org/current/userguide/compatibility.html#java           │
      │                                                                             │
      └─────────────────────────────────────────────────────────────────────────────┘
      ```
      Example output if Java/Gradle/Agp are not compatible. 
      ```
      
      ┌─────────────────────────────────────────────────────────────────────────────┐
      │ General Info                                                                │
      │ [✓] App Name: espresso_example                                              │
      │ [✓] Supported Platforms: android                                            │
      │ [✓] Is Flutter Package: yes                                                 │
      │ [✓] Uses Material Design: yes                                               │
      │ [✓] Is Plugin: no                                                           │
      │ [✗] Java/Gradle/Android Gradle Plugin: Incompatible Gradle/AGP versions.    │
      │                                                                             │
      │ Gradle Version: 7.0.2, AGP Version: 7.4.2                                   │
      │                                                                             │
      │ Update gradle to at least "7.5".                                            │
      │ See the link below for more information:                                    │
      │ https://developer.android.com/studio/releases/gradle-plugin#updating-gradle │
      │                                                                             │
      │ Incompatible Java/Gradle versions.                                          │
      │                                                                             │
      │ Java Version: 17.0.6, Gradle Version: 7.0.2                                 │
      │                                                                             │
      │ See the link below for more information:                                    │
      │ https://docs.gradle.org/current/userguide/compatibility.html#java           │
      │                                                                             │
      └─────────────────────────────────────────────────────────────────────────────┘
      ```
      
      Commit messages
      - Add function to gradle_utils.dart that gets the gradle version from
      wrapper or system and add a test for each situation
      - Add method to get agp version, add method to validate agp against
      gradle version, update documentation, add tests for agp validation.
      - Update dart doc for validateGradleAndAgp to describe where the info
      came from and corner case behavior, create function to validate java and
      gradle and hardcode return to false
      - Fill out and test java gradle compatibility function in gradle_utils
      - Hook up java gradle evaluateion to hasValidJavaGradleAgpVersions with
      hardcoded java version
      - Add java --version output parsing and tests
      - Add getJavaBinary test
      - Update comment in android_sdk for mac behavior with java_home -v
      
      ## Pre-launch Checklist
      
      - [x] I read the [Contributor Guide] and followed the process outlined
      there for submitting PRs.
      - [x] I read the [Tree Hygiene] wiki page, which explains my
      responsibilities.
      - [x] I read and followed the [Flutter Style Guide], including [Features
      we expect every widget to implement].
      - [x] I signed the [CLA].
      - [x] I listed at least one issue that this PR fixes in the description
      above.
      - [x] I updated/added relevant documentation (doc comments with `///`).
      - [x] I added new tests to check the change I am making, or this PR is
      [test-exempt].
      - [ ] All existing and new tests are passing.
      Unverified
      2383400f
  16. 23 Jan, 2023 1 commit
  17. 20 Dec, 2022 1 commit
  18. 21 Nov, 2022 1 commit
  19. 15 Aug, 2022 1 commit
  20. 29 Jul, 2022 1 commit
  21. 27 Jul, 2022 3 commits
  22. 26 Jul, 2022 2 commits
  23. 25 Jul, 2022 1 commit
  24. 19 Apr, 2022 1 commit
  25. 13 Apr, 2022 2 commits
  26. 07 Apr, 2022 1 commit
  27. 31 Mar, 2022 1 commit
  28. 16 Dec, 2021 1 commit
  29. 15 Dec, 2021 1 commit
  30. 02 Nov, 2021 1 commit
  31. 08 Oct, 2021 1 commit
    • Zachary Anderson's avatar
      Revert gradle roll (#91459) · 5188df08
      Zachary Anderson authored
      * Revert "Mark last failing test after gradle update as flaky. (#91423)"
      
      This reverts commit 46a52d03.
      
      * Revert "fix android template for Gradle 7 (#91411)"
      
      This reverts commit 51d06d53.
      
      * Revert "Add explicit version for mac and windows openjdk. (#91408)"
      
      This reverts commit bf429f27.
      
      * Revert "Update the openjdk version used by linux android tests. (#91405)"
      
      This reverts commit 2144ab8b.
      
      * Revert "Migrate to Gradle 7.0.2 / AGP 7.0.1 (#90642)"
      
      This reverts commit b6459f9b.
      Unverified
      5188df08
  32. 07 Oct, 2021 1 commit
  33. 03 Jun, 2021 1 commit