class Maven
Public Class Methods
new(url)
click to toggle source
# File lib/crapapult.rb, line 12 def initialize(url) @url = url.gsub(/\/$/, '') @session = Patron::Session.new @session.timeout = 10 @session.base_url = @url end
Public Instance Methods
find_release_versions(group_id, artifact_id)
click to toggle source
# File lib/crapapult.rb, line 28 def find_release_versions(group_id, artifact_id) find_versions(group_id, artifact_id).select { |v| v !~ /SNAPSHOT$/ } end
find_snapshot_builds(group_id, artifact_id, version)
click to toggle source
# File lib/crapapult.rb, line 32 def find_snapshot_builds(group_id, artifact_id, version) resp = @session.get("/#{urlify(group_id)}/#{artifact_id}/#{version}/maven-metadata.xml") if resp.status == 200 Nokogiri::XML(resp.body).css('metadata > versioning > snapshotVersions').map { |e| ext = e.at("extension") if ext && ext.text.strip == "jar" e.at("value").text.strip else [] end }.flatten else raise "unable to find metadata for #{group_id}:#{artifact_id}:#{version}" end end
find_versions(group_id, artifact_id)
click to toggle source
# File lib/crapapult.rb, line 19 def find_versions(group_id, artifact_id) resp = @session.get("/#{urlify(group_id)}/#{artifact_id}/maven-metadata.xml") if resp.status == 200 Nokogiri::XML(resp.body).css("metadata versioning versions version").map { |e| e.text.strip } else raise "unable to find metadata for #{group_id}:#{artifact_id}" end end
release_artifact_url(group_id, artifact_id, version)
click to toggle source
# File lib/crapapult.rb, line 48 def release_artifact_url(group_id, artifact_id, version) "#{@url}/#{urlify(group_id)}/#{artifact_id}/#{version}/#{artifact_id}-#{version}.jar" end
snapshot_artifact_url(group_id, artifact_id, version, build)
click to toggle source
# File lib/crapapult.rb, line 52 def snapshot_artifact_url(group_id, artifact_id, version, build) "#{@url}/#{urlify(group_id)}/#{artifact_id}/#{version}/#{artifact_id}-#{build}.jar" end
Private Instance Methods
urlify(group_id)
click to toggle source
# File lib/crapapult.rb, line 58 def urlify(group_id) group_id.gsub('.', '/') end