Scripts to publish jgit artifacts on Maven central
- 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>
This commit is contained in:
parent
46c839abd5
commit
8de3512890
|
@ -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`
|
Loading…
Reference in New Issue