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

Reply via email to