I wonder what is the best way to organize Gradle builds, given that
we have a multiproject with sub projects, resulting into simple jars (ok, this is simple, and I got it),
we have to produce different end artefacts for deployment (Zip, WAR, Tar, etc) for different runtime nodes (Rich Client, Web Servers, standalone Java Servers, standalone console clients), assembling jars and configuration files,
where each build is a customer specific build, i.e.: 80-90% of the produced jars are customer agnostic jars, but the rest are customer specific jars, and the end artefact have customer specific configuration files and use different 3rd party libraries.
Is Gradle’s “configuration” concept the way to organize such a build structure?
How do I tell Gradle which customer specific build it should process?
How do I define a WAR / a ZIP / a TAR configuration which respects these customer specific definitions?
Please, can you suggest some outline?