I’m switching from ivy/ant to gradle and I’m wondering how to archive the following.
I have 2 svn repositories with in total 100 java projects. The projects depend on each other directly or through transitive dependencies (so quite normal I guess). Currently the build.gradle files are single builds with external dependencies (resolved through an artifactory instance).
I have a Jenkins instance which I need to use for doing continous build (later continious delivery). Each jenkins job currently produces a jar or war file to an artifactory instance. A project build should trigger an upstream build but that’s not working as they’re all “individual projects” from the gradle perspective.
Developers must be able to check out and work with a single project (not sure if thats possible when I would use a multi project structure)
There are common configuration things which I want to share across projects (like versions, server urls,…)
My problems are:
A multiproject build wouldn’t give me the possibility to work on individual projects (or does it? If yes how?)
A composite build won’t give me the Jenkins functionality to trigger upstream builds and I’m not sure if transitive dependencies of projects are handled correctly.
How would you guys start to archive the goals?