kuby-prebundler 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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.