manifestprinter

Showcases different ways of writing backwards-compatible Gradle plugins.

APACHE-2.0 License

Stars
5

manifestprinter

This project showcases different ways of writing backwards-compatible Gradle plugins. It accompanies a talk held at droidcon Berlin 2022, you can find the slides for this talk on Speaker Deck.

common

Shows how we can find out the version of a dependency (like the Android Gradle plugin) that has been resolved at runtime.

fixture

Shows how we can test our plugins against multiple Android Gradle plugin versions.

sample-groovy

Shows how a dynamically typed language like Groovy can be used to write code that is compatible with multiple Android Gradle plugin versions.

sample-multiversion

Shows how we can set up a Gradle project to compile against multiple Android Gradle plugin versions, so we can write typesafe code that is compatible across multiple Android Gradle plugin versions.

sample-reflection

Shows how reflection can be used to write code that is compatible with multiple Android Gradle plugin versions.

sample-shadow

Shows how third-party dependencies can be repackaged and shipped with Gradle plugins to avoid clashes and version inconsistencies for users.

License

Copyright 2022 Simon Schiller

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.