The Artima Developer Community
Sponsored Link

Java Buzz Forum
Maven Git Flow Plugin for Better Releases

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Mathias Bogaert

Posts: 618
Nickname: pathos
Registered: Aug, 2003

Mathias Bogaert is a senior software architect at Intrasoft mainly doing projects for the EC.
Maven Git Flow Plugin for Better Releases Posted: May 21, 2013 5:22 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Mathias Bogaert.
Original Post: Maven Git Flow Plugin for Better Releases
Feed Title: Scuttlebutt
Feed URL: http://feeds.feedburner.com/AtlassianDeveloperBlog
Feed Description: tech gossip by mathias
Latest Java Buzz Posts
Latest Java Buzz Posts by Mathias Bogaert
Latest Posts From Scuttlebutt

Advertisement
What is JGit Flow and Why Do I Need a Maven Plugin? If you missed my other blog post, I recently release a Java library named jgit-flow that implements the git-flow branching and merging model introduced by Vincent Driessen in Java. My hope is that developers will use this library to integrate git-flow workflows inside of their Java apps, and to get the ball rolling, I thought I’d be the first integrator. If you read my other blog post, you’ll remember that although git-flow is really useful, trying to make it play nice with the maven-release-plugin (MRP) leaves a lot to be desired. In particular, some of the pitfalls of the maven-release-plugin in the context of git-flow are: MRP writes .backup and release.properties files to your working tree which are easily committed when they shouldn’t be MRP does a build in the prepare goal and a build in the perform goal causing tests to run 2 times MRP and git-flow both create tags leaving you with two tags if you forget to delete one of them If something goes wrong, MRP usually leaves you in a bad state and rollback doesn’t work most of the time So I figured the best plan of action was to write a specific plugin to enable git-flow style release workflows, and after a bit of twiddling, I’m pleased to bring you the JGit Flow Maven Plugin. Features While the plugin is primarily used to perform releases, it also provides full git-flow functionality including: starting a release – creates a release branch and updates pom(s) with release versions finishing a release – runs a maven build (deploy or install), merges the release branch, updates pom(s) with development versions starting a hotfix – creates a hotfix branch and updates pom(s) with hotfix versions finishing a hotfix – runs a maven build (deploy or install), merges the hotfix branch, updates pom(s) with previous versions starting a feature – creates a feature branch finishing a feature – merges the feature branch Differences with the Maven Release Plugin Although the maven-jgitflow-plugin is based on the maven-release-plugin, it does things a bit differently to provide a cleaner workflow… doesn’t create any .backup or release.properties files (or any other files in your working tree) makes all changes on branches. This means to “roll-back” you can simply delete the branch automatically copies any profiles (-P) and user-properties (-D) passed on the command line to the forked maven process when building doesn’t run site-deploy provides the ability to completely turn off maven deployment provides the ability to completely turn off remote pushes/tagging Only builds your project once in the finish goal. e.g. if you do release-start and release-finish together, your tests only run once Never clones your project to a temp folder auto tracks origin based on maven scm values if origin tracking is not already setup (I’m looking at you Bamboo!) master branch is always kept at the latest release version (not a SNAPSHOT) I’m hoping this plugin will help ease the [...]

Read: Maven Git Flow Plugin for Better Releases

Topic: What turns a good leader in an effective leader Previous Topic   Next Topic Topic: IntelliJ IDEA and Android Studio FAQ

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use