[Hawkular-dev] Maven, Continuous and Reproducible

Peter Palaga ppalaga at redhat.com
Fri Sep 4 16:21:51 EDT 2015


I released the version 0.0.1 of srcdeps-maven-plugin and I started using 
it in agent [1][2] to be able to reliably depend on the new and so far 
unreleased hawkular-command-gateway artifacts. -- P

[1] 
https://github.com/ppalaga/hawkular-agent/commit/81f66c2867bce5f3f70a04324bc2259fd5aebcdb#diff-600376dffeb79835ede4a0b285078036R54

[2] 
https://github.com/ppalaga/hawkular-agent/commit/81f66c2867bce5f3f70a04324bc2259fd5aebcdb#diff-600376dffeb79835ede4a0b285078036R217

On 2015-08-23 11:31, Peter Palaga wrote:
> 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
>>
>
> _______________________________________________
> 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