kuby-prebundler 0.1.0 → 0.2.0

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: f7d463fee6e63a5f20acc3771a8a9b2d9f545b32d6f6cb9a0f9aae8478a75721
4
- data.tar.gz: 194b616fac0ffca2102758cf6a639ef9e415bee951442fb4829e1fed366c04d5
3
+ metadata.gz: c6f45f6eecb45cfed9408bf4023807520ab3234dff370dc5549db578cefee5f6
4
+ data.tar.gz: f5f50608102e1ee4cbb4199697d33c5bd64df5db4083bb8d4eaa08e1aceed398
5
5
  SHA512:
6
- metadata.gz: ba7f32361414c9b7b6757225f2171b31e66b7ef62399ee52857604a37b561bffe11e0d62d72c053d527062035cf04faae71b408eb774001407882a85c39be0af
7
- data.tar.gz: 0ac60081f6d3de0d8889af5f454841a97b8ff2d3cdf2f1b165025b0c22a636b993810ad7899c5676d4788287dc978764e2c6ca17e6fb284d96eefafb1766f1f3
6
+ metadata.gz: 7a8fcd46da2fbeff38bf41d596b789156b7bb287de2729541aaebece6930c189226fb28f91e2dae73d66970c0fc0e5c0f4d307aecd925c831f84e2e3d7aab271
7
+ data.tar.gz: 7735408714047d242e9a9e530e23489ff78250c4bbd807e2bdad658c52fd9b969685a7f366bdf88d2e824914761a9dfd6f87ccb3a94d5af2b799e2aa6470f58f
data/CHANGELOG.md CHANGED
@@ -1,2 +1,6 @@
1
+ ## 0.2.0
2
+ * Use kuby-core's `LayerStack#replace` instead of `#delete` and `#insert`, which leads to unexpected phase order.
3
+ * Allow configuring the path to the config file.
4
+
1
5
  ## 0.1.0
2
6
  * Birthday!
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
12
12
 
13
13
  s.platform = Gem::Platform::RUBY
14
14
 
15
- s.add_dependency 'kuby-core', '>= 0.16.0', '< 1.0'
15
+ s.add_dependency 'kuby-core', '>= 0.20.0', '< 1.0'
16
16
 
17
17
  s.require_path = 'lib'
18
18
  s.files = Dir['{lib,spec}/**/*', 'Gemfile', 'LICENSE', 'CHANGELOG.md', 'README.md', 'Rakefile', 'kuby-prebundler.gemspec']
@@ -0,0 +1,11 @@
1
+ require 'kube-dsl'
2
+
3
+ module Kuby
4
+ module Prebundler
5
+ class Config
6
+ extend ::KubeDSL::ValueFields
7
+
8
+ value_fields :config_path
9
+ end
10
+ end
11
+ end
@@ -3,14 +3,27 @@ require 'kuby'
3
3
  module Kuby
4
4
  module Prebundler
5
5
  class Plugin < ::Kuby::Plugin
6
+ attr_reader :config
7
+
8
+ def configure(&block)
9
+ config.instance_eval(&block) if block
10
+ end
11
+
6
12
  def after_configuration
7
13
  bundler_phase = docker.bundler_phase
8
- docker.delete(:bundler_phase)
9
- docker.insert(:bundler_phase, PrebundlerPhase.new(environment, bundler_phase), after: :package_phase)
14
+
15
+ docker.replace(
16
+ :bundler_phase,
17
+ PrebundlerPhase.new(environment, bundler_phase, config)
18
+ )
10
19
  end
11
20
 
12
21
  private
13
22
 
23
+ def after_initialize
24
+ @config = Config.new
25
+ end
26
+
14
27
  def docker
15
28
  environment.docker
16
29
  end
@@ -3,11 +3,12 @@ require 'kuby'
3
3
  module Kuby
4
4
  module Prebundler
5
5
  class PrebundlerPhase < ::Kuby::Docker::Layer
6
- attr_accessor :prebundle_config, :bundler_phase
6
+ attr_reader :bundler_phase, :config
7
7
 
8
- def initialize(environment, bundler_phase)
8
+ def initialize(environment, bundler_phase, config)
9
9
  @bundler_phase = bundler_phase
10
10
  @bundler_phase.executable = 'prebundle'
11
+ @config = config
11
12
 
12
13
  super(environment)
13
14
  end
@@ -24,7 +25,7 @@ module Kuby
24
25
  dockerfile.arg('PREBUNDLER_ACCESS_KEY_ID')
25
26
  dockerfile.arg('PREBUNDLER_SECRET_ACCESS_KEY')
26
27
 
27
- dockerfile.copy(prebundle_config || '.prebundle_config', '.')
28
+ dockerfile.copy(config.config_path || '.prebundle_config', '.')
28
29
  dockerfile.run('gem', 'install', 'prebundler', '-v', "'< 1'")
29
30
 
30
31
  bundler_phase.apply_to(dockerfile)
@@ -1,5 +1,5 @@
1
1
  module Kuby
2
2
  module Prebundler
3
- VERSION = '0.1.0'.freeze
3
+ VERSION = '0.2.0'.freeze
4
4
  end
5
5
  end
@@ -1,5 +1,6 @@
1
1
  require 'kube-dsl'
2
2
  require 'kuby/prebundler/plugin'
3
+ require 'kuby/prebundler/config'
3
4
  require 'kuby/prebundler/prebundler_phase'
4
5
 
5
6
  Kuby.register_plugin(:prebundler, ::Kuby::Prebundler::Plugin)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kuby-prebundler
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cameron Dutro
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-01 00:00:00.000000000 Z
11
+ date: 2023-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: kuby-core
@@ -16,7 +16,7 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.16.0
19
+ version: 0.20.0
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
22
  version: '1.0'
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 0.16.0
29
+ version: 0.20.0
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
32
  version: '1.0'
@@ -44,6 +44,7 @@ files:
44
44
  - Rakefile
45
45
  - kuby-prebundler.gemspec
46
46
  - lib/kuby/prebundler.rb
47
+ - lib/kuby/prebundler/config.rb
47
48
  - lib/kuby/prebundler/plugin.rb
48
49
  - lib/kuby/prebundler/prebundler_phase.rb
49
50
  - lib/kuby/prebundler/version.rb
@@ -65,7 +66,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
66
  - !ruby/object:Gem::Version
66
67
  version: '0'
67
68
  requirements: []
68
- rubygems_version: 3.2.22
69
+ rubygems_version: 3.4.5
69
70
  signing_key:
70
71
  specification_version: 4
71
72
  summary: Use Prebundler to install your bundle when building Docker images with Kuby.