- 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
@@ -0,0 +1,61 @@ | |||
#!/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) |
@@ -0,0 +1,30 @@ | |||
#!/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` |