Hi Adam,
thanks for these ideas.
If I understand correctly, these seem to depend on changing the current
directory to pick up a project that specifies the projects to run.  What I'm
after is being able to run different subprojects within a Hudson CI build,
just by changing a property.  Is there an idiom to support that approach?
Cheers
Dan


On 13 January 2011 21:45, Adam Murdoch <[email protected]> wrote:

>
> On 12/01/2011, at 8:48 PM, Dan Haywood wrote:
>
> As I understand it, settings.gradle must list all projects in a
> multi-project build.
>
> What I'd like is something like a Maven profile so that I can use an env
> var to run different subsets of this multiproject.
>
> eg, in settings.gradle:
> projectA1
> projectA2
> projectB1
> projectB2
>
> so that gradle build -D projectGroup=A (say) would just build projectA1,
> projectA2.
>
> Is there a common idiom for this?
>
>
> I think there's a few approaches you could take:
>
> 1. Have code in settings.gradle to conditionally include the projects you
> want to build.
>
> 2. Keep all the projects in settings.gradle, and arrange them in a
> hierarchy to group them. Then, in the grouping projects, you can do
> something like:
>
> task clean { dependsOn subprojects.clean  }
> task assemble { dependsOn subprojects.assemble }
>
> This way, you can run, say, 'gradle someGroup:assemble' to assemble all the
> subprojects of 'someGroup'
>
> 3. Similar to 2. above, but use sibling projects to do the grouping
> instead. In the grouping projects, you can do something like:
>
> def projects = [project(':projectA'), project(':projectB')]
>
> task clean { dependsOn projects.clean }
>
> etc.
>
> Personally, I would go with either option 2, or 3, depending on the meaning
> of the groups that you have.
>
> For options 2 and 3, you can package up the logic into a plugin. In fact,
> we do plan to add an 'aggregate project' plugin at some point, which will
> solve this kind of problem.
>
>
> --
> Adam Murdoch
> Gradle Developer
> http://www.gradle.org
> CTO, Gradle Inc. - Gradle Training, Support, Consulting
> http://www.gradle.biz
>
>

Reply via email to