[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