We have a problem with every team publishing milestones on a nightly basis even if nothing has changed. We have many teams with many projects scattered throughout the world. They all kick off a build every night and publish milestones.
I originally had thought they should simply set up jenkins to only run the nightly milestone build if code had changed. However this isn’t good enough. It’s possible that a dependency might have changed and this may cause the manifest (OSGi) to change even though source code is identical. In this case we’d still want to publish.
My second idea was to write a plugin that downloaded the previous version of the artifact and see if there are any class file changes and any significant manifest changes (timestamps and version labels on the jar are not significant).
I was told about this experimental feature in gradle: http://www.gradle.org/docs/current/userguide/comparing_builds.html
would this address my issue?