On Fri, Aug 1, 2014 at 5:18 AM, Szczepan Faber <szcze...@gmail.com> wrote:

>
>  b) I would add some higher level api that would use a). For example:
>
>  dependencies {
>    components {
>
>  
> modules("com.google.collections:google-collections").deprecatedBy("com.google.guava:guava")
>      //or replacedBy(), supersededBy()
>    }
>  }
>
> Thoughts?
>
>
We're designing a similar DSL for targeting version-selection rules to a
particular module or set of modules (
https://github.com/gradle/gradle/blob/master/design-docs/component-metadata.md#story-build-script-targets-versionselection-rule-to-particular-module
).

I'm not sold on that DSL, but we do need a way to say "this block applies
to _all_ modules".

I guess we can either choose to use a string-based selector for choosing
the modules that apply:

dependencies {
    components/versions/some-other-rule-type {
        modules('*') {
        }
        modules('com.google.guava:*') {
        }
        modules('com.google.guava:guava') {
        }
    }

Or use explicit parameters:

dependencies {
    components/versions/some-other-rule-type {
        allModules {
        }
        group('com.google.guava') {
        }
        group('com.google.guave').name('guava') {
        }
    }

I think I prefer the first approach. But we should definitely aim for
consistency here.
-- 

Darrell (Daz) DeBoer
http://www.gradleware.com

Reply via email to