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

Generic rules for build users #61

Closed
jjohannes opened this issue Jan 12, 2024 · 0 comments · Fixed by #64
Closed

Generic rules for build users #61

jjohannes opened this issue Jan 12, 2024 · 0 comments · Fixed by #64
Labels
a:enhancement New feature or request

Comments

@jjohannes
Copy link
Member

jjohannes commented Jan 12, 2024

Even if this plugin is used, sometimes users need to add their own rules. In certain cases, there is not the "one truth", but it depends on the usage context which things you want/need to adjust in the metadata for a library. This is clunky with vanilla Gradle if you want the rules to be @CacheableRule, as you need to create a separate class for each rule, instead of a "one-liner" in the build script.

If we are in Java/JVM projects, there are certain patterns for rules you usually need. This plugin could provide a parameterisable rule for each of these:

  1. Add a capability (to all variants)
  2. Add dependencies (to all variants)
  3. Remove dependencies (from all variants)
  4. Make a feature known (classifier Jar exists, but is not in the metadata)
  5. Add alignment constraints to all components of a library (related Alignment rules #22)
  6. Add native variants (libraries that publish multiple Jars for different target platforms - like Component rule for JavaFX components #57)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a:enhancement New feature or request
Projects
None yet
1 participant