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