kpm 0.11.0 → 0.11.2

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 8511e401669df3cf28d9ff916b158764238109c34e818a8221ee598c11d78750
4
- data.tar.gz: cc284e39cf1c3d5b2cf7ece8fc7cbc38d2853016c666378ff1127a6761d5a04d
3
+ metadata.gz: 52403662d712a2a4e5d5f4858f9f5fdec00cfae193fb0fa584ac9e4ad0915b88
4
+ data.tar.gz: f44f9d18991344583ca2cf6edcea3973930396d8ed72781c6d178afa07c42e0f
5
5
  SHA512:
6
- metadata.gz: 7f6e3965bfb2e4c32707d845add23ff06fe7eb7d3bd4550d94863f2ffa207049c578ba90dff1cac3d1609427a3a6ae010582e7fa8cec309a151e7fd1e595f18e
7
- data.tar.gz: 031a2b0f7da148e24b7a13ff90e6c023d3d381040d7de8161389ca9ac523487b64540ab6174c2d1aab2d110bcf19d6af4291b28eade76c4f2d6317303ae7c662
6
+ metadata.gz: 3f1197e9c21b9ff52f6938a329af118434243e8fceb8145826139e00598f68c1ae9567347cc3d2e462ad2fe6d2e26bc116037b259698656207a61366eda24e28
7
+ data.tar.gz: 1b48ddb9aa45a443c2d5a2af4ea8b38b2b3e8dfb66dbffe44ab5b8249dedad13a1cb68398f3f0ed2cef668b7731cc1bfcbf6029ea1bf2b700def47a6e7c2fa7b
data/.gitignore CHANGED
@@ -2,10 +2,12 @@ Gemfile.lock
2
2
  pkg
3
3
  packaging/tmp
4
4
  packaging/vendor
5
- kpm-*-linux-x86.tar.gz
6
5
  kpm-*-linux-x86_64.tar.gz
6
+ kpm-*-osx-arm64.tar.gz
7
7
  kpm-*-osx.tar.gz
8
- traveling-ruby-*.tar.gz
8
+ kpm-*-noarch.tar.gz
9
+ portable-ruby-*.tar.gz
10
+ jruby-dist-*-bin.tar.gz
9
11
  *.asc
10
12
  .rakeTasks
11
13
  pom.xml.versionsBackup
data/README.adoc CHANGED
@@ -26,10 +26,13 @@ Note that this installation method assumes `/bin/bash` to be available on your s
26
26
  === Through Rubygems
27
27
  image:https://img.shields.io/gem/v/kpm?color=blue&label=kpm[kpm]
28
28
 
29
- On Windows, you can install KPM via https://rubygems.org/gems/kpm[RubyGems.org]. For this, you need to first install Ruby. Ruby can be installed via https://rubyinstaller.org/[RubyInstaller]. Once installed, you can run the following command to install KPM:
29
+ On Windows, you can install KPM via https://rubygems.org/gems/kpm[RubyGems.org]. For this, you need to first install Ruby 2.x.x. We recommend installing Ruby 2.7.7.
30
+
31
+ Ruby can be installed via https://rubyinstaller.org/[RubyInstaller]. Once installed, you can run the following command to install KPM:
30
32
  [source,bash]
31
33
  gem install kpm
32
34
 
35
+ Note: KPM is not tested with Ruby 3.x.x or later versions.
33
36
 
34
37
 
35
38
  [[kpm-commands]]
@@ -38,24 +41,6 @@ gem install kpm
38
41
  [[kill-bill-installation]]
39
42
  === Kill Bill installation
40
43
 
41
- [[kpm-install]]
42
- ==== kpm install
43
-
44
- `kpm install` (with no argument) will setup https://github.com/killbill/killbill[Kill Bill] and https://github.com/killbill/killbill-admin-ui-standalone[Kaui] in your current directory, including:
45
-
46
- * http://tomcat.apache.org/[Tomcat] (open-source Java web server)
47
- * The Kill Bill application (war) is installed in the `./webapps` directory
48
- * The Kill Bill UI (Kaui war) is installed in the `./webapps` directory
49
- * Default OSGI bundles are installed in the `/var/tmp/bundles` directory
50
-
51
- To start Kill Bill, simply run
52
-
53
- ....
54
- ./bin/catalina.sh run
55
- ....
56
-
57
- You can then verify Kill Bill is running by going to http://127.0.0.1:8080/kaui.
58
-
59
44
  [[kpm-install-using-a-kpm.yml-file]]
60
45
  ==== kpm install Using A `kpm.yml` File
61
46
 
@@ -3,7 +3,7 @@ version: '3.8'
3
3
  services:
4
4
  killbill:
5
5
  network_mode: host
6
- image: killbill/killbill:0.22.1
6
+ image: killbill/killbill:0.24.0
7
7
  environment:
8
8
  - KILLBILL_CATALOG_URI=SpyCarAdvanced.xml
9
9
  - KILLBILL_DAO_URL=jdbc:mysql://0.0.0.0:3306/killbill
@@ -16,6 +16,6 @@ services:
16
16
  - db
17
17
  db:
18
18
  network_mode: host
19
- image: killbill/mariadb:0.22
19
+ image: killbill/mariadb:0.24
20
20
  environment:
21
21
  - MYSQL_ROOT_PASSWORD=root
data/kpm.gemspec CHANGED
@@ -41,10 +41,10 @@ Gem::Specification.new do |s|
41
41
 
42
42
  s.rdoc_options << '--exclude' << '.'
43
43
 
44
- s.add_dependency 'highline', '~> 1.6.21'
45
- s.add_dependency 'killbill-client', '~> 3.2'
46
- s.add_dependency 'rubyzip', '~> 1.3.0'
47
- s.add_dependency 'thor', '~> 0.19.1'
44
+ s.add_dependency 'highline', '>= 1.6.21', '< 2.1.0'
45
+ s.add_dependency 'killbill-client'
46
+ s.add_dependency 'rubyzip', '>= 1.3', '< 2.4'
47
+ s.add_dependency 'thor', '>= 0.19.1', '< 1.3.0'
48
48
 
49
49
  s.add_development_dependency 'gem-release', '~> 2.2'
50
50
  s.add_development_dependency 'rake', '~> 13.0'
@@ -23,15 +23,11 @@ module KPM
23
23
  ZIP_LOG_FILE = 'logs.zip'
24
24
 
25
25
  def initialize(config_file = nil, killbill_api_credentials = nil, killbill_credentials = nil, killbill_url = nil,
26
- database_name = nil, database_credentials = nil, database_host = nil, database_port = nil, kaui_web_path = nil,
26
+ kaui_web_path = nil,
27
27
  killbill_web_path = nil, bundles_dir = nil, logger = nil)
28
28
  @killbill_api_credentials = killbill_api_credentials
29
29
  @killbill_credentials = killbill_credentials
30
30
  @killbill_url = killbill_url
31
- @database_name = database_name
32
- @database_credentials = database_credentials
33
- @database_host = database_host
34
- @database_port = database_port
35
31
  @config_file = config_file
36
32
  @kaui_web_path = kaui_web_path
37
33
  @killbill_web_path = killbill_web_path
@@ -109,8 +105,8 @@ module KPM
109
105
  @logger.level = Logger::WARN
110
106
 
111
107
  account = KPM::Account.new(@config_file, @killbill_api_credentials, @killbill_credentials,
112
- @killbill_url, @database_name,
113
- @database_credentials, @database_host, @database_port, nil, @logger)
108
+ @killbill_url, nil,
109
+ nil, nil, nil, nil, @logger)
114
110
  export_file = account.export_data(account_id)
115
111
 
116
112
  final = TMP_DIR + File::Separator + ACCOUNT_FILE
data/lib/kpm/installer.rb CHANGED
@@ -87,9 +87,9 @@ module KPM
87
87
  end
88
88
  bundles_dir ||= DEFAULT_BUNDLES_DIR
89
89
 
90
- help = nil
91
90
  unless @config.nil?
92
- help = install_tomcat if @config['webapp_path'].nil?
91
+ raise ArgumentError, "Aborting installation, no webapp_path specified in config: #{@config}" if @config['webapp_path'].nil?
92
+
93
93
  install_killbill_server(@config['group_id'], @config['artifact_id'], @config['packaging'], @config['classifier'], @config['version'], @config['webapp_path'], bundles_dir, force_download, verify_sha1)
94
94
  install_plugins(bundles_dir, @config['version'], force_download, verify_sha1)
95
95
  install_default_bundles(bundles_dir, @config['default_bundles_version'], @config['version'], force_download, verify_sha1) unless @config['default_bundles'] == false
@@ -105,26 +105,11 @@ module KPM
105
105
  install_kaui(@kaui_config['group_id'], @kaui_config['artifact_id'], @kaui_config['packaging'], @kaui_config['classifier'], @kaui_config['version'], @kaui_config['webapp_path'], bundles_dir, force_download, verify_sha1)
106
106
  end
107
107
 
108
- @trace_logger.add('help', nil, help)
109
108
  @trace_logger.to_json
110
109
  end
111
110
 
112
111
  private
113
112
 
114
- def install_tomcat(dir = Dir.pwd)
115
- # Download and unpack Tomcat
116
- manager = KPM::TomcatManager.new(dir, @logger)
117
- manager.download
118
-
119
- # Update main config
120
- root_war_path = manager.setup
121
- @config['webapp_path'] = root_war_path
122
- @kaui_config['webapp_path'] = Pathname.new(File.dirname(root_war_path)).join('kaui.war').to_s unless @kaui_config.nil?
123
-
124
- # Help message
125
- manager.help
126
- end
127
-
128
113
  def install_plugins(bundles_dir, raw_kb_version, force_download, verify_sha1)
129
114
  install_java_plugins(bundles_dir, raw_kb_version, force_download, verify_sha1)
130
115
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rexml/document'
4
- require 'set'
5
4
 
6
5
  module KPM
7
6
  class KauiArtifact < BaseArtifact
@@ -11,9 +10,9 @@ module KPM
11
10
 
12
11
  coordinates = KPM::Coordinates.build_coordinates(coordinate_map)
13
12
  response = REXML::Document.new nexus_remote(overrides, ssl_verify).search_for_artifacts(coordinates)
14
- versions = SortedSet.new
13
+ versions = []
15
14
  response.elements.each('searchNGResponse/data/artifact/version') { |element| versions << element.text }
16
- versions
15
+ versions.sort!.uniq
17
16
  end
18
17
  end
19
18
  end
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rexml/document'
4
- require 'set'
5
4
 
6
5
  module KPM
7
6
  class KillbillPluginArtifact < BaseArtifact
@@ -20,8 +19,9 @@ module KPM
20
19
  response = REXML::Document.new nexus.search_for_artifacts(type_and_group_id[1])
21
20
  response.elements.each('searchNGResponse/data/artifact') do |element|
22
21
  artifact_id = element.elements['artifactId'].text
23
- plugins[type_and_group_id[0]][artifact_id] ||= SortedSet.new
22
+ plugins[type_and_group_id[0]][artifact_id] ||= []
24
23
  plugins[type_and_group_id[0]][artifact_id] << element.elements['version'].text
24
+ plugins[type_and_group_id[0]][artifact_id].sort!.uniq!
25
25
  end
26
26
  end
27
27
 
@@ -1,7 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  require 'rexml/document'
4
- require 'set'
5
4
 
6
5
  module KPM
7
6
  class KillbillServerArtifact < BaseArtifact
@@ -10,9 +9,9 @@ module KPM
10
9
  coordinate_map = { group_id: KPM::BaseArtifact::KILLBILL_GROUP_ID, artifact_id: artifact_id, packaging: packaging, classifier: classifier }
11
10
  coordinates = KPM::Coordinates.build_coordinates(coordinate_map)
12
11
  response = REXML::Document.new nexus_remote(overrides, ssl_verify).search_for_artifacts(coordinates)
13
- versions = SortedSet.new
12
+ versions = []
14
13
  response.elements.each('searchNGResponse/data/artifact/version') { |element| versions << element.text }
15
- versions
14
+ versions.sort!.uniq
16
15
  end
17
16
 
18
17
  def info(version = 'LATEST', sha1_file = nil, force_download = false, verify_sha1 = true, overrides = {}, ssl_verify = true)
@@ -147,7 +147,7 @@ module KPM
147
147
  case response.code
148
148
  when '200'
149
149
  response.body
150
- when '301', '307'
150
+ when '301', '302', '307'
151
151
  location = response['Location']
152
152
  logger.debug { "Following redirect to #{location}" }
153
153
 
@@ -8,18 +8,22 @@
8
8
  :versions:
9
9
  :0.18: 0.5.26
10
10
  :0.20: 0.7.0
11
+ :0.22: 0.9.0
12
+ :0.24: 0.10.0
11
13
  :analytics:
12
14
  :type: :java
13
15
  :versions:
14
16
  :0.18: 4.2.5
15
17
  :0.20: 6.0.1
16
- :0.22: 7.2.3
18
+ :0.22: 7.2.7
19
+ :0.24: 8.1.1
17
20
  :avatax:
18
21
  :type: :java
19
22
  :versions:
20
23
  :0.18: 0.4.1
21
24
  :0.20: 0.6.1
22
25
  :0.22: 0.8.4
26
+ :0.24: 0.9.0
23
27
  :cybersource:
24
28
  :type: :ruby
25
29
  :versions:
@@ -28,6 +32,7 @@
28
32
  :type: :java
29
33
  :versions:
30
34
  :0.22: 0.0.2
35
+ :0.24: 0.1.0
31
36
  :dwolla:
32
37
  :type: :java
33
38
  :versions:
@@ -39,6 +44,7 @@
39
44
  :0.18: 0.3.1
40
45
  :0.20: 0.5.1
41
46
  :0.22: 0.7.2
47
+ :0.24: 0.8.0
42
48
  :forte:
43
49
  :type: :java
44
50
  :versions:
@@ -73,6 +79,7 @@
73
79
  :artifact_id: payment-test-plugin
74
80
  :versions:
75
81
  :0.22: 7.0.4
82
+ :0.24: 8.0.0
76
83
  :securenet:
77
84
  :type: :ruby
78
85
  :versions:
@@ -80,4 +87,26 @@
80
87
  :stripe:
81
88
  :type: :java
82
89
  :versions:
83
- :0.22: 7.3.1
90
+ :0.22: 7.3.3
91
+ :0.24: 8.0.2
92
+ :braintree:
93
+ :type: :java
94
+ :versions:
95
+ :0.24: 1.0.0
96
+ :catalog-test:
97
+ :type: :java
98
+ :versions:
99
+ :0.24: 0.5.1
100
+ :gocardless:
101
+ :type: :java
102
+ :versions:
103
+ :0.24: 1.0.1
104
+ :qualpay:
105
+ :type: :java
106
+ :versions:
107
+ :0.22: 0.0.1
108
+ :0.24: 1.0.0
109
+ :invgrp:
110
+ :type: :java
111
+ :versions:
112
+ :0.24: 1.0.7
data/lib/kpm/tasks.rb CHANGED
@@ -17,16 +17,6 @@ module KPM
17
17
  say "KPM version #{KPM::VERSION}"
18
18
  end
19
19
 
20
- class_option :overrides,
21
- type: :hash,
22
- default: nil,
23
- desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
24
-
25
- class_option :ssl_verify,
26
- type: :boolean,
27
- default: true,
28
- desc: 'Set to false to disable SSL Verification.'
29
-
30
20
  method_option :force_download,
31
21
  type: :boolean,
32
22
  default: false,
@@ -104,6 +94,14 @@ module KPM
104
94
  type: :boolean,
105
95
  default: true,
106
96
  desc: 'Validate sha1 sum'
97
+ method_option :overrides,
98
+ type: :hash,
99
+ default: nil,
100
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
101
+ method_option :ssl_verify,
102
+ type: :boolean,
103
+ default: true,
104
+ desc: 'Set to false to disable SSL Verification.'
107
105
  desc 'pull_kb_server_war <version>', 'Pulls Kill Bill server war and places it on your machine. If version was not specified it uses the latest released version.'
108
106
  def pull_kb_server_war(version = 'LATEST')
109
107
  installer = BaseInstaller.new(logger,
@@ -121,6 +119,14 @@ module KPM
121
119
  say "Artifact has been retrieved and can be found at path: #{response[:file_path]}", :green
122
120
  end
123
121
 
122
+ method_option :overrides,
123
+ type: :hash,
124
+ default: nil,
125
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
126
+ method_option :ssl_verify,
127
+ type: :boolean,
128
+ default: true,
129
+ desc: 'Set to false to disable SSL Verification.'
124
130
  desc 'search_for_kb_server', 'Searches for all versions of Kill Bill server and prints them to the screen.'
125
131
  def search_for_kb_server
126
132
  say "Available versions: #{KillbillServerArtifact.versions(KillbillServerArtifact::KILLBILL_ARTIFACT_ID,
@@ -207,6 +213,14 @@ module KPM
207
213
  type: :boolean,
208
214
  default: true,
209
215
  desc: 'Validates sha1 sum'
216
+ method_option :overrides,
217
+ type: :hash,
218
+ default: nil,
219
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
220
+ method_option :ssl_verify,
221
+ type: :boolean,
222
+ default: true,
223
+ desc: 'Set to false to disable SSL Verification.'
210
224
  desc 'pull_defaultbundles <kb-version>', 'Pulls the default OSGI bundles and places it on your machine. If the kb-version has been specified, it is used to download the matching platform artifact; if not, it uses the latest released version.'
211
225
  def pull_defaultbundles(kb_version = 'LATEST')
212
226
  response = BaseInstaller.new(logger,
@@ -219,7 +233,14 @@ module KPM
219
233
  options[:verify_sha1])
220
234
  say "Artifact has been retrieved and can be found at path: #{response[:file_path]}", :green
221
235
  end
222
-
236
+ method_option :overrides,
237
+ type: :hash,
238
+ default: nil,
239
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
240
+ method_option :ssl_verify,
241
+ type: :boolean,
242
+ default: true,
243
+ desc: 'Set to false to disable SSL Verification.'
223
244
  desc 'search_for_plugins', 'Searches for all available plugins and prints them to the screen.'
224
245
  def search_for_plugins
225
246
  all_plugins = KillbillPluginArtifact.versions(options[:overrides], options[:ssl_verify])
@@ -251,6 +272,14 @@ module KPM
251
272
  type: :boolean,
252
273
  default: true,
253
274
  desc: 'Validates sha1 sum'
275
+ method_option :overrides,
276
+ type: :hash,
277
+ default: nil,
278
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
279
+ method_option :ssl_verify,
280
+ type: :boolean,
281
+ default: true,
282
+ desc: 'Set to false to disable SSL Verification.'
254
283
  desc 'pull_kaui_war <version>', 'Pulls Kaui war and places it on your machine. If version was not specified it uses the latest released version.'
255
284
  def pull_kaui_war(version = 'LATEST')
256
285
  response = KauiArtifact.pull(logger,
@@ -293,6 +322,14 @@ module KPM
293
322
  type: :boolean,
294
323
  default: false,
295
324
  desc: 'Set the output format as JSON when true'
325
+ method_option :overrides,
326
+ type: :hash,
327
+ default: nil,
328
+ desc: "A hashed list of overrides. Available options are 'url', 'repository', 'username', and 'password'."
329
+ method_option :ssl_verify,
330
+ type: :boolean,
331
+ default: true,
332
+ desc: 'Set to false to disable SSL Verification.'
296
333
  desc 'info', 'Describe information about a Kill Bill version'
297
334
  def info
298
335
  versions_info = KillbillServerArtifact.info(options[:version],
@@ -525,22 +562,6 @@ module KPM
525
562
  type: :string,
526
563
  default: nil,
527
564
  desc: 'Killbill URL ex. http://127.0.0.1:8080'
528
- method_option :database_name,
529
- type: :string,
530
- default: nil,
531
- desc: 'DB name to connect'
532
- method_option :database_credentials,
533
- type: :array,
534
- default: nil,
535
- desc: 'DB credentials <user> <password>'
536
- method_option :database_host,
537
- type: :string,
538
- default: nil,
539
- desc: 'Database Host name'
540
- method_option :database_port,
541
- type: :string,
542
- default: nil,
543
- desc: 'Database port'
544
565
  method_option :kaui_web_path,
545
566
  type: :string,
546
567
  default: nil,
@@ -563,17 +584,12 @@ module KPM
563
584
 
564
585
  raise Interrupt, '--killbill_credentials, required format -> <user> <password>' if options[:killbill_credentials] && options[:killbill_credentials].size != 2
565
586
 
566
- raise Interrupt, '--database_credentials, required format -> <user> <password>' if options[:database_credentials] && options[:database_credentials].size != 2
567
-
568
- raise Interrupt, '--database_credentials, please provide a valid database name' if options[:database_name] && options[:database_name] == :database_name.to_s
569
-
570
587
  raise Interrupt, '--kaui_web_path, please provide a valid kaui web path ' if options[:kaui_web_path] && options[:kaui_web_path] == :kaui_web_path.to_s
571
588
 
572
589
  raise Interrupt, '--killbill_web_path, please provide a valid killbill web path' if options[:killbill_web_path] && options[:killbill_web_path] == :killbill_web_path.to_s
573
590
 
574
591
  diagnostic = KPM::DiagnosticFile.new(options[:config_file], options[:killbill_api_credentials], options[:killbill_credentials],
575
- options[:killbill_url], options[:database_name], options[:database_credentials],
576
- options[:database_host], options[:database_port], options[:kaui_web_path], options[:killbill_web_path], options[:bundles_dir], logger)
592
+ options[:killbill_url], options[:kaui_web_path], options[:killbill_web_path], options[:bundles_dir], logger)
577
593
  diagnostic.export_data(options[:account_export], options[:log_dir])
578
594
  rescue StandardError => e
579
595
  logger.error "\e[91;1m#{e.message}\e[0m"
data/lib/kpm/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module KPM
4
- VERSION = '0.11.0'
4
+ VERSION = '0.11.2'
5
5
  end
data/lib/kpm.rb CHANGED
@@ -7,7 +7,6 @@ module KPM
7
7
  autoload :Formatter, 'kpm/formatter'
8
8
  autoload :Inspector, 'kpm/inspector'
9
9
  autoload :Sha1Checker, 'kpm/sha1_checker'
10
- autoload :TomcatManager, 'kpm/tomcat_manager'
11
10
  autoload :KillbillServerArtifact, 'kpm/killbill_server_artifact'
12
11
  autoload :KillbillPluginArtifact, 'kpm/killbill_plugin_artifact'
13
12
  autoload :KauiArtifact, 'kpm/kaui_artifact'
data/packaging/Gemfile CHANGED
@@ -3,7 +3,4 @@
3
3
  source 'https://rubygems.org'
4
4
 
5
5
  gem 'kpm', '~> VERSION'
6
-
7
- group :development do
8
- gem 'rake'
9
- end
6
+ gem 'rake'
data/packaging/kpm.sh CHANGED
@@ -11,4 +11,4 @@ unset BUNDLE_IGNORE_CONFIG
11
11
 
12
12
  # Run the actual app using the bundled Ruby interpreter, with Bundler activated.
13
13
  # See https://github.com/phusion/traveling-ruby/issues/58
14
- exec "$SELFDIR/lib/ruby/bin/ruby" -rbundler/setup -rreadline $SELFDIR/lib/vendor/ruby/2.*/bin/kpm $@
14
+ exec "$SELFDIR/lib/ruby/bin/ruby" -rbundler/setup -rreadline $SELFDIR/lib/vendor/*ruby/2.*/bin/kpm $@
data/pom.xml CHANGED
@@ -22,7 +22,7 @@
22
22
  <modelVersion>4.0.0</modelVersion>
23
23
  <groupId>org.kill-bill.billing.installer</groupId>
24
24
  <artifactId>kpm</artifactId>
25
- <version>0.11.0</version>
25
+ <version>0.11.2</version>
26
26
  <packaging>pom</packaging>
27
27
  <name>KPM</name>
28
28
  <description>KPM: the Kill Bill Package Manager</description>
@@ -147,11 +147,6 @@
147
147
  </goals>
148
148
  <configuration>
149
149
  <artifacts>
150
- <artifact>
151
- <file>kpm-${project.version}-linux-x86.tar.gz</file>
152
- <type>tar.gz</type>
153
- <classifier>linux-x86</classifier>
154
- </artifact>
155
150
  <artifact>
156
151
  <file>kpm-${project.version}-linux-x86_64.tar.gz</file>
157
152
  <type>tar.gz</type>
@@ -162,6 +157,16 @@
162
157
  <type>tar.gz</type>
163
158
  <classifier>osx</classifier>
164
159
  </artifact>
160
+ <artifact>
161
+ <file>kpm-${project.version}-osx-arm64.tar.gz</file>
162
+ <type>tar.gz</type>
163
+ <classifier>osx-arm64</classifier>
164
+ </artifact>
165
+ <artifact>
166
+ <file>kpm-${project.version}-noarch.tar.gz</file>
167
+ <type>tar.gz</type>
168
+ <classifier>noarch</classifier>
169
+ </artifact>
165
170
  </artifacts>
166
171
  </configuration>
167
172
  </execution>
data/tasks/package.rake CHANGED
@@ -9,33 +9,50 @@ PACKAGE_NAME = 'kpm'
9
9
  require './lib/kpm/version'
10
10
  VERSION = KPM::VERSION
11
11
 
12
- # See https://traveling-ruby.s3-us-west-2.amazonaws.com/list.html
13
- TRAVELING_RUBY_VERSION = '20150715-2.2.2'
12
+ # See https://www.jruby.org/download
13
+ JRUBY_VERSION = '9.4.5.0'
14
+ # See https://github.com/Homebrew/homebrew-portable-ruby/releases
15
+ HOMEBREW_PORTABLE_RUBY_VERSION = '3.1.4'
14
16
 
15
17
  # Remove unused files to reduce package size
16
18
  GEMS_PATH = 'packaging/vendor/ruby/*/gems/*/'
17
19
  REMOVE_FILES = %w[test tests spec README* CHANGE* Change* COPYING* LICENSE* MIT-LICENSE* doc docs examples ext/*/Makefile .gitignore .travis.yml].freeze
18
20
  REMOVE_EXTENSIONS = %w[*.md *.c *.h *.rl extconf.rb *.java *.class *.so *.o].freeze
19
21
 
22
+ NOARCH_TARGET = 'noarch'
23
+ LINUX_X86_TARGET = 'x86_64_linux'
24
+ OSX_X86_TARGET = 'el_capitan'
25
+ OSX_ARM_TARGET = 'arm64_big_sur'
26
+
20
27
  desc 'Package your app'
21
- task package: %w[package:linux:x86 package:linux:x86_64 package:osx]
28
+ task package: %w[package:noarch package:linux:x86_64 package:osx:x86_64 package:osx:arm64]
22
29
 
23
30
  namespace :package do
24
- namespace :linux do
25
- desc 'Package KPM for Linux x86'
26
- task x86: [:bundle_install, "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86.tar.gz"] do
27
- create_package('linux-x86')
28
- end
31
+ desc 'Package KPM (noarch)'
32
+ task noarch: [:bundle_install, "packaging/jruby-dist-#{JRUBY_VERSION}-bin.tar.gz"] do
33
+ create_package(NOARCH_TARGET, 'noarch')
34
+ end
29
35
 
36
+ namespace :linux do
30
37
  desc 'Package KPM for Linux x86_64'
31
- task x86_64: [:bundle_install, "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz"] do
32
- create_package('linux-x86_64')
38
+ task x86_64: [:bundle_install, "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{LINUX_X86_TARGET}.bottle.tar.gz"] do
39
+ ensure_ruby_version
40
+ create_package(LINUX_X86_TARGET, 'linux-x86_64')
33
41
  end
34
42
  end
35
43
 
36
- desc 'Package KPM for OS X'
37
- task osx: [:bundle_install, "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz"] do
38
- create_package('osx')
44
+ namespace :osx do
45
+ desc 'Package KPM for OSX x86_64'
46
+ task x86_64: [:bundle_install, "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{OSX_X86_TARGET}.bottle.tar.gz"] do
47
+ ensure_ruby_version
48
+ create_package(OSX_X86_TARGET, 'osx')
49
+ end
50
+
51
+ desc 'Package KPM for OSX arm64'
52
+ task arm64: [:bundle_install, "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{OSX_ARM_TARGET}.bottle.tar.gz"] do
53
+ ensure_ruby_version
54
+ create_package(OSX_ARM_TARGET, 'osx-arm64')
55
+ end
39
56
  end
40
57
 
41
58
  desc 'Install gems to local directory'
@@ -43,15 +60,12 @@ namespace :package do
43
60
  # abort if version packaging does not exist on repository
44
61
  abort "KPM #{VERSION} does not exists in the repository." unless gem_exists?
45
62
 
46
- # Note! Must match TRAVELING_RUBY_VERSION above
47
- expected_ruby_version = TRAVELING_RUBY_VERSION.split('-')[-1]
48
- abort "You can only 'bundle install' using Ruby #{expected_ruby_version}, because that's what Traveling Ruby uses." if RUBY_VERSION !~ /#{Regexp.quote(expected_ruby_version)}/
49
63
  sh 'rm -rf packaging/tmp'
50
64
  sh 'mkdir -p packaging/tmp'
51
65
  sh 'cp packaging/Gemfile packaging/tmp/'
52
66
  sh "sed -i 's/VERSION/#{VERSION}/g' packaging/tmp/Gemfile"
53
67
 
54
- sh "rm -rf packaging/vendor/ruby/#{expected_ruby_version}/bundler" # if multiple clones of same repo, may load in wrong one
68
+ sh 'rm -rf packaging/vendor/ruby/2.*/bundler' # if multiple clones of same repo, may load in wrong one
55
69
 
56
70
  Bundler.with_clean_env do
57
71
  sh 'cd packaging/tmp && env BUNDLE_IGNORE_CONFIG=1 bundle install --path ../vendor --without development'
@@ -80,28 +94,42 @@ namespace :package do
80
94
  end
81
95
  end
82
96
 
83
- file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86.tar.gz" do
84
- download_runtime('linux-x86')
97
+ file "packaging/jruby-dist-#{JRUBY_VERSION}-bin.tar.gz" do
98
+ download_noarch_runtime
85
99
  end
86
100
 
87
- file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-linux-x86_64.tar.gz" do
88
- download_runtime('linux-x86_64')
101
+ file "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{LINUX_X86_TARGET}.bottle.tar.gz" do
102
+ download_portable_runtime(LINUX_X86_TARGET)
89
103
  end
90
104
 
91
- file "packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-osx.tar.gz" do
92
- download_runtime('osx')
105
+ file "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{OSX_X86_TARGET}.bottle.tar.gz" do
106
+ download_portable_runtime(OSX_X86_TARGET)
93
107
  end
94
108
 
95
- def create_package(target)
96
- package_dir = "#{PACKAGE_NAME}-#{VERSION}-#{target}"
109
+ file "packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{OSX_ARM_TARGET}.bottle.tar.gz" do
110
+ download_portable_runtime(OSX_ARM_TARGET)
111
+ end
112
+
113
+ def create_package(target, package_dir_suffix)
114
+ pom_version = %r{<version>(.*)</version>}.match(File.read("#{__dir__}/../pom.xml"))[1]
115
+ package_dir = "#{PACKAGE_NAME}-#{pom_version}-#{package_dir_suffix}"
97
116
  sh "rm -rf #{package_dir}"
98
117
  sh "mkdir -p #{package_dir}/lib/ruby"
99
- sh "tar -xzf packaging/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}.tar.gz -C #{package_dir}/lib/ruby"
118
+ if target == NOARCH_TARGET
119
+ sh "tar -xzf packaging/jruby-dist-#{JRUBY_VERSION}-bin.tar.gz -C #{package_dir}/lib/ruby --strip-components 1"
120
+ else
121
+ sh "tar -xzf packaging/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{target}.bottle.tar.gz -C #{package_dir}/lib/ruby --strip-components 2"
122
+ end
100
123
 
101
124
  sh "cp packaging/kpm.sh #{package_dir}/kpm"
102
125
  sh "chmod +x packaging/kpm.sh #{package_dir}/kpm"
103
126
 
104
127
  sh "cp -pR packaging/vendor #{package_dir}/lib/"
128
+ if target == NOARCH_TARGET
129
+ # Need to tweak a few things to make it work with JRuby
130
+ sh "cp #{package_dir}/lib/ruby/bin/jruby #{package_dir}/lib/ruby/bin/ruby"
131
+ sh "mv #{package_dir}/lib/vendor/ruby #{package_dir}/lib/vendor/jruby"
132
+ end
105
133
 
106
134
  sh "cp packaging/Gemfile* #{package_dir}/lib/vendor/"
107
135
  sh "sed -i 's/VERSION/#{VERSION}/g' #{package_dir}/lib/vendor/Gemfile"
@@ -114,9 +142,14 @@ def create_package(target)
114
142
  sh "rm -rf #{package_dir}"
115
143
  end
116
144
 
117
- def download_runtime(target)
145
+ def download_noarch_runtime
146
+ sh 'mkdir -p packaging && cd packaging && curl -L -O --fail ' \
147
+ "https://repo1.maven.org/maven2/org/jruby/jruby-dist/#{JRUBY_VERSION}/jruby-dist-#{JRUBY_VERSION}-bin.tar.gz"
148
+ end
149
+
150
+ def download_portable_runtime(target)
118
151
  sh 'mkdir -p packaging && cd packaging && curl -L -O --fail ' \
119
- "https://d6r77u77i8pq3.cloudfront.net/releases/traveling-ruby-#{TRAVELING_RUBY_VERSION}-#{target}.tar.gz"
152
+ "https://github.com/Homebrew/homebrew-portable-ruby/releases/download/#{HOMEBREW_PORTABLE_RUBY_VERSION}/portable-ruby-#{HOMEBREW_PORTABLE_RUBY_VERSION}.#{target}.bottle.tar.gz"
120
153
  end
121
154
 
122
155
  def gem_exists?
@@ -126,3 +159,9 @@ def gem_exists?
126
159
  specification = YAML.load(response)
127
160
  specification.instance_of?(Gem::Specification)
128
161
  end
162
+
163
+ def ensure_ruby_version
164
+ # Note! Must match HOMEBREW_PORTABLE_RUBY_VERSION above
165
+ expected_ruby_version = HOMEBREW_PORTABLE_RUBY_VERSION.split('_')[0]
166
+ abort "You can only 'bundle install' using Ruby #{expected_ruby_version}, because that's what homebrew-portable-ruby uses." if RUBY_VERSION !~ /#{Regexp.quote(expected_ruby_version)}/
167
+ end
metadata CHANGED
@@ -1,71 +1,89 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kpm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.0
4
+ version: 0.11.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: 2022-05-18 00:00:00.000000000 Z
11
+ date: 2025-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: highline
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: 1.6.21
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: 2.1.0
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
23
26
  requirements:
24
- - - "~>"
27
+ - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: 1.6.21
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: 2.1.0
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: killbill-client
29
35
  requirement: !ruby/object:Gem::Requirement
30
36
  requirements:
31
- - - "~>"
37
+ - - ">="
32
38
  - !ruby/object:Gem::Version
33
- version: '3.2'
39
+ version: '0'
34
40
  type: :runtime
35
41
  prerelease: false
36
42
  version_requirements: !ruby/object:Gem::Requirement
37
43
  requirements:
38
- - - "~>"
44
+ - - ">="
39
45
  - !ruby/object:Gem::Version
40
- version: '3.2'
46
+ version: '0'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rubyzip
43
49
  requirement: !ruby/object:Gem::Requirement
44
50
  requirements:
45
- - - "~>"
51
+ - - ">="
46
52
  - !ruby/object:Gem::Version
47
- version: 1.3.0
53
+ version: '1.3'
54
+ - - "<"
55
+ - !ruby/object:Gem::Version
56
+ version: '2.4'
48
57
  type: :runtime
49
58
  prerelease: false
50
59
  version_requirements: !ruby/object:Gem::Requirement
51
60
  requirements:
52
- - - "~>"
61
+ - - ">="
53
62
  - !ruby/object:Gem::Version
54
- version: 1.3.0
63
+ version: '1.3'
64
+ - - "<"
65
+ - !ruby/object:Gem::Version
66
+ version: '2.4'
55
67
  - !ruby/object:Gem::Dependency
56
68
  name: thor
57
69
  requirement: !ruby/object:Gem::Requirement
58
70
  requirements:
59
- - - "~>"
71
+ - - ">="
60
72
  - !ruby/object:Gem::Version
61
73
  version: 0.19.1
74
+ - - "<"
75
+ - !ruby/object:Gem::Version
76
+ version: 1.3.0
62
77
  type: :runtime
63
78
  prerelease: false
64
79
  version_requirements: !ruby/object:Gem::Requirement
65
80
  requirements:
66
- - - "~>"
81
+ - - ">="
67
82
  - !ruby/object:Gem::Version
68
83
  version: 0.19.1
84
+ - - "<"
85
+ - !ruby/object:Gem::Version
86
+ version: 1.3.0
69
87
  - !ruby/object:Gem::Dependency
70
88
  name: gem-release
71
89
  requirement: !ruby/object:Gem::Requirement
@@ -108,6 +126,20 @@ dependencies:
108
126
  - - "~>"
109
127
  - !ruby/object:Gem::Version
110
128
  version: '3.9'
129
+ - !ruby/object:Gem::Dependency
130
+ name: rubocop
131
+ requirement: !ruby/object:Gem::Requirement
132
+ requirements:
133
+ - - "~>"
134
+ - !ruby/object:Gem::Version
135
+ version: 0.88.0
136
+ type: :development
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - "~>"
141
+ - !ruby/object:Gem::Version
142
+ version: 0.88.0
111
143
  description: A package manager for Kill Bill.
112
144
  email: killbilling-users@googlegroups.com
113
145
  executables:
@@ -159,7 +191,6 @@ files:
159
191
  - lib/kpm/system_helpers/system_proxy.rb
160
192
  - lib/kpm/tasks.rb
161
193
  - lib/kpm/tenant_config.rb
162
- - lib/kpm/tomcat_manager.rb
163
194
  - lib/kpm/trace_logger.rb
164
195
  - lib/kpm/uninstaller.rb
165
196
  - lib/kpm/utils.rb
@@ -168,7 +199,6 @@ files:
168
199
  - packaging/bundler-config
169
200
  - packaging/kpm.sh
170
201
  - pom.xml
171
- - release.sh
172
202
  - spec/kpm/remote/base_artifact_spec.rb
173
203
  - spec/kpm/remote/base_installer_spec.rb
174
204
  - spec/kpm/remote/cloudsmith_api_calls_spec.rb
@@ -181,7 +211,6 @@ files:
181
211
  - spec/kpm/remote/nexus_facade_spec.rb
182
212
  - spec/kpm/remote/tenant_config_spec.rb
183
213
  - spec/kpm/remote/tenant_config_spec.yml
184
- - spec/kpm/remote/tomcat_manager_spec.rb
185
214
  - spec/kpm/unit/actions_spec.rb
186
215
  - spec/kpm/unit/base_artifact_spec.rb
187
216
  - spec/kpm/unit/cpu_information_spec.rb
@@ -223,7 +252,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
223
252
  - !ruby/object:Gem::Version
224
253
  version: '0'
225
254
  requirements: []
226
- rubygems_version: 3.0.8
255
+ rubygems_version: 3.3.26
227
256
  signing_key:
228
257
  specification_version: 4
229
258
  summary: Kill Bill package manager.
@@ -1,95 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'pathname'
4
- require 'net/http'
5
- require 'uri'
6
-
7
- module KPM
8
- class TomcatManager
9
- DOWNLOAD_URL = 'https://s3.amazonaws.com/kb-binaries/apache-tomcat-7.0.42.tar.gz'
10
-
11
- def initialize(tomcat_dir, logger)
12
- @tomcat_dir = Pathname.new(tomcat_dir)
13
- @logger = logger
14
- end
15
-
16
- def download
17
- uri = URI.parse(DOWNLOAD_URL)
18
-
19
- path = nil
20
- Dir.mktmpdir do |dir|
21
- file = Pathname.new(dir).join('tomcat.tar.gz')
22
-
23
- @logger.info "Starting download of #{DOWNLOAD_URL} to #{file}"
24
- Net::HTTP.start(uri.host, uri.port, use_ssl: uri.scheme == 'https') do |http|
25
- File.open(file, 'wb+') do |f|
26
- http.get(uri.path) do |body|
27
- f.write(body)
28
- end
29
- end
30
- end
31
-
32
- path = Utils.unpack_tgz(file.to_s, @tomcat_dir, true)
33
- end
34
-
35
- @logger.info "Successful installation of #{DOWNLOAD_URL} to #{path}"
36
- path
37
- end
38
-
39
- def setup
40
- # Remove default webapps
41
- %w[ROOT docs examples host-manager manager].each do |webapp|
42
- FileUtils.rm_rf(@tomcat_dir.join('webapps').join(webapp))
43
- end
44
-
45
- # Update Root.xml
46
- root_xml_dir = @tomcat_dir.join('conf').join('Catalina').join('localhost')
47
- FileUtils.mkdir_p(root_xml_dir)
48
- File.write(root_xml_dir.join('ROOT.xml'), '<Context></Context>')
49
-
50
- # Setup default properties
51
- setenv_sh_path = @tomcat_dir.join('bin').join('setenv.sh')
52
-
53
- File.write(setenv_sh_path, "export CATALINA_OPTS=\"$CATALINA_OPTS #{default_java_properties}\"")
54
-
55
- @tomcat_dir.join('webapps').join('ROOT.war').to_s
56
- end
57
-
58
- def help
59
- "Tomcat installed at #{@tomcat_dir}
60
- Start script: #{@tomcat_dir.join('bin').join('startup.sh')}
61
- Stop script: #{@tomcat_dir.join('bin').join('shutdown.sh')}
62
- Logs: #{@tomcat_dir.join('logs')}"
63
- end
64
-
65
- private
66
-
67
- def default_java_properties
68
- <<HEREDOC.gsub(/\s+/, ' ').strip
69
- -server
70
- -showversion
71
- -XX:+PrintCommandLineFlags
72
- -XX:+UseCodeCacheFlushing
73
- -XX:PermSize=512m
74
- -XX:MaxPermSize=1G
75
- -Xms1G
76
- -Xmx2G
77
- -XX:+CMSClassUnloadingEnabled
78
- -XX:-OmitStackTraceInFastThrow
79
- -XX:+UseParNewGC
80
- -XX:+UseConcMarkSweepGC
81
- -XX:+CMSConcurrentMTEnabled
82
- -XX:+CMSParallelRemarkEnabled
83
- -XX:+UseCMSInitiatingOccupancyOnly
84
- -XX:CMSInitiatingOccupancyFraction=70
85
- -XX:+ScavengeBeforeFullGC
86
- -XX:+CMSScavengeBeforeRemark
87
- -XX:NewSize=600m
88
- -XX:MaxNewSize=900m
89
- -XX:SurvivorRatio=10
90
- -XX:+DisableExplicitGC
91
- -Djava.security.egd=file:/dev/./urandom
92
- HEREDOC
93
- end
94
- end
95
- end
data/release.sh DELETED
@@ -1,60 +0,0 @@
1
- #!/usr/bin/env bash
2
-
3
- set -e
4
-
5
- BUNDLE=${BUNDLE-"bundle exec"}
6
- MVN=${MVN-"mvn"}
7
-
8
- if [ 'GNU' != "$(tar --help | grep GNU | head -1 | awk '{print $1}')" ]; then
9
- echo 'Unable to release: make sure to use GNU tar'
10
- exit 1
11
- fi
12
-
13
- # See TRAVELING_RUBY_VERSION in tasks/package.rake
14
- if [[ "$(ruby --version 2>&1 | tail -1 | awk '{print $2}')" != 2.2.2* ]]; then
15
- echo 'Ruby version 2.2.2 is required'
16
- exit 1
17
- fi
18
-
19
- VERSION=`grep -E '<version>([0-9]+\.[0-9]+\.[0-9]+)</version>' pom.xml | sed 's/[\t \n]*<version>\(.*\)<\/version>[\t \n]*/\1/'`
20
- if [[ -z "$NO_RELEASE" && "$VERSION" != "$(ruby -r./lib/kpm/version.rb -e "print KPM::VERSION")" ]]; then
21
- echo 'Unable to release: make sure the versions in pom.xml and VERSION match'
22
- exit 1
23
- fi
24
-
25
- if [[ -z "$NO_RELEASE" ]]; then
26
- echo 'Pushing the gem to Rubygems'
27
- $BUNDLE rake release
28
- fi
29
-
30
- # Wait for the gem to be propagated
31
- sleep 15
32
-
33
- $BUNDLE rake package
34
-
35
- if [[ -z "$NO_RELEASE" ]]; then
36
- GOAL=gpg:sign-and-deploy-file
37
- REPOSITORY_ID=ossrh-releases
38
- URL=https://oss.sonatype.org/service/local/staging/deploy/maven2/
39
- REPO_VERSION=$VERSION
40
- else
41
- GOAL=deploy:deploy-file
42
- REPOSITORY_ID=sonatype-nexus-snapshots
43
- URL=https://oss.sonatype.org/content/repositories/snapshots/
44
- REPO_VERSION="$VERSION-SNAPSHOT"
45
- fi
46
-
47
- echo "Pushing artifacts to Maven Central"
48
- $MVN $GOAL \
49
- -DgroupId=org.kill-bill.billing.installer \
50
- -DartifactId=kpm \
51
- -Dversion=$REPO_VERSION \
52
- -Dpackaging=tar.gz \
53
- -DrepositoryId=$REPOSITORY_ID \
54
- -Durl=$URL \
55
- -Dfile=kpm-$VERSION-linux-x86_64.tar.gz \
56
- -Dclassifier=linux-x86_64 \
57
- -Dfiles=kpm-$VERSION-linux-x86.tar.gz,kpm-$VERSION-osx.tar.gz \
58
- -Dclassifiers=linux-x86,osx \
59
- -Dtypes=tar.gz,tar.gz \
60
- -DpomFile=pom.xml
@@ -1,22 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require 'spec_helper'
4
-
5
- describe KPM::TomcatManager do
6
- before(:all) do
7
- @logger = Logger.new(STDOUT)
8
- @logger.level = Logger::INFO
9
- end
10
-
11
- it 'should be able to download and unpack tomcat' do
12
- Dir.mktmpdir do |dir|
13
- manager = KPM::TomcatManager.new(dir, @logger)
14
-
15
- tomcat_path = manager.download
16
- expect(tomcat_path).not_to be_nil
17
-
18
- root_war_path = manager.setup
19
- expect(root_war_path).not_to be_nil
20
- end
21
- end
22
- end