| #!/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 + '.java7', | 
 |              group + '.junit', | 
 |              group + '.junit.http', | 
 |              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) |