i have multi project set-up few java sub-projects. have top level task distribute whole lot, example "buildall", gathers every jar every sub-project, including third-party dependencies. have far like:
task buildall(type: copy) { destinationdir = file("$rootproject.builddir/") project.subprojects.each { p -> from(p.jar) { into("projects/${p.name}") } (p.configurations.runtime) { exclude "**/project/**" //<- not work into("projects/${p.name}/lib") } } }
this works fine, creates folder name of every project under "build/projects" folder , includes jars (projects , third-party), sub-projects have project dependencies between them, example project depends on project b. task project b jar , put under "projecta/lib" folder.
-- build/ ------ projects/ ----------- projecta/ ---------------- projecta.jar ---------------- lib/ ------------------- guava.jar ------------------- projectb.jar <-- don't want here ----------- projectb/ ---------------- projectb.jar ---------------- lib/
is there way of filtering this?
i have tried exclude or include, seems gradle ignore them or object checking not expected one.