👇 click thumbnail to watch video
What are Features (aka Feature Variants) in Java projects and how are they empowered by variant-aware dependency management?
This sample is best explored in IntelliJ IDEA.
Open 17_Feature_Variants/my-project
in IDEA and confirm with Trust Project.
Each video only scratches the surfaces of the features shown. This is on purpose to give you a general understanding of how things work in Gradle. This understanding enables you to structure your project in a readable and maintainable way.
More details on each feature covered in this video can be found in the Gradle User Manual. The Manual, however, is very detailed on all kinds of topics and also contains information on legacy features (it's not always clear which these are).
To help you find the right places, here are some deep links into the Manual on the topics discussed in the video:
- Feature Variants and Optional Dependencies
- Configurations of the Java Library plugin
- Source Sets added by the Java Plugin
- Declaring dependencies / What are Configurations?
- Understanding Variant Selection
- Variant Attributes
Contact me, if you need help with Gradle: onepiece.Software.