- you need an account on oss.sonatype.org and permissions for group id org.eclipse.jgit, see [1] - install ruby [2] if necessary - run download.rb to download the Maven artifacts from repo.eclipse.org - then run deploy.rb to stage the artifacts on oss.sonatype.org - follow [3] to close the staging repository which triggers some sanity checks on Nexus - ask community to test artifacts from staging repository - if tests are ok release the staging repository as described in [4] [1] https://issues.sonatype.org/browse/OSSRH-2758 [2] https://www.ruby-lang.org/en/downloads/ [3] https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-7b.StageExistingArtifacts [4] https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Usage+Guide#SonatypeOSSMavenRepositoryUsageGuide-8a.ReleaseIt Change-Id: I830f2392b9234e585b01dbb4a5a369edd88796a2 Signed-off-by: Matthias Sohn <matthias.sohn@sap.com>tags/v3.2.0.201311130903-m3
#!/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 = '3.1.0.201310021548-r'.freeze | |||||
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 + '.console', | |||||
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) |
#!/usr/bin/env ruby | |||||
version = '3.1.0.201310021548-r'.freeze | |||||
group = 'org.eclipse.jgit' | |||||
artifacts = [group, | |||||
group + '.ant', | |||||
group + '.archive', | |||||
group + '.console', | |||||
group + '.http.server', | |||||
group + '.java7', | |||||
group + '.junit', | |||||
group + '.junit.http', | |||||
group + '.pgm', | |||||
group + '.ui'] | |||||
puts 'Deleting current files' | |||||
`rm -fr *.jar *.sh *.pom` | |||||
puts 'Downloading org.eclipse.jgit-parent' | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{group}-parent/#{version}/#{group}-parent-#{version}.pom -o #{group}-parent-#{version}.pom` | |||||
artifacts.each {|artifact| | |||||
puts "Downloading #{artifact}-#{version}.jar" | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{artifact}/#{version}/#{artifact}-#{version}.jar -o #{artifact}-#{version}.jar` | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{artifact}/#{version}/#{artifact}-#{version}.pom -o #{artifact}-#{version}.pom` | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{artifact}/#{version}/#{artifact}-#{version}-javadoc.jar -o #{artifact}-#{version}-javadoc.jar` | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{artifact}/#{version}/#{artifact}-#{version}-sources.jar -o #{artifact}-#{version}-sources.jar` | |||||
} | |||||
puts "Downloading org.eclipse.jgit.pgm-#{version}.sh" | |||||
`curl -s https://repo.eclipse.org/content/repositories/jgit-releases/org/eclipse/jgit/#{group}.pgm/#{version}/#{group}.pgm-#{version}.sh -o #{group}.pgm-#{version}.sh` |