Hi Hans & all ...

On Mon, Jan 12, 2009 at 8:19 PM, Hans Dockter <[email protected]> wrote:
>
> On Jan 12, 2009, at 6:31 PM, Niko Schmuck wrote:
>> ... for a project layout like this ...
>>
>> - F build.gradle
>> - D projectA
>>  - F build.gradle (declares dependencies for A)
>> - D projectB
>>  - F build.gradle (declares dependencies for B)
>>
>> Is it possible to aggregate all dependencies from subprojects in the
>> parent project?
>> So that one can create a distro zip with all the referenced libs from
>> both projects (using mavenRepo) in the parent build.grade.
>
> No problem. In the parent project you can for example say:
>
> allLibs = subprojects.collect { subproject ->
> subproject.dependencies.runtime.resolve()) }.flatten()
>
> I think this should work. Anyway, with subprojects you get a set of all
> subprojects.

Yep, I knew that there is a very obvious solution here ;-)
To avoid duplicate entries I removed them by using unique on the
resulting collection:

allLibs = subprojects.collect { subproject ->
subproject.dependencies.runtime.resolve() }.flatten().unique()


>> PS: On a side note, I had no luck with the (ant seems to ignore files
>> declaration)
>> createTask('dist') {
>>  ant.zip(destfile: 'foobar.zip') {
>>   files(includes: dependencies.resolve("runtime").join(','))
>>  }
>> }
>
> I have no idea right now what the Ant problem is here. Why don't you use the
> Gradle archive methods:
>
> dists {
>        zip() {
>                files(dependencies.resolve("runtime"))
>        }
> }

Unfortunately this is not working for me (using Gradle 0.5.2)

A problem occurred evaluating project :.
       at 
org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:511)
       at 
org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:42)
       at 
org.gradle.configuration.BuildConfigurer$_closure1.doCall(BuildConfigurer.groovy:44)
       at $Proxy0.execute(Unknown Source)
       at 
org.gradle.api.internal.project.AbstractProject.applyActions(AbstractProject.java:476)
       at 
org.gradle.api.internal.project.AbstractProject.allprojects(AbstractProject.java:471)
       at 
org.gradle.configuration.BuildConfigurer.process(BuildConfigurer.groovy:51)
       at org.gradle.Gradle.runInternal(Gradle.java:115)
       at org.gradle.Gradle.run(Gradle.java:93)
       at org.gradle.Main.execute(Main.java:232)
       at org.gradle.Main.main(Main.java:77)
       at org.gradle.BootstrapMain.main(BootstrapMain.java:53)
Caused by: java.lang.ClassCastException: [Ljava.util.ArrayList;
       at 
org.gradle.api.tasks.bundling.AbstractArchiveTask.invokeMethod(AbstractArchiveTask.groovy)
       at build_gradle$_run_closure3_closure8.doCall(build_gradle:50)
       at build_gradle$_run_closure3_closure8.doCall(build_gradle)
       at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:42)
       at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:33)
       at org.gradle.api.internal.DefaultTask.configure(DefaultTask.groovy:55)
       at org.gradle.api.tasks.bundling.Bundle.createArchive(Bundle.java:87)
       at org.gradle.api.tasks.bundling.Bundle.zip(Bundle.java:165)
       at org.gradle.api.tasks.bundling.Bundle.zip(Bundle.java:161)
       at build_gradle$_run_closure3.doCall(build_gradle:49)
       at build_gradle$_run_closure3.doCall(build_gradle)
       at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:42)
       at org.gradle.util.ConfigureUtil.configure(ConfigureUtil.java:33)
       at org.gradle.api.internal.DefaultTask.configure(DefaultTask.groovy:55)
       at 
org.gradle.api.internal.project.DefaultProject.task(DefaultProject.groovy:156)
       at 
org.gradle.api.internal.project.DefaultProject.methodMissing(DefaultProject.groovy:102)
       at 
org.gradle.api.internal.project.DefaultProject.invokeMethod(DefaultProject.groovy)
       at 
org.gradle.groovy.scripts.DefaultProjectScriptMetaData$_applyMetaData_closure1.doCall(DefaultProjectScriptMetaData.groovy:34)
       at build_gradle.run(build_gradle:44)
       at 
org.gradle.api.internal.project.AbstractProject.evaluate(AbstractProject.java:507)
       ... 11 common frames omitted

This is somehow strange, since the resolve itself works fine (returns
an ArrayList of File objects), is this a problem with my ant version
(using 1.7.0) ?

Cheers,
Niko

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to