Skip to content

Instantly share code, notes, and snippets.

View janhenrik's full-sized avatar

Jan Henrik Gundelsby janhenrik

View GitHub Profile
@janhenrik
janhenrik / gist:2721465
Created May 17, 2012 20:39 — forked from malclocke/gist:943565
delete all remote branches that have already been merged into master
$ git branch -r --merged |
awk -F'/' '/^ *origin/{if(!match($0, /(>|master)/)){print $2}}' |
xargs git push origin --delete
@janhenrik
janhenrik / mvnrelease.md
Created September 17, 2012 05:29
Maven release med Ruby

Maven release med Ruby

Mange av oss bruker Maven for å bygge, versjonere og holde styr på avhengigheter både til eksterne biblioteker og egne. Maven har også en release plugin som er Mavens forsøk på å standardisere en release-prosess, og det gjør den i tre faser over flere steg.

Innføring av denne i vårt prosjekt bød på flere problemer. Prosjektet vårt har en del andre krav enn det Maven release-pluginen forventer. Vi bruker git istedet for subversion, vi har standardiserte måter å versjonere komponenter på, slik at neste versjon alltid kan utledes av fo

@janhenrik
janhenrik / clean_wd.rb
Created September 20, 2012 09:39
clean_wd
def clean_wd?
`git status --porcelain -- . | wc -l`.strip == "0"
end
@janhenrik
janhenrik / snapshot_deps.rb
Created September 20, 2012 10:50
snapshot_deps
def snapshot_dependencies?
self.search('dependency').each do |dep|
dep.search('version').each do |ver|
if ver.content =~ /SNAPSHOT/i
raise("Prosjektet #{artifactId} har SNAPSHOT avhengigheter

 i artifact: #{artifactIdForDep(dep)}-#{ver.content}")
end
end
end
@janhenrik
janhenrik / neste_snapshot.rb
Created September 20, 2012 10:50
neste_snapshot
def neste_snapshot release_version
versionsnummer = release_version.split('.')
major = versionsnummer[0].to_i
minor = versionsnummer[1].to_i
patch = versionsnummer[2].to_i
if patch == 0
return "#{major}.#{minor+1}.0"
else
return "#{major}.#{minor}.#{patch+1}"
@janhenrik
janhenrik / mvn_success.rb
Created September 20, 2012 10:51
mvn_success
mvn_success = system("mvn -U clean package >> /tmp/mvn_build")
unless mvn_success
raise("Build failure")
end
@janhenrik
janhenrik / git_commit.rb
Created September 20, 2012 10:52
git_commit
`git commit pom.xml */pom.xml -m "[release.rb] Release ny versjon av

 #{super_pom.artifactId}-#{release_version}"`
@janhenrik
janhenrik / tag_code.rb
Created September 20, 2012 10:52
tag_code
unless system("git tag -f #{super_pom.artifactId}-#{release_version}")
raise("Could not create tag.")
end
@janhenrik
janhenrik / neste_release.rb
Created September 20, 2012 10:53
neste_release
def neste_release version
versionsnummer = version.split('.')
major = versionsnummer[0].to_i
minor = versionsnummer[1].to_i
return "#{major}.#{minor+1}.0-SNAPSHOT"
end
@janhenrik
janhenrik / ny_utv.rb
Created September 20, 2012 10:53
ny_utv
puts "Sjekker inn ny utviklingsversjon"
`git commit pom.xml */pom.xml -m "[release.rb] Ny utviklingsversjon av #{super_pom.artifactId}-#{snapshot_version}"`
puts "Pusher til sentralt git repository."
`git push --tags && git push origin #{current_branch}`