kpm 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/kpm/base_artifact.rb +5 -0
- data/lib/kpm/installer.rb +24 -2
- data/lib/kpm/utils.rb +3 -3
- data/lib/kpm/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3d5ca5c072ac36556d07be40f72f57095c0f9117
|
4
|
+
data.tar.gz: a86dc79c2b6560fdb6090eb5b3ffb2a23452db2d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 518eb5300bef6175b10e414830ed73fb339dd03d61705d6007e60aed3f0e19b6948d185706c8f79de2da653f229d880ba99adb6f993da943976eb9b1cac1d0de
|
7
|
+
data.tar.gz: e15d1dd9571d85927713032cdf1d90e0825e28eafe27653de3d39ae58782d4da12a24ababbcf8d19a80ff874a5c99a80667d13418b5e4caebcd485d3701b2c9c
|
data/lib/kpm/base_artifact.rb
CHANGED
@@ -7,6 +7,11 @@ module KPM
|
|
7
7
|
KILLBILL_JAVA_PLUGIN_GROUP_ID = 'org.kill-bill.billing.plugin.java'
|
8
8
|
KILLBILL_RUBY_PLUGIN_GROUP_ID = 'org.kill-bill.billing.plugin.ruby'
|
9
9
|
|
10
|
+
def pull(group_id, artifact_id, packaging='jar', version='LATEST', destination=nil, overrides={}, ssl_verify=true)
|
11
|
+
coordinates = "#{group_id}:#{artifact_id}:#{packaging}:#{version}"
|
12
|
+
nexus_remote(overrides, ssl_verify).pull_artifact(coordinates, destination)
|
13
|
+
end
|
14
|
+
|
10
15
|
def nexus_remote(overrides={}, ssl_verify=true)
|
11
16
|
nexus_remote ||= NexusCli::RemoteFactory.create(nexus_defaults.merge(overrides || {}), ssl_verify)
|
12
17
|
end
|
data/lib/kpm/installer.rb
CHANGED
@@ -24,6 +24,7 @@ module KPM
|
|
24
24
|
def install
|
25
25
|
install_killbill_server
|
26
26
|
install_plugins
|
27
|
+
install_default_bundles
|
27
28
|
end
|
28
29
|
|
29
30
|
private
|
@@ -75,9 +76,30 @@ module KPM
|
|
75
76
|
@logger.info "Installing Kill Bill Ruby plugin #{artifact_id} #{version} to #{destination}"
|
76
77
|
archive = KillbillPluginArtifact.pull(artifact_id, version, :ruby, destination, @config['nexus'], @config['nexus']['ssl_verify'])
|
77
78
|
|
78
|
-
Utils.unpack_tgz(archive[:file_path], destination)
|
79
|
+
Utils.unpack_tgz(archive[:file_path], destination, true)
|
79
80
|
FileUtils.rm archive[:file_path]
|
80
81
|
end
|
81
82
|
end
|
83
|
+
|
84
|
+
def install_default_bundles
|
85
|
+
return if @config['default_bundles'] == false
|
86
|
+
|
87
|
+
group_id = 'org.kill-bill.billing'
|
88
|
+
artifact_id = 'killbill-osgi-bundles-defaultbundles'
|
89
|
+
packaging = 'tar.gz'
|
90
|
+
version = @config['version'] || LATEST_VERSION
|
91
|
+
destination = "#{@config['plugins_dir']}/platform"
|
92
|
+
|
93
|
+
FileUtils.mkdir_p(destination)
|
94
|
+
|
95
|
+
@logger.info "Installing Kill Bill #{artifact_id} #{version} to #{destination}"
|
96
|
+
archive = BaseArtifact.pull(group_id, artifact_id, packaging, version, destination, @config['nexus'], @config['nexus']['ssl_verify'])
|
97
|
+
|
98
|
+
Utils.unpack_tgz(archive[:file_path], destination)
|
99
|
+
FileUtils.rm archive[:file_path]
|
100
|
+
|
101
|
+
# The special JRuby bundle needs to be called jruby.jar
|
102
|
+
File.rename Dir.glob("#{destination}/killbill-osgi-bundles-jruby-*.jar").first, "#{destination}/jruby.jar"
|
103
|
+
end
|
82
104
|
end
|
83
|
-
end
|
105
|
+
end
|
data/lib/kpm/utils.rb
CHANGED
@@ -7,15 +7,15 @@ module KPM
|
|
7
7
|
class << self
|
8
8
|
TAR_LONGLINK = '././@LongLink'
|
9
9
|
|
10
|
-
def unpack_tgz(tar_gz_archive, destination)
|
10
|
+
def unpack_tgz(tar_gz_archive, destination, skip_top_dir=false)
|
11
11
|
Gem::Package::TarReader.new(Zlib::GzipReader.open(tar_gz_archive)) do |tar|
|
12
12
|
dest = nil
|
13
13
|
tar.each do |entry|
|
14
14
|
if entry.full_name == TAR_LONGLINK
|
15
|
-
dest = File.join destination, path_with_skipped_top_level_dir(entry.read.strip)
|
15
|
+
dest = File.join destination, skip_top_dir ? path_with_skipped_top_level_dir(entry.read.strip) : entry.read.strip
|
16
16
|
next
|
17
17
|
end
|
18
|
-
dest ||= File.join destination, path_with_skipped_top_level_dir(entry.full_name)
|
18
|
+
dest ||= File.join destination, skip_top_dir ? path_with_skipped_top_level_dir(entry.full_name) : entry.full_name
|
19
19
|
|
20
20
|
if entry.directory?
|
21
21
|
File.delete dest if File.file? dest
|
data/lib/kpm/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kill Bill core team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|