prebundler 0.9.0 → 0.9.1
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/CHANGELOG.md +5 -0
- data/lib/prebundler.rb +12 -0
- data/lib/prebundler/gem_ref.rb +4 -12
- data/lib/prebundler/gemfile_subset.rb +11 -13
- data/lib/prebundler/s3_backend.rb +1 -1
- data/lib/prebundler/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f49a9f3fcf95202953b7e9b0ff30de9fc464a773e2e7758b66405aa785fdf469
|
4
|
+
data.tar.gz: efc796dedb3083913832bd140cf3e7d94d7591177beb199f24f98ef0b5ea659d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 53ba3344cdc671135fd4ec13bced1631ad7207c76a08086544ce3c012bf15a4af363b5d1314afb59b26f6642e107110ecd51f9d409b8b4816640e5bbaf4d61e2
|
7
|
+
data.tar.gz: 58575cb59c0101a01578c27e171f131b32a471af4b7f0d7161ba68a342d502578311525a1689a62c563dc17457a2b3b141a757debdab08ccf4364b3dd4b1ab95
|
data/CHANGELOG.md
CHANGED
@@ -1,3 +1,8 @@
|
|
1
|
+
0.9.1
|
2
|
+
===
|
3
|
+
- Woops, also use platform version when determining the gems that have already been built.
|
4
|
+
- Fix the subsetter so it outputs gems inside correct source blocks.
|
5
|
+
|
1
6
|
0.9.0
|
2
7
|
===
|
3
8
|
- Include platform version when uploading gem tarballs to the storage backend (this will cause bundles installed by previous versions of prebundler to be rebuilt).
|
data/lib/prebundler.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'ohai'
|
2
|
+
|
1
3
|
module Prebundler
|
2
4
|
autoload :Cli, 'prebundler/cli'
|
3
5
|
autoload :Configurator, 'prebundler/configurator'
|
@@ -23,5 +25,15 @@ module Prebundler
|
|
23
25
|
def configured?
|
24
26
|
!!@config
|
25
27
|
end
|
28
|
+
|
29
|
+
def platform_version
|
30
|
+
@platform_version ||= "#{system_info['platform']}-#{system_info['platform_version']}"
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def system_info
|
36
|
+
@@system_info ||= Ohai::System.new.all_plugins(['platform'])
|
37
|
+
end
|
26
38
|
end
|
27
39
|
end
|
data/lib/prebundler/gem_ref.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'set'
|
3
|
-
require 'ohai'
|
4
3
|
|
5
4
|
module Prebundler
|
6
5
|
class GemRef
|
@@ -119,21 +118,14 @@ module Prebundler
|
|
119
118
|
end
|
120
119
|
|
121
120
|
def relative_gemspec_files
|
122
|
-
|
121
|
+
Dir.chdir(bundle_path) do
|
122
|
+
Dir.glob(File.join('specifications', "#{id}*.gemspec"))
|
123
|
+
end
|
123
124
|
end
|
124
125
|
|
125
126
|
def tar_file
|
126
|
-
|
127
|
-
file = File.join(Bundler.local_platform.to_s, platform_version, Gem.extension_api_version.to_s, "#{id}.tar")
|
127
|
+
file = File.join(Bundler.local_platform.to_s, Prebundler.platform_version, Gem.extension_api_version.to_s, "#{id}.tar")
|
128
128
|
prefix && !prefix.empty? ? File.join(prefix, file) : file
|
129
129
|
end
|
130
|
-
|
131
|
-
def system_info
|
132
|
-
@@system_info ||= Ohai::System.new.all_plugins(['platform'])
|
133
|
-
end
|
134
|
-
|
135
|
-
def gemspec_file
|
136
|
-
"#{id}.gemspec"
|
137
|
-
end
|
138
130
|
end
|
139
131
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
require 'set'
|
2
|
+
|
1
3
|
module Prebundler
|
2
4
|
class GemfileSubset
|
3
5
|
attr_reader :gemfile, :included_gems, :additional_gems, :raw
|
@@ -8,7 +10,7 @@ module Prebundler
|
|
8
10
|
|
9
11
|
def initialize(gemfile)
|
10
12
|
@gemfile = gemfile
|
11
|
-
@included_gems =
|
13
|
+
@included_gems = Set.new
|
12
14
|
@additional_gems = []
|
13
15
|
@raw = []
|
14
16
|
end
|
@@ -46,18 +48,12 @@ module Prebundler
|
|
46
48
|
end
|
47
49
|
|
48
50
|
''.tap do |result|
|
49
|
-
|
51
|
+
groups.each_with_index do |(remote, _), idx|
|
50
52
|
result << "\n" if idx > 0
|
51
53
|
result << "source '#{remote}' do\n"
|
52
54
|
result << groups[remote].map { |g| " #{g}" }.join("\n")
|
53
55
|
result << "\nend\n"
|
54
56
|
end
|
55
|
-
|
56
|
-
unless groups[nil].empty?
|
57
|
-
result << "\n"
|
58
|
-
result << groups[nil].join("\n")
|
59
|
-
result << "\n"
|
60
|
-
end
|
61
57
|
end
|
62
58
|
end
|
63
59
|
|
@@ -67,24 +63,26 @@ module Prebundler
|
|
67
63
|
Hash.new { |h, k| h[k] = [] }.tap do |ret|
|
68
64
|
deps.each do |dep|
|
69
65
|
if spec = gemfile.gems[dep.name]
|
70
|
-
ret[spec.remote] << spec.to_gem
|
66
|
+
ret[spec.remote || GemRef::DEFAULT_SOURCE] << spec.to_gem
|
71
67
|
else
|
72
68
|
req_str = dep.requirements_list.map { |r| "'#{r}'" }.join(', ')
|
73
|
-
ret[
|
69
|
+
ret[GemRef::DEFAULT_SOURCE] << "gem '#{dep.name}', #{req_str}"
|
74
70
|
end
|
75
71
|
end
|
76
72
|
end
|
77
73
|
end
|
78
74
|
|
79
75
|
def aggregate_deps(include_dev_deps)
|
80
|
-
Set.new.tap do |result|
|
76
|
+
dep_names = Set.new.tap do |result|
|
81
77
|
included_gems.each do |included_gem_name|
|
82
78
|
gemfile.gems[included_gem_name].gemspecs.each do |gemspec|
|
83
|
-
result.merge(gemspec.runtime_dependencies)
|
84
|
-
result.merge(gemspec.development_dependencies) if include_dev_deps
|
79
|
+
result.merge(gemspec.runtime_dependencies.map(&:name))
|
80
|
+
result.merge(gemspec.development_dependencies.map(&:name)) if include_dev_deps
|
85
81
|
end
|
86
82
|
end
|
87
83
|
end
|
84
|
+
|
85
|
+
dep_names.map { |dep_name| gemfile.gems[dep_name] }.compact
|
88
86
|
end
|
89
87
|
end
|
90
88
|
end
|
@@ -31,7 +31,7 @@ module Prebundler
|
|
31
31
|
files = []
|
32
32
|
base_options = {
|
33
33
|
bucket: bucket,
|
34
|
-
prefix: "#{Bundler.local_platform.to_s}/#{Gem.extension_api_version.to_s}"
|
34
|
+
prefix: "#{Bundler.local_platform.to_s}/#{Prebundler.platform_version}/#{Gem.extension_api_version.to_s}"
|
35
35
|
}
|
36
36
|
|
37
37
|
while truncated
|
data/lib/prebundler/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: prebundler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Cameron Dutro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-04-
|
11
|
+
date: 2019-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|