[Hawkular-dev] Maven, Continuous and Reproducible
Peter Palaga
ppalaga at redhat.com
Sun Aug 23 05:31:59 EDT 2015
Status update:
* I got a positive feedback from Heiko, Juca and Jirka.
* I moved the repo under l2x6 GitHub org, (an incubator for my open
source projects) https://github.com/l2x6/srcdeps-maven-plugin
* I registered the project at Sonatype so that it can be released to
Maven Central https://issues.sonatype.org/browse/OSSRH-17256
* Waiting for somebody to try the plugin independently from me, I'd
eventually release after that
-- P
On 2015-08-19 21:36, Peter Palaga wrote:
> Hi *,
>
> I think I found a way how to make our process more continuous, while
> staying with stock Maven and Components in separate git repositories.
>
> The core of the idea is that we actually do not need to release the
> components because they are not our deliverables (yes, except for
> Metrics). If we were able to declare the dependencies using git
> revisions and build them on the fly, we could get rid of both SNAPSHOTS
> and releases.
>
> I have written srcdeps-maven-plugin [1] today that does exactly that:
> * It collects dependencies with versions matching
> {whatever}-SRC-{git-commit-hash}
> * It checks out {git-commit-hash} of their sources to
> ~/.m2/dependency-sources
> * It changes the version in the sources to
> {whatever}-SRC-{git-commit-hash}
> * Builds the artifacts and installs them to the local repository
> * All the above happens before the dependency resolution starts
> so it is fully transparent for the rest of Maven.
> * The -SRC- dependencies are build only if they are not found in local
> repository - so they prolong the build only when upgrading.
>
> How to try it out:
>
> #Make sure that you have maven 3.2.5 or newer:
> mvn -version
>
> # build the plugin
> cd ~/git
> git checkout https://github.com/l2x6/srcdeps-maven-plugin.git
> cd srcdeps-maven-plugin
> mvn clean install
>
> # build hawkular with the plugin
> cd ../hawkular
> git remote add ppalaga https://github.com/ppalaga/hawkular.git
> git fetch ppalaga
> git checkout -b 150819-srcdeps
> mvn clean install ...
>
> [1] https://github.com/ppalaga/srcdeps-maven-plugin
> _______________________________________________
> hawkular-dev mailing list
> hawkular-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hawkular-dev
>
More information about the hawkular-dev
mailing list