123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- #!/usr/bin/env ruby
- require 'rubygems'
- require 'highline/import'
-
- def run(args)
- system(*args)
- end
-
- def deploy_jar(artifact, version, prefix)
- pom = "#{artifact}-#{version}.pom"
- binary = "#{artifact}-#{version}.jar"
- javadoc = "#{artifact}-#{version}-javadoc.jar"
- sources = "#{artifact}-#{version}-sources.jar"
-
- run prefix + ["-DpomFile=#{pom}", "-Dfile=#{binary}"]
- run prefix + ["-DpomFile=#{pom}", "-Dfile=#{sources}",
- "-Dclassifier=sources"]
- run prefix + ["-DpomFile=#{pom}", "-Dfile=#{javadoc}",
- "-Dclassifier=javadoc"]
- end
-
- def deploy_parent(version, prefix)
- pom = "org.eclipse.jgit-parent-#{version}.pom"
- run prefix + ["-DpomFile=#{pom}", "-Dfile=#{pom}"]
- end
-
- def deploy_sh(artifact, version, prefix)
- pom = "#{artifact}-#{version}.pom"
- sh = "#{artifact}-#{version}.sh"
- run prefix + ["-DpomFile=#{pom}", "-Dfile=#{sh}", "-Dpackaging=sh"]
- end
-
- def get_passphrase(prompt="Enter your GPG Passphrase")
- ask(prompt) {|q| q.echo = false}
- end
-
- version = ARGV[0].freeze
- if version =~ /\A(\d+\.\d+\.\d+)\.(\d{12})-(m\d|rc\d|r)\Z/
- printf "version %s qualifier %s classifier %s\n", $1, $2, $3
- else
- printf "invalid version %s\n", version
- abort
- end
-
- url = 'https://oss.sonatype.org/service/local/staging/deploy/maven2/'
- repositoryId = 'sonatype-nexus-staging'
- puts "gpg passphrase ?"
- passphrase = get_passphrase()
-
- group = 'org.eclipse.jgit'
- artifacts = [group,
- group + '.ant',
- group + '.archive',
- group + '.http.apache',
- group + '.http.server',
- group + '.junit',
- group + '.junit.http',
- group + '.lfs',
- group + '.lfs.server',
- group + '.pgm',
- group + '.ui']
-
- prefix = ["mvn", "gpg:sign-and-deploy-file", "-Dgpg.passphrase=#{passphrase}",
- "-Durl=#{url}", "-DrepositoryId=#{repositoryId}"]
- deploy_parent(version, prefix)
- artifacts.each do |artifact|
- deploy_jar(artifact, version, prefix)
- end
- deploy_sh('org.eclipse.jgit.pgm', version, prefix)
|