vanagon 0.7.1 → 0.8.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/git/basic_submodules.rb +53 -0
- data/lib/vanagon/component.rb +19 -13
- data/lib/vanagon/component/dsl.rb +6 -5
- data/lib/vanagon/component/source.rb +80 -53
- data/lib/vanagon/component/source/git.rb +129 -20
- data/lib/vanagon/component/source/http.rb +41 -73
- data/lib/vanagon/component/source/local.rb +105 -62
- data/lib/vanagon/platform/deb.rb +8 -0
- data/lib/vanagon/platform/rpm.rb +4 -0
- data/lib/vanagon/project/dsl.rb +3 -1
- data/lib/vanagon/utilities.rb +11 -54
- data/spec/fixtures/files/fake_file_ext.7z +0 -0
- data/spec/fixtures/files/fake_file_ext.bz +0 -0
- data/spec/fixtures/files/fake_file_ext.bz2 +0 -0
- data/spec/fixtures/files/fake_file_ext.cpio +0 -0
- data/spec/fixtures/files/fake_file_ext.gz +0 -0
- data/spec/fixtures/files/fake_file_ext.rar +0 -0
- data/spec/fixtures/files/fake_file_ext.tar +0 -0
- data/spec/fixtures/files/fake_file_ext.tar.bz2 +0 -0
- data/spec/fixtures/files/fake_file_ext.tar.xz +0 -0
- data/spec/fixtures/files/fake_file_ext.tbz +0 -0
- data/spec/fixtures/files/fake_file_ext.tbz2 +0 -0
- data/spec/fixtures/files/fake_file_ext.txz +0 -0
- data/spec/fixtures/files/fake_file_ext.xz +0 -0
- data/spec/fixtures/files/fake_file_ext.z +0 -0
- data/spec/lib/vanagon/component/source/git_spec.rb +25 -17
- data/spec/lib/vanagon/component/source/http_spec.rb +2 -24
- data/spec/lib/vanagon/component/source/{localsource_spec.rb → local_spec.rb} +8 -8
- data/spec/lib/vanagon/component/source_spec.rb +150 -67
- data/spec/lib/vanagon/platform_spec.rb +40 -21
- data/spec/lib/vanagon/project/dsl_spec.rb +28 -3
- data/spec/lib/vanagon/utilities_spec.rb +0 -44
- metadata +28 -13
@@ -6,14 +6,29 @@ describe 'Vanagon::Project::DSL' do
|
|
6
6
|
let (:project_block) {
|
7
7
|
"project 'test-fixture' do |proj|
|
8
8
|
end" }
|
9
|
-
let
|
9
|
+
let(:configdir) { '/a/b/c' }
|
10
10
|
|
11
11
|
describe '#version_from_git' do
|
12
12
|
it 'sets the version based on the git describe' do
|
13
13
|
expect(Vanagon::Driver).to receive(:configdir).and_return(configdir)
|
14
14
|
proj = Vanagon::Project::DSL.new('test-fixture', {})
|
15
15
|
proj.instance_eval(project_block)
|
16
|
-
|
16
|
+
|
17
|
+
# Lying is bad. You shouldn't lie. But sometimes when you're
|
18
|
+
# working with gross abstractions piled into the shape of
|
19
|
+
# an indescribable cyclopean obelisk, you might have to lie
|
20
|
+
# a little bit. Instead of trying to mock an entire Git instance,
|
21
|
+
# we'll just instantiate a Double and allow it to receive calls
|
22
|
+
# to .describe like it was a valid Git instance.
|
23
|
+
repo = double("repo")
|
24
|
+
expect(::Git)
|
25
|
+
.to receive(:open)
|
26
|
+
.and_return(repo)
|
27
|
+
|
28
|
+
allow(repo)
|
29
|
+
.to receive(:describe)
|
30
|
+
.and_return('1.2.3-1234')
|
31
|
+
|
17
32
|
proj.version_from_git
|
18
33
|
expect(proj._project.version).to eq('1.2.3.1234')
|
19
34
|
end
|
@@ -21,7 +36,17 @@ end" }
|
|
21
36
|
expect(Vanagon::Driver).to receive(:configdir).and_return(configdir)
|
22
37
|
proj = Vanagon::Project::DSL.new('test-fixture', {})
|
23
38
|
proj.instance_eval(project_block)
|
24
|
-
|
39
|
+
|
40
|
+
# See previous description of "indescribable cyclopean obelisk"
|
41
|
+
repo = double("repo")
|
42
|
+
expect(::Git)
|
43
|
+
.to receive(:open)
|
44
|
+
.and_return(repo)
|
45
|
+
|
46
|
+
expect(repo)
|
47
|
+
.to receive(:describe)
|
48
|
+
.and_return('1.2.3---1234')
|
49
|
+
|
25
50
|
proj.version_from_git
|
26
51
|
expect(proj._project.version).to eq('1.2.3.1234')
|
27
52
|
end
|
@@ -52,50 +52,6 @@ describe "Vanagon::Utilities" do
|
|
52
52
|
end
|
53
53
|
end
|
54
54
|
|
55
|
-
describe "#is_git_repo?" do
|
56
|
-
let(:dir) { Dir.mktmpdir }
|
57
|
-
after(:each) { FileUtils.rm_rf(dir) }
|
58
|
-
|
59
|
-
it "returns false if not in a git repo" do
|
60
|
-
expect(Vanagon::Utilities.is_git_repo?(dir)).to be(false)
|
61
|
-
end
|
62
|
-
|
63
|
-
it "returns true if in a git repo" do
|
64
|
-
Dir.chdir(dir) do
|
65
|
-
Vanagon::Utilities.git('init')
|
66
|
-
end
|
67
|
-
|
68
|
-
expect(Vanagon::Utilities.is_git_repo?(dir)).to be(true)
|
69
|
-
end
|
70
|
-
end
|
71
|
-
|
72
|
-
describe "#git_version" do
|
73
|
-
let(:dir) { Dir.mktmpdir }
|
74
|
-
after(:each) { FileUtils.rm_rf(dir) }
|
75
|
-
|
76
|
-
it "raises an exception if not in a git repo" do
|
77
|
-
expect { Vanagon::Utilities.git_version(dir) }.to raise_error(RuntimeError)
|
78
|
-
end
|
79
|
-
|
80
|
-
it "returns a git tag based version if there are tags in the repo" do
|
81
|
-
Dir.chdir(dir) do
|
82
|
-
Vanagon::Utilities.git('init')
|
83
|
-
Vanagon::Utilities.git('commit --allow-empty -m "testing this ish"')
|
84
|
-
Vanagon::Utilities.git('tag 1.2.3')
|
85
|
-
end
|
86
|
-
|
87
|
-
expect(Vanagon::Utilities.git_version(dir)).to eq('1.2.3')
|
88
|
-
end
|
89
|
-
|
90
|
-
it "returns empty string if there are no tags" do
|
91
|
-
Dir.chdir(dir) do
|
92
|
-
Vanagon::Utilities.git('init')
|
93
|
-
end
|
94
|
-
|
95
|
-
expect(Vanagon::Utilities.git_version(dir)).to be_empty
|
96
|
-
end
|
97
|
-
end
|
98
|
-
|
99
55
|
describe '#ssh_command' do
|
100
56
|
it 'adds the correct flags to the command if VANAGON_SSH_KEY is set' do
|
101
57
|
expect(Vanagon::Utilities).to receive(:find_program_on_path).with('ssh').and_return('/tmp/ssh')
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vanagon
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.8.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Puppet Labs
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: git
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
20
|
-
type: :
|
19
|
+
version: 1.3.0
|
20
|
+
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.3.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: fustigit
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
34
|
-
type: :
|
33
|
+
version: 0.1.3
|
34
|
+
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 0.1.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: lock_manager
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -73,6 +73,7 @@ files:
|
|
73
73
|
- bin/inspect
|
74
74
|
- bin/repo
|
75
75
|
- bin/ship
|
76
|
+
- lib/git/basic_submodules.rb
|
76
77
|
- lib/makefile.rb
|
77
78
|
- lib/vanagon.rb
|
78
79
|
- lib/vanagon/common.rb
|
@@ -149,8 +150,22 @@ files:
|
|
149
150
|
- spec/fixtures/component/test-fixture.json
|
150
151
|
- spec/fixtures/files/fake_dir.tar.gz
|
151
152
|
- spec/fixtures/files/fake_file.txt
|
153
|
+
- spec/fixtures/files/fake_file_ext.7z
|
154
|
+
- spec/fixtures/files/fake_file_ext.bz
|
155
|
+
- spec/fixtures/files/fake_file_ext.bz2
|
156
|
+
- spec/fixtures/files/fake_file_ext.cpio
|
157
|
+
- spec/fixtures/files/fake_file_ext.gz
|
158
|
+
- spec/fixtures/files/fake_file_ext.rar
|
159
|
+
- spec/fixtures/files/fake_file_ext.tar
|
160
|
+
- spec/fixtures/files/fake_file_ext.tar.bz2
|
152
161
|
- spec/fixtures/files/fake_file_ext.tar.gz
|
162
|
+
- spec/fixtures/files/fake_file_ext.tar.xz
|
163
|
+
- spec/fixtures/files/fake_file_ext.tbz
|
164
|
+
- spec/fixtures/files/fake_file_ext.tbz2
|
153
165
|
- spec/fixtures/files/fake_file_ext.tgz
|
166
|
+
- spec/fixtures/files/fake_file_ext.txz
|
167
|
+
- spec/fixtures/files/fake_file_ext.xz
|
168
|
+
- spec/fixtures/files/fake_file_ext.z
|
154
169
|
- spec/fixtures/files/fake_file_ext.zip
|
155
170
|
- spec/fixtures/wix/resources/windows/wix/file-1.wxs
|
156
171
|
- spec/fixtures/wix/resources/windows/wix/file-2.wxs
|
@@ -168,7 +183,7 @@ files:
|
|
168
183
|
- spec/lib/vanagon/component/rules_spec.rb
|
169
184
|
- spec/lib/vanagon/component/source/git_spec.rb
|
170
185
|
- spec/lib/vanagon/component/source/http_spec.rb
|
171
|
-
- spec/lib/vanagon/component/source/
|
186
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
172
187
|
- spec/lib/vanagon/component/source_spec.rb
|
173
188
|
- spec/lib/vanagon/component_spec.rb
|
174
189
|
- spec/lib/vanagon/driver_spec.rb
|
@@ -214,7 +229,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
214
229
|
version: '0'
|
215
230
|
requirements: []
|
216
231
|
rubyforge_project:
|
217
|
-
rubygems_version: 2.
|
232
|
+
rubygems_version: 2.2.5
|
218
233
|
signing_key:
|
219
234
|
specification_version: 3
|
220
235
|
summary: All of your packages will fit into this van with this one simple trick.
|
@@ -226,7 +241,7 @@ test_files:
|
|
226
241
|
- spec/lib/vanagon/component/rules_spec.rb
|
227
242
|
- spec/lib/vanagon/component/source/git_spec.rb
|
228
243
|
- spec/lib/vanagon/component/source/http_spec.rb
|
229
|
-
- spec/lib/vanagon/component/source/
|
244
|
+
- spec/lib/vanagon/component/source/local_spec.rb
|
230
245
|
- spec/lib/vanagon/component/source_spec.rb
|
231
246
|
- spec/lib/vanagon/component_spec.rb
|
232
247
|
- spec/lib/vanagon/driver_spec.rb
|