killbill-kpm 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +2 -0
- data/Gemfile.lock +5 -5
- data/VERSION +1 -1
- data/killbill-kpm.gemspec +2 -2
- data/lib/kpm/listener.rb +11 -31
- data/lib/kpm/plugins_installer.rb +16 -15
- data/pom.xml +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bf312eaaf52cbc0a4cd5fc3bdbbfaafa53e3dabe
|
4
|
+
data.tar.gz: 886adff6649f40aef3ba0a6a74126e860de27abd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3719f03224e15bd5a2132a1b8582af474c7e7f2e1dd55b73bf0e6bfd1f69d0b61182c2a673bd15acad4eb89885314d2a0676c31a8a74d9d322730c9af3179db8
|
7
|
+
data.tar.gz: f8bdf8c19542f90a695b242effca8cc2b47e7380bea9f9939709838366f436fe629f3489a9b4ab7eb52a9980a24c9dbcd9eb11eb09678a9c8c926b0a2bf73526
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
killbill-kpm (0.0.
|
5
|
-
killbill (~> 6.
|
6
|
-
kpm (~> 0.1)
|
4
|
+
killbill-kpm (0.0.3)
|
5
|
+
killbill (~> 6.5.0)
|
6
|
+
kpm (~> 0.1.2)
|
7
7
|
|
8
8
|
GEM
|
9
9
|
remote: https://rubygems.org/
|
@@ -30,12 +30,12 @@ GEM
|
|
30
30
|
json (1.8.3-java)
|
31
31
|
jsonpath (0.5.8)
|
32
32
|
multi_json
|
33
|
-
killbill (6.
|
33
|
+
killbill (6.5.0)
|
34
34
|
rack (>= 1.5.2)
|
35
35
|
sinatra (~> 1.3.4)
|
36
36
|
typhoeus (~> 0.6.9)
|
37
37
|
tzinfo (~> 1.2.0)
|
38
|
-
kpm (0.1.
|
38
|
+
kpm (0.1.2)
|
39
39
|
highline (~> 1.6.21)
|
40
40
|
nexus_cli (~> 4.1.0)
|
41
41
|
thor (~> 0.19.1)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.3
|
data/killbill-kpm.gemspec
CHANGED
@@ -22,8 +22,8 @@ Gem::Specification.new do |s|
|
|
22
22
|
|
23
23
|
s.rdoc_options << '--exclude' << '.'
|
24
24
|
|
25
|
-
s.add_dependency 'killbill', '~> 6.
|
26
|
-
s.add_dependency 'kpm', '~> 0.1'
|
25
|
+
s.add_dependency 'killbill', '~> 6.5.0'
|
26
|
+
s.add_dependency 'kpm', '~> 0.1.2'
|
27
27
|
|
28
28
|
s.add_development_dependency 'jbundler', '~> 0.4.3'
|
29
29
|
s.add_development_dependency 'rake', '>= 10.0.0'
|
data/lib/kpm/listener.rb
CHANGED
@@ -28,16 +28,14 @@ module KPM
|
|
28
28
|
|
29
29
|
@logger.info "Received #{event.event_type} event: service=#{service} command=#{command} event=#{event_json}"
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
})
|
31
|
+
# pluginKey is the only mandatory property
|
32
|
+
if event_json['pluginKey'].nil?
|
33
|
+
@logger.info("Cannot run #{command}: missing pluginKey property")
|
34
|
+
return false
|
35
|
+
end
|
37
36
|
|
38
37
|
handle_event(command,
|
39
|
-
|
40
|
-
properties['pluginName'],
|
38
|
+
event_json['pluginKey'],
|
41
39
|
properties['pluginArtifactId'],
|
42
40
|
properties['pluginVersion'],
|
43
41
|
properties['pluginGroupId'],
|
@@ -49,36 +47,18 @@ module KPM
|
|
49
47
|
|
50
48
|
private
|
51
49
|
|
52
|
-
|
53
|
-
|
54
|
-
# For installation we allow either to pass the pluginKey (entry in plugins_directory.yml), or the full pluginGroupId/pluginArtifactId/pluginVersion/pluginType
|
55
|
-
if command == 'INSTALL_PLUGIN'
|
56
|
-
if properties['pluginKey'].nil?
|
57
|
-
proc_validation.call(command, properties, 'pluginGroupId')
|
58
|
-
proc_validation.call(command, properties, 'pluginArtifactId')
|
59
|
-
proc_validation.call(command, properties, 'pluginVersion')
|
60
|
-
proc_validation.call(command, properties, 'pluginType')
|
61
|
-
end
|
62
|
-
return true
|
63
|
-
elsif command == 'UNINSTALL_PLUGIN'
|
64
|
-
proc_validation.call(command, properties, 'pluginName')
|
65
|
-
return true
|
66
|
-
end
|
67
|
-
end
|
68
|
-
|
69
|
-
def handle_event(command, plugin_key, plugin_name, artifact_id, version=nil, group_id=nil, packaging=nil, classifier=nil, type=nil, force_download=false)
|
70
|
-
@logger.info "handle_event command=#{command}, plugin_key=#{plugin_key}, plugin_name=#{plugin_name}, artifact_id=#{artifact_id}, version=#{version}, group_id=#{group_id}, packaging=#{packaging}, classifier=#{classifier}, type=#{type}, force_download=#{force_download}"
|
50
|
+
def handle_event(command, plugin_key, artifact_id, version=nil, group_id=nil, packaging=nil, classifier=nil, type=nil, force_download=false)
|
51
|
+
@logger.info "handle_event command=#{command}, plugin_key=#{plugin_key}, artifact_id=#{artifact_id}, version=#{version}, group_id=#{group_id}, packaging=#{packaging}, classifier=#{classifier}, type=#{type}, force_download=#{force_download}"
|
71
52
|
|
72
53
|
if command == 'INSTALL_PLUGIN'
|
73
|
-
|
74
|
-
::KPM::PluginsInstaller.instance.install(plugin_key_or_artifact_id, version, group_id, packaging, classifier, type, force_download)
|
54
|
+
::KPM::PluginsInstaller.instance.install(plugin_key, artifact_id, version, group_id, packaging, classifier, type, force_download)
|
75
55
|
elsif command == 'UNINSTALL_PLUGIN'
|
76
|
-
::KPM::PluginsInstaller.instance.uninstall(
|
56
|
+
::KPM::PluginsInstaller.instance.uninstall(plugin_key, version)
|
77
57
|
else
|
78
58
|
@logger.warn("Ignoring unsupported command #{command}")
|
79
59
|
end
|
80
60
|
rescue NexusCli::ArtifactNotFoundException
|
81
|
-
@logger.warn("Unable to #{command}
|
61
|
+
@logger.warn("Unable to #{command} for plugin_key=#{plugin_key}: artifact was not found in Nexus")
|
82
62
|
end
|
83
63
|
|
84
64
|
def properties_to_hash(properties)
|
@@ -21,33 +21,34 @@ module KPM
|
|
21
21
|
end
|
22
22
|
|
23
23
|
# If an earlier version of the plugin is installed, Kill Bill will only start the latest one (see org.killbill.billing.osgi.FileInstall)
|
24
|
-
def install(specified_artifact_id, specified_version=nil, specified_group_id=nil, specified_packaging=nil, specified_classifier=nil, specified_type=nil, force_download=false)
|
24
|
+
def install(plugin_key, specified_artifact_id, specified_version=nil, specified_group_id=nil, specified_packaging=nil, specified_classifier=nil, specified_type=nil, force_download=false)
|
25
25
|
@logger.info("Instructed to install artifact_id=#{specified_artifact_id} version=#{specified_version} group_id=#{specified_group_id} packaging=#{specified_packaging} classifier=#{specified_classifier} type=#{specified_type} force_download=#{force_download}")
|
26
|
-
info = @installer.install_plugin(specified_group_id, specified_artifact_id, specified_packaging, specified_classifier, specified_version, @bundles_dir, specified_type, force_download, @glob_config[:kpm][:verify_sha1])
|
26
|
+
info = @installer.install_plugin(plugin_key, specified_group_id, specified_artifact_id, specified_packaging, specified_classifier, specified_version, @bundles_dir, specified_type, force_download, @glob_config[:kpm][:verify_sha1])
|
27
27
|
if info.nil?
|
28
|
-
@logger.warn("Error during installation of plugin #{
|
28
|
+
@logger.warn("Error during installation of plugin #{specified_artifact_id}")
|
29
29
|
else
|
30
|
-
path = info[:bundle_dir]
|
31
|
-
notify_fs_change(path, :NEW_VERSION)
|
30
|
+
path = info[:bundle_dir] || info[:dir_name]
|
31
|
+
notify_fs_change(plugin_key, path, :NEW_VERSION)
|
32
32
|
end
|
33
33
|
info
|
34
34
|
end
|
35
35
|
|
36
|
-
def install_from_fs(
|
37
|
-
@logger.info("Instructed to install file_path=#{file_path}
|
38
|
-
info = @installer.install_plugin_from_fs(file_path,
|
36
|
+
def install_from_fs(plugin_key, file_path, version, type)
|
37
|
+
@logger.info("Instructed to install file_path=#{file_path} plugin_key=#{plugin_key} version=#{version} type=#{type}")
|
38
|
+
info = @installer.install_plugin_from_fs(plugin_key, file_path, plugin_key, version, @bundles_dir, type)
|
39
39
|
if info.nil?
|
40
|
-
@logger.warn("Error during installation of plugin #{
|
40
|
+
@logger.warn("Error during installation of plugin #{plugin_key}")
|
41
41
|
else
|
42
|
-
|
42
|
+
path = info[:bundle_dir] || info[:dir_name]
|
43
|
+
notify_fs_change(plugin_key, path, :NEW_VERSION)
|
43
44
|
end
|
44
45
|
info
|
45
46
|
end
|
46
47
|
|
47
|
-
def uninstall(
|
48
|
-
modified = @
|
48
|
+
def uninstall(plugin_key, version=nil)
|
49
|
+
modified = @installer.uninstall_plugin(plugin_key, version || :all, @bundles_dir)
|
49
50
|
modified.each do |path|
|
50
|
-
notify_fs_change(path, :DISABLED)
|
51
|
+
notify_fs_change(plugin_key, path, :DISABLED)
|
51
52
|
end
|
52
53
|
end
|
53
54
|
|
@@ -65,7 +66,7 @@ module KPM
|
|
65
66
|
|
66
67
|
private
|
67
68
|
|
68
|
-
def notify_fs_change(path, state)
|
69
|
+
def notify_fs_change(plugin_key, path, state)
|
69
70
|
return if path.nil?
|
70
71
|
|
71
72
|
# Plugin name should be the directory name (path is something like /var/tmp/bundles/plugins/ruby/killbill-stripe/2.0.0)
|
@@ -85,7 +86,7 @@ module KPM
|
|
85
86
|
plugin_name = fs_info[-2]
|
86
87
|
plugin_version = fs_info[-1]
|
87
88
|
@logger.info("Notifying Kill Bill: state=#{state} plugin_name=#{plugin_name} plugin_version=#{plugin_version} plugin_type=#{plugin_type}")
|
88
|
-
@kb_apis.plugins_info_api.notify_of_state_changed(state, plugin_name, plugin_version, plugin_type)
|
89
|
+
@kb_apis.plugins_info_api.notify_of_state_changed(state, plugin_key, plugin_name, plugin_version, plugin_type)
|
89
90
|
end
|
90
91
|
|
91
92
|
def configure!(config_file)
|
data/pom.xml
CHANGED
@@ -25,7 +25,7 @@
|
|
25
25
|
<groupId>org.kill-bill.billing.plugin.ruby</groupId>
|
26
26
|
<artifactId>kpm-plugin</artifactId>
|
27
27
|
<packaging>pom</packaging>
|
28
|
-
<version>0.0.
|
28
|
+
<version>0.0.3</version>
|
29
29
|
<name>kpm-plugin</name>
|
30
30
|
<url>http://github.com/killbill/killbill-kpm-plugin</url>
|
31
31
|
<description>Kill Bill KPM plugin</description>
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: killbill-kpm
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Killbill core team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-12-
|
11
|
+
date: 2015-12-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: killbill
|
@@ -16,12 +16,12 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ~>
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 6.5.0
|
20
20
|
requirement: !ruby/object:Gem::Requirement
|
21
21
|
requirements:
|
22
22
|
- - ~>
|
23
23
|
- !ruby/object:Gem::Version
|
24
|
-
version:
|
24
|
+
version: 6.5.0
|
25
25
|
prerelease: false
|
26
26
|
type: :runtime
|
27
27
|
- !ruby/object:Gem::Dependency
|
@@ -30,12 +30,12 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 0.1.2
|
34
34
|
requirement: !ruby/object:Gem::Requirement
|
35
35
|
requirements:
|
36
36
|
- - ~>
|
37
37
|
- !ruby/object:Gem::Version
|
38
|
-
version:
|
38
|
+
version: 0.1.2
|
39
39
|
prerelease: false
|
40
40
|
type: :runtime
|
41
41
|
- !ruby/object:Gem::Dependency
|