kpm 0.6.5 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{README.md → README.adoc} +103 -68
- data/kpm.gemspec +1 -1
- data/lib/kpm/plugins_directory.yml +23 -10
- data/lib/kpm/sha1_checker.rb +1 -1
- data/lib/kpm/version.rb +1 -1
- data/pom.xml +1 -1
- data/spec/kpm/unit/sha1_checker_spec.rb +7 -3
- metadata +30 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7ec0b30c3a3f484a644c3c0fd3acb09eb96bdfd9
|
4
|
+
data.tar.gz: 0689377a0a813762ee6ba813cb2933024221a6ea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 36757fc62aaf0595515911d728e15c89742ac15656a64f29cc8a46c14b9f9812746c848e0c595b329cd2ba55ac1027d023badae2d59407eb85d9edd118f8b4cc
|
7
|
+
data.tar.gz: 1ccb83dc7d4671a54ad188046d8378fd8bb99445e378a4525ddeb8e17963a8e770120c30495a4c378f1113711a5f95ad293c57d06aa0022ffd92a6524006ac41
|
data/{README.md → README.adoc}
RENAMED
@@ -1,100 +1,133 @@
|
|
1
|
+
:toc: macro
|
2
|
+
:toc-title:
|
3
|
+
:toclevels: 9
|
4
|
+
|
5
|
+
[[kpm-the-kill-bill-package-manager]]
|
1
6
|
# KPM: the Kill Bill Package Manager
|
2
7
|
|
3
8
|
The goal of KPM is to facilitate the installation of Kill Bill, its plugins and Kaui.
|
4
9
|
|
5
10
|
kpm can be used interactively to search and download individual artifacts (Kill Bill war, plugins, etc.) or to perform an automatic Kill Bill installation using a configuration file.
|
6
11
|
|
7
|
-
|
8
|
-
|
9
|
-
### Java
|
10
|
-
|
11
|
-
Kill Bill runs on the [Java](https://www.java.com/en/download/) platform, version 6 and above (8 is recommended).
|
12
|
+
toc::[]
|
12
13
|
|
14
|
+
[[installation]]
|
13
15
|
## Installation
|
14
16
|
|
17
|
+
[[pre-built-binaries-recommended-linux-and-macos-only]]
|
15
18
|
### Pre-built binaries (recommended, Linux and MacOS only)
|
16
19
|
|
17
20
|
Note that this installation method assumes `/bin/bash` to be available on your system.
|
18
21
|
|
19
|
-
KPM builds are available on
|
22
|
+
KPM builds are available on http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.kill-bill.billing.installer%22%20AND%20a%3A%22kpm%22[Maven Central] with coordinates `org.kill-bill.billing.installer:kpm`.
|
20
23
|
|
21
24
|
Download the package matching your architecture.
|
22
25
|
|
26
|
+
[[through-rubygems]]
|
23
27
|
### Through Rubygems
|
24
28
|
|
25
29
|
Ruby is required to run KPM itself (it is not a dependency of Kill Bill).
|
26
30
|
|
27
|
-
Ruby 2.1+ or JRuby 1.7.20+ is recommended. If you don
|
31
|
+
Ruby 2.1+ or JRuby 1.7.20+ is recommended. If you don’t have a Ruby installation yet, use https://rvm.io/rvm/install[RVM]:
|
28
32
|
|
29
|
-
|
33
|
+
....
|
30
34
|
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
|
31
35
|
\curl -sSL https://get.rvm.io | bash -s stable --ruby
|
32
|
-
|
36
|
+
....
|
33
37
|
|
34
38
|
After following the post-installation instructions, you should have access to the `ruby` and `gem` executables.
|
35
39
|
|
36
40
|
You can then run:
|
37
41
|
|
38
|
-
|
42
|
+
....
|
43
|
+
gem install kpm
|
44
|
+
....
|
39
45
|
|
46
|
+
[[quick-start]]
|
40
47
|
## Quick start
|
41
48
|
|
42
49
|
The following commands
|
43
50
|
|
44
|
-
|
45
|
-
|
46
|
-
|
51
|
+
....
|
52
|
+
mkdir killbill
|
53
|
+
cd killbill
|
54
|
+
kpm install
|
55
|
+
....
|
47
56
|
|
48
|
-
will setup
|
57
|
+
will setup https://github.com/killbill/killbill[Kill Bill] and https://github.com/killbill/killbill-admin-ui-standalone[Kaui], i.e.:
|
49
58
|
|
50
|
-
*
|
59
|
+
* http://tomcat.apache.org/[Tomcat] (open-source Java web server) is setup in the `killbill` directory
|
51
60
|
* The Kill Bill application (war) is installed in the `killbill/webapps` directory
|
52
61
|
* The Kill Bill UI (Kaui war) is installed in the `killbill/webapps` directory
|
53
62
|
* Default plugins are installed in the `/var/tmp/bundles` directory, among them:
|
54
|
-
|
55
|
-
|
63
|
+
* `jruby.jar`, required to run Ruby plugins
|
64
|
+
* the https://github.com/killbill/killbill-kpm-plugin[KPM plugin], required to (un-)install plugins at runtime
|
56
65
|
|
57
66
|
To start Kill Bill, simply run
|
58
67
|
|
59
|
-
|
68
|
+
....
|
69
|
+
./bin/catalina.sh run
|
70
|
+
....
|
60
71
|
|
61
72
|
You can then verify Kill Bill is running by going to http://127.0.0.1:8080/kaui.
|
62
73
|
|
74
|
+
[[using-kpm]]
|
63
75
|
## Using KPM
|
64
76
|
|
77
|
+
[[custom-installation-through-kpm.yml-file]]
|
65
78
|
### Custom Installation Through `kpm.yml` File
|
66
79
|
|
67
80
|
KPM allows you to specify a configuration file, `kpm.yml`, to describe what should be installed. The configuration file is a `yml`. The following shows the syntax of the `kpm.yml` file:
|
68
81
|
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
82
|
+
....
|
83
|
+
killbill:
|
84
|
+
version: 0.18.0
|
85
|
+
plugins:
|
86
|
+
java:
|
87
|
+
- name: analytics
|
88
|
+
ruby:
|
89
|
+
- name: stripe
|
90
|
+
....
|
76
91
|
|
77
92
|
This instructs kpm to:
|
78
93
|
|
79
|
-
* Download Kill Bill version 0.
|
80
|
-
* Setup the
|
94
|
+
* Download Kill Bill version 0.18.0
|
95
|
+
* Setup the https://github.com/killbill/killbill-analytics-plugin[Analytics] (Java) plugin and the https://github.com/killbill/killbill-stripe-plugin[Stripe] (Ruby) plugin
|
81
96
|
|
82
97
|
To start the installation:
|
83
98
|
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
99
|
+
....
|
100
|
+
kpm install kpm.yml
|
101
|
+
....
|
102
|
+
|
103
|
+
Here is a more advanced example:
|
104
|
+
|
105
|
+
....
|
106
|
+
killbill:
|
107
|
+
group_id: org.kill-bill.billing
|
108
|
+
artifact_id: killbill-profiles-killbill
|
109
|
+
version: 0.18.10
|
110
|
+
default_bundles_version: 0.36.11
|
111
|
+
nexus:
|
112
|
+
ssl_verify: false
|
113
|
+
url: http://nexus.acme
|
114
|
+
repository: public-all
|
115
|
+
plugins:
|
116
|
+
java:
|
117
|
+
- name: analytics
|
118
|
+
- name: acme:custom
|
119
|
+
artifact_id: custom-plugin
|
120
|
+
version: 0.0.1-SNAPSHOT
|
121
|
+
ruby:
|
122
|
+
- name: kpm
|
123
|
+
plugins_dir: /var/tmp/bundles
|
124
|
+
webapp_path: /var/lib/tomcat/webapps/ROOT.war
|
125
|
+
....
|
126
|
+
|
127
|
+
[[custom-downloads]]
|
95
128
|
### Custom Downloads
|
96
129
|
|
97
|
-
You can also download specific versions/artifacts directly with the following commands
|
130
|
+
You can also download specific versions/artifacts directly with the following commands – bypassing the kpm.yml file:
|
98
131
|
|
99
132
|
* `kpm pull_kaui_war <version>`
|
100
133
|
* `kpm pull_kb_server_war <version>`
|
@@ -103,28 +136,28 @@ You can also download specific versions/artifacts directly with the following co
|
|
103
136
|
|
104
137
|
For more details see `kpm help`.
|
105
138
|
|
139
|
+
[[dev-mode]]
|
106
140
|
### Dev Mode
|
107
141
|
|
108
|
-
If you are a developer and either modifying an existing plugin or creating a new plugin, KPM can be used to install the code of your plugin. Before
|
142
|
+
If you are a developer and either modifying an existing plugin or creating a new plugin, KPM can be used to install the code of your plugin. Before going further, make sure you read the http://docs.killbill.io/latest/plugin_development.html[Plugin Development Documentation] first.
|
109
143
|
|
110
|
-
Let
|
144
|
+
Let’s assume you are modifying the code for the (Ruby) CyberSource plugin. You would have to first build the plugin package, and then you could use KPM to install the plugin. We suggest you specify a `plugin_key` with a namespace `dev:` to make it clear this is not a released version.
|
111
145
|
|
112
|
-
|
113
|
-
|
114
|
-
|
146
|
+
....
|
147
|
+
kpm install_ruby_plugin 'dev:cybersource' --from-source-file="<PATH_TO>/killbill-cybersource-3.3.0.tar.gz"
|
148
|
+
....
|
115
149
|
|
116
|
-
Let
|
150
|
+
Let’s assume now that you are modifying the code for the (Java) Adyen plugin. The plugin first needs to be built using the `maven-bundle-plugin` to produce the OSGI jar under the `target` directory. Then, this `jar` can be installed using KPM (you would also need to specify a version here since the archive does not embed any metadata, unlike Ruby plugins packages). The same applies with regard to the `plugin_key` where we suggest to specify a namespace `dev:`.
|
117
151
|
|
118
|
-
|
119
|
-
|
120
|
-
|
152
|
+
....
|
153
|
+
kpm install_java_plugin 'dev:adyen' --from-source-file="<PATH_TO>/adyen-plugin-0.3.2-SNAPSHOT.jar" --version="0.3.2"
|
154
|
+
....
|
121
155
|
|
122
|
-
The command `kpm inspect` can be used to see what has been installed. In the case of `dev`
|
156
|
+
The command `kpm inspect` can be used to see what has been installed. In the case of `dev` plugins, most of the infofrmation related to `GROUP ID`, `ARTIFACT ID`, `PACKAGING` and `SHA1` will be missing because no real download occured.
|
123
157
|
|
158
|
+
Finally, when it is time to use a released version of a plugin, we first recommend to uninstall the `dev` version, by using the `kpm uninstall` command and using the `plugin_key`, and then installing the released version. For instance the following sequence could happen:
|
124
159
|
|
125
|
-
|
126
|
-
|
127
|
-
```
|
160
|
+
....
|
128
161
|
> kpm inspect
|
129
162
|
___________________________________________________________________________________________________________________________
|
130
163
|
| PLUGIN NAME | PLUGIN KEY | TYPE | GROUP ID | ARTIFACT ID | PACKAGING | VERSIONS sha1=[], def=(*), del=(x) |
|
@@ -155,8 +188,12 @@ ________________________________________________________________________________
|
|
155
188
|
| killbill-cybersource | cybersource | ruby | org.kill-bill.billing.plugin.ruby | cybersource-plugin | tar.gz | 4.0.2[e0901f..](*) |
|
156
189
|
| adyen | dev:adyen | java | ??? | ??? | ??? | 0.3.2[???](*) |
|
157
190
|
_______________________________________________________________________________________________________________________________________________________
|
191
|
+
....
|
192
|
+
|
193
|
+
[[internals]]
|
194
|
+
## Internals
|
158
195
|
|
159
|
-
|
196
|
+
[[test-required-setups]]
|
160
197
|
### Test required setups
|
161
198
|
|
162
199
|
There are 3 suites of tests for KPM (see `rake -T`):
|
@@ -165,46 +202,44 @@ There are 3 suites of tests for KPM (see `rake -T`):
|
|
165
202
|
* `rake test:remote:spec` : Test suite that relies on maven artifacts
|
166
203
|
* `rake test:mysql:spec` : Test suite that requires an instance of Kill Bill server running and a properly setup database
|
167
204
|
|
205
|
+
[[kpm-unit-test]]
|
168
206
|
#### KPM Unit test
|
169
207
|
|
170
|
-
Unit tests don
|
208
|
+
Unit tests don’t require any third party system or configuration.
|
171
209
|
|
210
|
+
[[kpm-remote-test]]
|
172
211
|
#### KPM remote test
|
173
212
|
|
174
|
-
Test suite that verifies the following
|
213
|
+
Test suite that verifies the following:
|
175
214
|
|
176
215
|
* KPM `install` command by pulling artifacts from maven repository
|
177
216
|
* KPM `migration` command. This requires setting the `TOKEN` system property with a valid GITHUB api token.
|
178
217
|
|
218
|
+
[[kpm-mysql-test]]
|
179
219
|
#### KPM mysql test
|
180
220
|
|
181
221
|
Test suite that requires an instance of `mysql` running and verifies the following:
|
182
222
|
|
183
|
-
* KPM `account` command: The `account_spec.yml` file needs to be modified with correct credentials and user must have correct privileges; also the database schema must not exist.
|
184
|
-
In addition, one must start an instance of a Kill Bill server
|
185
|
-
|
186
|
-
## Internals
|
223
|
+
* KPM `account` command: The `account_spec.yml` file needs to be modified with correct credentials and user must have correct privileges; also the database schema must not exist. In addition, one must start an instance of a Kill Bill server
|
187
224
|
|
225
|
+
[[plugin-keys]]
|
188
226
|
### Plugin Keys
|
189
227
|
|
190
|
-
In the `kpm.yml` example provided above, the plugins are named using their `pluginKey` (the value for the `name` in the
|
191
|
-
* For plugins maintained by the Kill Bill team, this identifier matches the key in the [file based repository](https://github.com/killbill/killbill-cloud/blob/master/kpm/lib/kpm/plugins_directory.yml) of well-known plugins
|
192
|
-
* For other plugins, this key is either specified when installing the plugin through api call, or default to the `pluginName`. For more information, please refer to the Plugin Developer Guide.
|
228
|
+
In the `kpm.yml` example provided above, the plugins are named using their `pluginKey` (the value for the `name` in the `kpm.yml`) . The `pluginKey` is the identifier for the plugin: * For plugins maintained by the Kill Bill team, this identifier matches the key in the https://github.com/killbill/killbill-cloud/blob/master/kpm/lib/kpm/plugins_directory.yml[file based repository] of well-known plugins * For other plugins, this key is either specified when installing the plugin through api call, or default to the `pluginName`. For more information, please refer to the Plugin Developer Guide.
|
193
229
|
|
230
|
+
[[caching]]
|
194
231
|
### Caching
|
195
232
|
|
196
233
|
KPM relies on the `kpm.yml` file to know what to install, and as it installs the pieces, it keeps track of what was installed so that if it is invoked again, it does not download again the same binaries. The generic logic associated with that file is the following:
|
197
234
|
|
198
|
-
1.
|
199
|
-
2.
|
235
|
+
1. When installing a binary (`war`, `jar`, `tar.gz`..), KPM will download both the binary and the `sha1` from the server, compute the `sha1` for the binary and compare the two (verify that binary indeed matches its remote `sha1`). Then, binary is installed and `sha1.yml` file is updated. The `sha1` entry in that `sha1.yml` file will now represent the local `sha1` version (note that for `tar.gz` binaries which have been uncompressed, the local `sha1` is not anymore easily recomputable).
|
236
|
+
2. When attempting to download again the same binary, KPM will compare the value in the `sha1.yml` and the one on the remote server and if those match, it will not download the binary again.
|
200
237
|
|
201
238
|
There are some non standard scenario that could occur in case of users tampering with the data (or remove server unavailable):
|
202
239
|
|
203
240
|
* Remote `sha1` is not available: Binary will be downloaded again (and no `sha1` check can be performed)
|
204
|
-
* `sha1.yml` does not exist:
|
205
|
-
* `sha1` entry in the `sha1.yml` exists but has the special value `SKIP` :
|
241
|
+
* `sha1.yml` does not exist: Binary will be downloaded again
|
242
|
+
* `sha1` entry in the `sha1.yml` exists but has the special value `SKIP` : Binary will _not_ be downloaded again
|
206
243
|
* Binary does not exist on the file system (or has been replaced with something else): KPM will ignore. Note that correct way to remove plugins is to use the `KPM uninstall` command.
|
207
244
|
|
208
|
-
|
209
245
|
Note that you can override that behavior with the `--force-download` switch.
|
210
|
-
|
data/kpm.gemspec
CHANGED
@@ -42,7 +42,7 @@ Gem::Specification.new do |s|
|
|
42
42
|
s.add_dependency 'highline', '~> 1.6.21'
|
43
43
|
s.add_dependency 'thor', '~> 0.19.1'
|
44
44
|
s.add_dependency 'rubyzip', '~>1.2.0'
|
45
|
-
s.add_dependency 'killbill-client', '~>
|
45
|
+
s.add_dependency 'killbill-client', '~> 2.5.0'
|
46
46
|
|
47
47
|
s.add_development_dependency 'rake', '>= 10.0.0', '< 11.0.0'
|
48
48
|
s.add_development_dependency 'rspec', '~> 2.12.0'
|
@@ -16,7 +16,8 @@
|
|
16
16
|
:0.15: 0.2.1
|
17
17
|
:0.16: 0.3.2
|
18
18
|
:0.17: 0.4.10
|
19
|
-
:0.18: 0.5.
|
19
|
+
:0.18: 0.5.10
|
20
|
+
:0.19: 0.6.0
|
20
21
|
:require:
|
21
22
|
- :org.killbill.billing.plugin.adyen.merchantAccount
|
22
23
|
- :org.killbill.billing.plugin.adyen.username
|
@@ -30,7 +31,8 @@
|
|
30
31
|
:0.16: 3.0.2
|
31
32
|
:0.17: 4.0.5
|
32
33
|
:0.18: 4.2.5
|
33
|
-
:0.19: 5.
|
34
|
+
:0.19: 5.1.4
|
35
|
+
:0.20: 6.0.0
|
34
36
|
:avatax:
|
35
37
|
:type: :java
|
36
38
|
:versions:
|
@@ -38,7 +40,8 @@
|
|
38
40
|
:0.15: 0.2.0
|
39
41
|
:0.16: 0.3.0
|
40
42
|
:0.18: 0.4.1
|
41
|
-
:0.19: 0.5.
|
43
|
+
:0.19: 0.5.1
|
44
|
+
:0.20: 0.6.0
|
42
45
|
:require:
|
43
46
|
- :org.killbill.billing.plugin.avatax.url
|
44
47
|
- :org.killbill.billing.plugin.avatax.accountNumber
|
@@ -65,7 +68,7 @@
|
|
65
68
|
:0.14: 1.0.0
|
66
69
|
:0.15: 3.3.0
|
67
70
|
:0.16: 4.0.12
|
68
|
-
:0.18: 5.2.
|
71
|
+
:0.18: 5.2.7
|
69
72
|
:require:
|
70
73
|
- :login
|
71
74
|
- :password
|
@@ -86,7 +89,9 @@
|
|
86
89
|
:versions:
|
87
90
|
:0.14: 0.1.0
|
88
91
|
:0.16: 0.2.0
|
89
|
-
:0.18: 0.3.
|
92
|
+
:0.18: 0.3.1
|
93
|
+
:0.19: 0.4.0
|
94
|
+
:0.20: 0.5.0
|
90
95
|
:firstdata_e4:
|
91
96
|
:type: :ruby
|
92
97
|
:artifact_id: firstdata-e4-plugin
|
@@ -116,13 +121,15 @@
|
|
116
121
|
:0.16: 0.0.5
|
117
122
|
:0.17: 1.0.0
|
118
123
|
:0.18: 1.1.2
|
119
|
-
:0.19: 1.2.
|
124
|
+
:0.19: 1.2.4
|
125
|
+
:0.20: 1.3.0
|
120
126
|
:litle:
|
121
127
|
:type: :ruby
|
122
128
|
:versions:
|
123
129
|
:0.14: 2.0.0
|
124
130
|
:0.16: 3.0.0
|
125
131
|
:0.18: 4.0.0
|
132
|
+
:0.20: 5.0.0
|
126
133
|
:require:
|
127
134
|
- :account_id
|
128
135
|
- :merchant_id
|
@@ -141,7 +148,7 @@
|
|
141
148
|
:type: :ruby
|
142
149
|
:versions:
|
143
150
|
:0.16: 0.0.2
|
144
|
-
:0.18: 0.1.
|
151
|
+
:0.18: 0.1.10
|
145
152
|
:require:
|
146
153
|
- :login
|
147
154
|
- :password
|
@@ -150,7 +157,8 @@
|
|
150
157
|
:type: :java
|
151
158
|
:artifact_id: bridge-plugin
|
152
159
|
:versions:
|
153
|
-
:0.19: 0.0.
|
160
|
+
:0.19: 0.0.12
|
161
|
+
:0.20: 0.1.0
|
154
162
|
:payeezy:
|
155
163
|
:type: :java
|
156
164
|
:versions:
|
@@ -173,7 +181,8 @@
|
|
173
181
|
:0.14: 2.0.0
|
174
182
|
:0.15: 3.0.0
|
175
183
|
:0.16: 4.1.7
|
176
|
-
:0.18: 5.0.
|
184
|
+
:0.18: 5.0.9
|
185
|
+
:0.20: 6.0.0
|
177
186
|
:require:
|
178
187
|
- :signature
|
179
188
|
- :login
|
@@ -194,7 +203,9 @@
|
|
194
203
|
:type: :ruby
|
195
204
|
:artifact_id: payment-test-plugin
|
196
205
|
:versions:
|
197
|
-
:0.18: 4.
|
206
|
+
:0.18: 4.2.0
|
207
|
+
:0.19: 5.0.0
|
208
|
+
:0.20: 6.0.0
|
198
209
|
:securenet:
|
199
210
|
:type: :ruby
|
200
211
|
:versions:
|
@@ -211,6 +222,8 @@
|
|
211
222
|
:0.16: 3.0.3
|
212
223
|
:0.17: 4.0.0
|
213
224
|
:0.18: 4.1.1
|
225
|
+
:0.19: 5.0.0
|
226
|
+
:0.20: 6.0.0
|
214
227
|
:require:
|
215
228
|
- :api_secret_key
|
216
229
|
:zendesk:
|
data/lib/kpm/sha1_checker.rb
CHANGED
data/lib/kpm/version.rb
CHANGED
data/pom.xml
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
<groupId>org.kill-bill.billing.installer</groupId>
|
27
27
|
<artifactId>kpm</artifactId>
|
28
28
|
<packaging>pom</packaging>
|
29
|
-
<version>0.
|
29
|
+
<version>0.7.0</version>
|
30
30
|
<name>KPM</name>
|
31
31
|
<url>http://github.com/killbill/killbill-cloud</url>
|
32
32
|
<description>KPM: the Kill Bill Package Manager</description>
|
@@ -13,6 +13,13 @@ describe KPM::Sha1Checker do
|
|
13
13
|
@sha1_checker = KPM::Sha1Checker.from_file(@tmp_config)
|
14
14
|
end
|
15
15
|
|
16
|
+
it 'should create intermediate directories' do
|
17
|
+
Dir.mktmpdir do |dir|
|
18
|
+
config = File.join(dir, 'foo', 'bar', 'baz', 'sha1_test.yml')
|
19
|
+
KPM::Sha1Checker.from_file(config)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
16
23
|
it 'should find matching sha1' do
|
17
24
|
existing = @sha1_checker.sha1('killbill-plugin-match-1.0.0.tar.gz')
|
18
25
|
existing.should_not be_nil
|
@@ -48,14 +55,12 @@ describe KPM::Sha1Checker do
|
|
48
55
|
end
|
49
56
|
|
50
57
|
it 'should add allow to modify an entry and find them all' do
|
51
|
-
|
52
58
|
existing = @sha1_checker.sha1('killbill-plugin-match-1.0.0.tar.gz')
|
53
59
|
existing.should_not be_nil
|
54
60
|
existing.should == 'fce068c3fd5f95646ce0d09852f43ff67f06f0b9'
|
55
61
|
|
56
62
|
@sha1_checker.add_or_modify_entry!('killbill-plugin-match-1.0.0.tar.gz', 'dde068c3fd5f95646ce0d09852f43ff67f06f0aa')
|
57
63
|
|
58
|
-
|
59
64
|
existing = @sha1_checker.sha1('killbill-plugin-match-1.0.0.tar.gz')
|
60
65
|
existing.should_not be_nil
|
61
66
|
existing.should == 'dde068c3fd5f95646ce0d09852f43ff67f06f0aa'
|
@@ -82,7 +87,6 @@ describe KPM::Sha1Checker do
|
|
82
87
|
end
|
83
88
|
|
84
89
|
it 'should work with empty config' do
|
85
|
-
|
86
90
|
tmp_destination_dir = Dir.tmpdir()
|
87
91
|
empty_config = File.join(tmp_destination_dir, 'sha1_test.yml')
|
88
92
|
if File.exists?(empty_config)
|
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.
|
4
|
+
version: 0.7.0
|
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: 2018-
|
11
|
+
date: 2018-07-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: highline
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 2.5.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 2.5.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rake
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -110,7 +110,7 @@ files:
|
|
110
110
|
- ".gemrelease"
|
111
111
|
- ".gitignore"
|
112
112
|
- Gemfile
|
113
|
-
- README.
|
113
|
+
- README.adoc
|
114
114
|
- Rakefile
|
115
115
|
- bin/kpm
|
116
116
|
- install_example.yml
|
@@ -202,8 +202,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
202
202
|
version: '0'
|
203
203
|
requirements: []
|
204
204
|
rubyforge_project:
|
205
|
-
rubygems_version: 2.
|
205
|
+
rubygems_version: 2.4.8
|
206
206
|
signing_key:
|
207
207
|
specification_version: 4
|
208
208
|
summary: Kill Bill package manager.
|
209
|
-
test_files:
|
209
|
+
test_files:
|
210
|
+
- spec/kpm/remote/base_artifact_spec.rb
|
211
|
+
- spec/kpm/remote/base_installer_spec.rb
|
212
|
+
- spec/kpm/remote/installer_spec.rb
|
213
|
+
- spec/kpm/remote/kaui_artifact_spec.rb
|
214
|
+
- spec/kpm/remote/killbill_plugin_artifact_spec.rb
|
215
|
+
- spec/kpm/remote/killbill_server_artifact_spec.rb
|
216
|
+
- spec/kpm/remote/migrations_spec.rb
|
217
|
+
- spec/kpm/remote/nexus_facade_spec.rb
|
218
|
+
- spec/kpm/remote/tenant_config_spec.rb
|
219
|
+
- spec/kpm/remote/tenant_config_spec.yml
|
220
|
+
- spec/kpm/remote/tomcat_manager_spec.rb
|
221
|
+
- spec/kpm/unit/base_artifact_spec.rb
|
222
|
+
- spec/kpm/unit/inspector_spec.rb
|
223
|
+
- spec/kpm/unit/installer_spec.rb
|
224
|
+
- spec/kpm/unit/plugins_directory_spec.rb
|
225
|
+
- spec/kpm/unit/plugins_manager_spec.rb
|
226
|
+
- spec/kpm/unit/sha1_checker_spec.rb
|
227
|
+
- spec/kpm/unit/sha1_test.yml
|
228
|
+
- spec/kpm/unit/uninstaller_spec.rb
|
229
|
+
- spec/kpm/unit_mysql/account_spec.rb
|
230
|
+
- spec/kpm/unit_mysql/account_spec.yml
|
231
|
+
- spec/kpm/unit_mysql/account_test_ddl.sql
|
232
|
+
- spec/spec_helper.rb
|