Class: KPM::KillbillPluginArtifact

Inherits:
BaseArtifact show all
Defined in:
lib/kpm/killbill_plugin_artifact.rb

Constant Summary

Constants inherited from BaseArtifact

BaseArtifact::KAUI_ARTIFACT_ID, BaseArtifact::KAUI_CLASSIFIER, BaseArtifact::KAUI_GROUP_ID, BaseArtifact::KAUI_PACKAGING, BaseArtifact::KILLBILL_ARTIFACT_ID, BaseArtifact::KILLBILL_CLASSIFIER, BaseArtifact::KILLBILL_GROUP_ID, BaseArtifact::KILLBILL_JAVA_PLUGIN_CLASSIFIER, BaseArtifact::KILLBILL_JAVA_PLUGIN_GROUP_ID, BaseArtifact::KILLBILL_JAVA_PLUGIN_PACKAGING, BaseArtifact::KILLBILL_PACKAGING, BaseArtifact::KILLBILL_RUBY_PLUGIN_CLASSIFIER, BaseArtifact::KILLBILL_RUBY_PLUGIN_GROUP_ID, BaseArtifact::KILLBILL_RUBY_PLUGIN_PACKAGING, BaseArtifact::KILLPAY_ARTIFACT_ID, BaseArtifact::KILLPAY_CLASSIFIER, BaseArtifact::KILLPAY_PACKAGING

Class Method Summary collapse

Methods inherited from BaseArtifact

nexus_defaults, nexus_remote, pull_from_fs

Class Method Details

.pull(logger, group_id, artifact_id, packaging = 'jar', classifier = nil, version = 'LATEST', plugin_name = nil, destination_path = nil, sha1_file = nil, force_download = false, verify_sha1 = true, overrides = {}, ssl_verify = true) ⇒ Object



7
8
9
10
# File 'lib/kpm/killbill_plugin_artifact.rb', line 7

def pull(logger, group_id, artifact_id, packaging='jar', classifier=nil, version='LATEST', plugin_name=nil, destination_path=nil, sha1_file=nil, force_download=false, verify_sha1=true, overrides={}, ssl_verify=true)
  coordinate_map = {:group_id => group_id, :artifact_id => artifact_id, :packaging => packaging, :classifier => classifier, :version => version}
  pull_and_put_in_place(logger, coordinate_map, plugin_name, destination_path, is_ruby_plugin_and_should_skip_top_dir(group_id, artifact_id), sha1_file, force_download, verify_sha1, overrides, ssl_verify)
end

.versions(overrides = {}, ssl_verify = true) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/kpm/killbill_plugin_artifact.rb', line 12

def versions(overrides={}, ssl_verify=true)
  plugins = {:java => {}, :ruby => {}}

  nexus = nexus_remote(overrides, ssl_verify)

  [[:java, KPM::BaseArtifact::KILLBILL_JAVA_PLUGIN_GROUP_ID], [:ruby, KPM::BaseArtifact::KILLBILL_RUBY_PLUGIN_GROUP_ID]].each do |type_and_group_id|
    response = REXML::Document.new nexus.search_for_artifacts(type_and_group_id[1])
    response.elements.each('searchNGResponse/data/artifact') do |element|
      artifact_id                                = element.elements['artifactId'].text
      plugins[type_and_group_id[0]][artifact_id] ||= SortedSet.new
      plugins[type_and_group_id[0]][artifact_id] << element.elements['version'].text
    end
  end

  plugins
end