Skip to content

Commit

Permalink
updated and added more maven tasks
Browse files Browse the repository at this point in the history
  • Loading branch information
mkristian committed Apr 2, 2014
1 parent e53ae10 commit 71bebef
Showing 1 changed file with 30 additions and 10 deletions.
40 changes: 30 additions & 10 deletions rakelib/maven.rake
@@ -1,3 +1,4 @@
#-*- mode: ruby -*-

require 'fileutils'

Expand All @@ -9,22 +10,41 @@ def maven_retrieve_pom_version
raise Errno::ENOENT.new "Cannot find project pom.xml"
end

def maven
unless @__maven__
require 'maven/ruby/maven'
@__maven__ = Maven::Ruby::Maven.new
@__maven__.embedded = true
end
@__maven__
rescue LoadError => e
warn 'make sure you have ruby-maven gem installed'
raise e
end

namespace :maven do

desc "Dump pom.xml files"
task :dump_poms do
maven.validate( '-Pall' )
end

desc "Set new version"
task :set_version => [:do_set_version, :dump_poms ]

task :do_set_version do
version = readline
version.strip!
File.open( '../VERSION', 'w' ) { |f| f.print version }
end

desc "Prepare for the release"
task :prepare_release do
system "mvn versions:set"
system "mvn clean install -Pall"
tree = File.expand_path(File.join(File.dirname(__FILE__), '..', 'target', 'tree.txt') )
FileUtils.mkdir_p( File.dirname( tree ) )
FileUtils.rm_f( tree )
system "mvn dependency:tree -Doutput=#{tree} -DappendOutput"
deps = File.read( tree )
raise "found SNAPSHOTS #{deps}" if deps.match 'SNAPSHOT'
task :prepare_release => :do_set_version do
maven.exec( :clean, :install, '-Prelease' )
end

desc "Deploy release and bump version"
task :deploy_release do
system "mvn clean deploy -Psonatype-oss-release,release"
system "mvn versions:set"
end
end

0 comments on commit 71bebef

Please sign in to comment.