google / play-services-plugins

Plugins to help with using Google Play services SDK.
https://developers.google.com/android/guides/overview
Apache License 2.0
471 stars 138 forks source link

Make oss-licenses-plugin compatible with Gradle 7 #169

Closed caller9 closed 3 years ago

caller9 commented 3 years ago

This set of changes will make the tasks compatible with Gradle 7 as well as making the tasks cacheable. The largest change was to the DependencyTask class where a new @Input annotated method was created. This returns a serializable, sorted list from the set of direct dependencies for the app and any library projects.

Gradle 7 deprecation warnings were based on the use of a Groovy field instead of a property. Additionally, the previous @Input annotated field of configurations was not serializable so it could not be used as a key.

> Task :app:getDependencies
Type 'DependencyTask': field 'configurations' without corresponding getter has been annotated with @Input. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.
Type 'DependencyTask': field 'outputDir' without corresponding getter has been annotated with @OutputDirectory. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.
Type 'DependencyTask': field 'outputFile' without corresponding getter has been annotated with @OutputFile. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.

> Task :app:generateLicenses UP-TO-DATE
Type 'LicensesTask': field 'dependenciesJson' without corresponding getter has been annotated with @InputFile. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.
Type 'LicensesTask': field 'outputDir' without corresponding getter has been annotated with @OutputDirectory. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.
Type 'LicensesTask': field 'licenses' without corresponding getter has been annotated with @OutputFile. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.
Type 'LicensesTask': field 'licensesMetadata' without corresponding getter has been annotated with @OutputFile. This behaviour has been deprecated and is scheduled to be removed in Gradle 7.0. See https://docs.gradle.org/6.7.1/userguide/more_about_tasks.html#sec:up_to_date_checks for more details.

fixes #68, fixes #146, fixes #165, fixes #166

hardysim commented 3 years ago

Is there a release planned including this (when)?

caller9 commented 3 years ago

Is there a release planned including this (when)?

Release is coming this week barring any unforeseen issues.

caller9 commented 3 years ago

Version 0.10.3 is released https://developers.google.com/android/guides/releases#april_05_2021.