Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Test multiple AGP versions #304

Closed
benjamin-bader opened this issue Jul 7, 2020 · 0 comments · Fixed by #329
Closed

Test multiple AGP versions #304

benjamin-bader opened this issue Jul 7, 2020 · 0 comments · Fixed by #329
Milestone

Comments

@benjamin-bader
Copy link
Collaborator

protobuf-gradle-plugin has a really nice-looking way to do this: https://github.com/gavra0/protobuf-gradle-plugin/blob/master/src/test/groovy/com/google/protobuf/gradle/ProtobufAndroidPluginTest.groovy#L19

Let's set up something similar to make sure the various applicators continue to function in the 2.0.0 world.

@benjamin-bader benjamin-bader added this to the 2.0.0 milestone Jul 7, 2020
benjamin-bader added a commit that referenced this issue Jul 21, 2020
This is a big'un. The TL;DR is that in essence, this PR splits the single "dexcount task" into "generate PackageTree" and "print to stdout" tasks. The former does the heavy lifting of cracking open APKs, AARs, etc, and writes the PackageTree (along with the summary, chart, and formatted outputs) to disk. This new task is cacheable.

The "print to stdout" task simply reads this intermediate tree and writes all the summaries, diagnostics, etc that one would expect. This task is not cacheable, and has no outputs - it'll run all the time, regardless of the build cache.

This PR is not adequately tested - I'll add tests covering older AGP versions when handling #304.

Fixes #316
benjamin-bader added a commit that referenced this issue Jul 29, 2020
Hat tip to @autonomousapps for providing more than a little inspiration.

At a high level, this PR:
- Adds a new `integrationTest` source-set and configuration
- Moves the existing `integration` project underneath that source set
- Adds TestKit-driven specs to build the integration project under various combinations of AGP and Gradle versions
- Bumps the minimum-supported Gradle version from 5.1 to 6.0
- Bumps the minimum-supported AGP version from 3.0.0 to 3.4.0

Along the way, it also:
- Consolidates the various .gradle files that we'd `apply from:`, centralizing all logic in the one `build.gradle` file
- Removes the legacy plugin-classpath assembly in favor of `GradleRunner#withPluginClasspath()`

Fixes #304
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant