Hi all,
**If you are actively working on build_rules.gradle then I want to
coordinate with you**
*If you are not interested in Gradle build configs, you can stop reading*
I've hit some issues with dependency handling in build_rules.gradle that I
think are best resolved by migrating it from being a "script plugin" [1] to
a "binary plugin" [2].
Concretely, instead of this file layout and invocation:
build_rules.gradle
apply from: project(":")
it is a (hopefully simple) migration to this one:
buildSrc/.../BeamModule.groovy # same logical content as
build_rules.gradle
apply plugin: org.apache.beam.gradle.BeamModule
This sort of migration seems to be the expected/recommended thing to do
when a script plugin "grows up". And it isn't actually more work - the
contents of the file remain nearly identical (slightly more clear,
actually). So, first I want to just migrate from one to the other to
resolve my dependency issues. Then it probably makes sense to convert each
"nature" to a plugin, and perhaps more. It opens up a lot of cleaner
engineering around this growing pile of functionality.
Kenn
[1]
https://docs.gradle.org/current/userguide/plugins.html#sec:script_plugins
[2]
https://docs.gradle.org/current/userguide/plugins.html#sec:binary_plugins