releasy 0.2.0rc1 → 0.2.0rc2
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.
- data/CHANGELOG.md +1 -1
- data/README.md +79 -65
- data/Rakefile +1 -1
- data/lib/releasy/builders.rb +1 -1
- data/lib/releasy/builders/builder.rb +6 -4
- data/lib/releasy/builders/osx_app.rb +49 -27
- data/lib/releasy/builders/source.rb +1 -3
- data/lib/releasy/builders/windows_builder.rb +3 -10
- data/lib/releasy/builders/windows_folder.rb +4 -6
- data/lib/releasy/builders/windows_installer.rb +3 -5
- data/lib/releasy/builders/windows_standalone.rb +1 -3
- data/lib/releasy/builders/{windows_folder_from_ruby_dist.rb → windows_wrapped.rb} +24 -22
- data/lib/releasy/cli/install_sfx.rb +3 -3
- data/lib/releasy/deployers.rb +12 -0
- data/lib/releasy/deployers/deployer.rb +28 -0
- data/lib/releasy/deployers/github.rb +109 -0
- data/lib/releasy/mixins/can_exclude_encoding.rb +22 -0
- data/lib/releasy/mixins/exec.rb +2 -2
- data/lib/releasy/mixins/has_gemspecs.rb +6 -6
- data/lib/releasy/mixins/has_packagers.rb +37 -0
- data/lib/releasy/mixins/log.rb +39 -0
- data/lib/releasy/mixins/register.rb +0 -1
- data/lib/releasy/packagers.rb +12 -0
- data/lib/releasy/{archivers → packagers}/dmg.rb +4 -4
- data/lib/releasy/{archivers → packagers}/exe.rb +4 -4
- data/lib/releasy/{archivers/archiver.rb → packagers/packager.rb} +20 -11
- data/lib/releasy/packagers/seven_zip.rb +12 -0
- data/lib/releasy/{archivers → packagers}/tar_bzip2.rb +4 -4
- data/lib/releasy/{archivers → packagers}/tar_gzip.rb +4 -4
- data/lib/releasy/{archivers/tar_archiver.rb → packagers/tar_packager.rb} +4 -4
- data/lib/releasy/{archivers → packagers}/zip.rb +4 -4
- data/lib/releasy/project.rb +105 -46
- data/lib/releasy/version.rb +1 -1
- data/lib/releasy/windows_wrapper_maker.rb +0 -3
- data/releasy.gemspec +1 -0
- data/test/releasy/builders/helpers/helper.rb +0 -1
- data/test/releasy/builders/osx_app_test.rb +18 -8
- data/test/releasy/builders/{windows_folder_from_ruby_dist_test.rb → windows_wrapped_test.rb} +16 -14
- data/test/releasy/deployers/github_test.rb +133 -0
- data/test/releasy/deployers/helpers/helper.rb +19 -0
- data/test/releasy/integration/source_test.rb +25 -6
- data/test/releasy/mixins/log_test.rb +15 -0
- data/test/releasy/mixins/register_test.rb +0 -1
- data/test/releasy/{archivers_test.rb → packagers_test.rb} +16 -19
- data/test/releasy/project_test.rb +33 -29
- data/test/teststrap.rb +3 -1
- data/test/yard_test.rb +1 -1
- metadata +55 -34
- data/lib/releasy/archivers.rb +0 -12
- data/lib/releasy/archivers/seven_zip.rb +0 -12
- data/lib/releasy/mixins/has_archivers.rb +0 -37
@@ -20,43 +20,43 @@ context Releasy::Project do
|
|
20
20
|
asserts(:name).nil
|
21
21
|
asserts(:underscored_name).nil
|
22
22
|
asserts(:version).nil
|
23
|
+
asserts(:description).nil
|
24
|
+
asserts(:underscored_description).nil
|
23
25
|
asserts(:executable).nil
|
24
26
|
asserts(:files).empty
|
25
27
|
asserts(:files).kind_of Rake::FileList
|
26
28
|
asserts(:exposed_files).empty
|
27
29
|
asserts(:exposed_files).kind_of Rake::FileList
|
28
|
-
asserts(:verbose?).equals true
|
29
30
|
asserts(:links).equals Hash.new
|
30
31
|
asserts(:create_md5s?).equals false
|
32
|
+
asserts(:encoding_excluded?).equals false
|
31
33
|
|
32
34
|
asserts(:to_s).equals "<Releasy::Project>"
|
33
35
|
asserts(:output_path).equals "pkg"
|
34
36
|
asserts(:folder_base).equals "pkg/" # Would be more, but dependent on name.
|
35
37
|
|
36
|
-
asserts("attempting to generate tasks without any outputs") { topic.send :generate_tasks }.raises Releasy::ConfigError, /
|
38
|
+
asserts("attempting to generate tasks without any outputs") { topic.send :generate_tasks }.raises Releasy::ConfigError, /Must use #add_build at least once before tasks can be generated/i
|
37
39
|
|
38
40
|
asserts(:active_builders).empty
|
39
41
|
asserts(:add_build, :source).kind_of Releasy::Builders::Source
|
40
42
|
asserts(:active_builders).size 1
|
41
|
-
asserts(:add_build, :source).raises(
|
43
|
+
asserts(:add_build, :source).raises(ArgumentError, /already have output :source/i)
|
42
44
|
asserts(:add_build, :unknown).raises(ArgumentError, /unsupported output/i)
|
43
45
|
|
44
|
-
asserts("
|
45
|
-
asserts(:
|
46
|
-
asserts("
|
47
|
-
asserts(:
|
48
|
-
asserts(:
|
46
|
+
asserts("active_packagers") { topic.send(:active_packagers, topic.send(:active_builders).first) }.empty
|
47
|
+
asserts(:add_package, :zip).kind_of Releasy::Packagers::Zip
|
48
|
+
asserts("active_packagers") { topic.send(:active_packagers, topic.send(:active_builders).first) }.size 1
|
49
|
+
asserts(:add_package, :zip).raises(ArgumentError, /already have archive format :zip/i)
|
50
|
+
asserts(:add_package, :unknown).raises(ArgumentError, /unsupported archive/i)
|
49
51
|
|
50
52
|
context "#verbose" do
|
51
|
-
hookup { topic.quiet }
|
52
53
|
hookup { topic.verbose }
|
53
|
-
asserts(:
|
54
|
+
asserts(:log_level).equals :verbose
|
54
55
|
end
|
55
56
|
|
56
|
-
context "#
|
57
|
-
hookup { topic.
|
58
|
-
|
59
|
-
asserts(:verbose?).equals false
|
57
|
+
context "#silent" do
|
58
|
+
hookup { topic.silent }
|
59
|
+
asserts(:log_level).equals :silent
|
60
60
|
end
|
61
61
|
|
62
62
|
context "#create_md5s" do
|
@@ -83,13 +83,14 @@ context Releasy::Project do
|
|
83
83
|
name "Test Project - (2a)"
|
84
84
|
version "v0.1.5"
|
85
85
|
|
86
|
-
|
87
|
-
|
86
|
+
add_package :"7z"
|
87
|
+
add_package :zip
|
88
|
+
exclude_encoding
|
88
89
|
|
89
90
|
add_build :source
|
90
91
|
add_build :osx_app do
|
91
|
-
|
92
|
-
extension "tgz"
|
92
|
+
add_package :tar_gz do
|
93
|
+
extension ".tgz"
|
93
94
|
end
|
94
95
|
wrapper Dir["../wrappers/gosu-mac-wrapper-*.tar.gz"].first
|
95
96
|
url "org.url.app"
|
@@ -105,21 +106,24 @@ context Releasy::Project do
|
|
105
106
|
end
|
106
107
|
end
|
107
108
|
|
109
|
+
asserts(:encoding_excluded?).equals true
|
108
110
|
asserts(:to_s).equals %[<Releasy::Project Test Project - (2a) v0.1.5>]
|
109
111
|
asserts(:name).equals "Test Project - (2a)"
|
110
112
|
asserts(:underscored_name).equals "test_project_2a"
|
111
113
|
asserts(:version).equals "v0.1.5"
|
112
114
|
asserts("file") { topic.files.to_a }.same_elements source_files
|
113
115
|
asserts(:underscored_version).equals "v0_1_5"
|
116
|
+
asserts(:description).equals "Test Project - (2a) v0.1.5"
|
117
|
+
asserts(:underscored_description).equals "test_project_2a_v0_1_5"
|
114
118
|
asserts(:executable).equals "bin/test_project_2a"
|
115
119
|
asserts(:folder_base).equals "pkg/test_project_2a_v0_1_5"
|
116
120
|
asserts(:links).equals "www.frog.com" => "Frog", "www2.fish.com" => "Fish"
|
117
121
|
|
118
122
|
asserts(:active_builders).size(Gem.win_platform? ? 3 : 2)
|
119
|
-
asserts("source
|
120
|
-
asserts("osx app
|
123
|
+
asserts("source active_packagers") { topic.send(:active_packagers, topic.send(:active_builders).find {|b| b.type == :source }) }.size 2
|
124
|
+
asserts("osx app active_packagers") { topic.send(:active_packagers, topic.send(:active_builders).find {|b| b.type == :osx_app }) }.size 3
|
121
125
|
if Gem.win_platform?
|
122
|
-
asserts("Windows standalone
|
126
|
+
asserts("Windows standalone active_packagers") { topic.send(:active_packagers, topic.send(:active_builders).find {|b| b.type == :windows_standalone }) }.size 2
|
123
127
|
end
|
124
128
|
|
125
129
|
asserts "add_build yields an instance_eval-ed Releasy::DSLWrapper" do
|
@@ -130,10 +134,10 @@ context Releasy::Project do
|
|
130
134
|
correct
|
131
135
|
end
|
132
136
|
|
133
|
-
asserts "
|
137
|
+
asserts "add_package yields an instance_eval-ed Releasy::DSLWrapper" do
|
134
138
|
correct = false
|
135
|
-
topic.
|
136
|
-
correct = (is_a?(Releasy::DSLWrapper) and owner.is_a?(Releasy::
|
139
|
+
topic.add_package :tar_gz do
|
140
|
+
correct = (is_a?(Releasy::DSLWrapper) and owner.is_a?(Releasy::Packagers::TarGzip))
|
137
141
|
end
|
138
142
|
correct
|
139
143
|
end
|
@@ -141,9 +145,9 @@ context Releasy::Project do
|
|
141
145
|
context "#generate_archive_tasks" do
|
142
146
|
asserts(:generate_archive_tasks).equals { topic }
|
143
147
|
|
144
|
-
should "call generate_tasks on all
|
148
|
+
should "call generate_tasks on all packagers" do
|
145
149
|
topic.send(:active_builders).each do |builder|
|
146
|
-
topic.send(:
|
150
|
+
topic.send(:active_packagers, builder).each {|a| mock(a).generate_tasks(builder.type.to_s.sub('_', ':'), builder.send(:folder), []) }
|
147
151
|
end
|
148
152
|
topic.send :generate_archive_tasks
|
149
153
|
end
|
@@ -169,12 +173,12 @@ context Releasy::Project do
|
|
169
173
|
p.name = "Test Project - (2a)"
|
170
174
|
p.version = "v0.1.5"
|
171
175
|
|
172
|
-
p.
|
173
|
-
p.
|
176
|
+
p.add_package :"7z"
|
177
|
+
p.add_package :zip
|
174
178
|
|
175
179
|
p.add_build :source
|
176
180
|
p.add_build :osx_app do |b|
|
177
|
-
b.
|
181
|
+
b.add_package :tar_gz do |a|
|
178
182
|
a.extension = ".tgz"
|
179
183
|
end
|
180
184
|
b.wrapper = Dir["../wrappers/gosu-mac-wrapper-*.tar.gz"].first
|
data/test/teststrap.rb
CHANGED
@@ -39,13 +39,15 @@ $original_path = Dir.pwd
|
|
39
39
|
|
40
40
|
def output_path; "../test_output"; end
|
41
41
|
|
42
|
+
Releasy::Mixins::Log.log_level = :silent
|
43
|
+
|
42
44
|
# Ensure that the output directory is clean before starting tests, but don't do it for every test.
|
43
45
|
output_dir = "test_output"
|
44
46
|
if File.directory? output_dir
|
45
47
|
puts "Deleting existing test outputs"
|
46
48
|
rm_r FileList["#{output_dir}/*"], :verbose => false
|
47
49
|
else
|
48
|
-
mkdir output_dir
|
50
|
+
mkdir output_dir, :verbose => false
|
49
51
|
end
|
50
52
|
|
51
53
|
|
data/test/yard_test.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: releasy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.0rc2
|
5
5
|
prerelease: 5
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-01-
|
12
|
+
date: 2012-01-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: ocra
|
16
|
-
requirement: &
|
16
|
+
requirement: &22452180 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 1.3.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *22452180
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: rake
|
27
|
-
requirement: &
|
27
|
+
requirement: &22451748 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ~>
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.9.2.2
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *22451748
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: cri
|
38
|
-
requirement: &
|
38
|
+
requirement: &22451352 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ~>
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 2.1.0
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *22451352
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: thor
|
49
|
-
requirement: &
|
49
|
+
requirement: &22450980 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ~>
|
@@ -54,10 +54,21 @@ dependencies:
|
|
54
54
|
version: 0.14.6
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *22450980
|
58
|
+
- !ruby/object:Gem::Dependency
|
59
|
+
name: net-github-upload
|
60
|
+
requirement: &22450644 !ruby/object:Gem::Requirement
|
61
|
+
none: false
|
62
|
+
requirements:
|
63
|
+
- - ~>
|
64
|
+
- !ruby/object:Gem::Version
|
65
|
+
version: 0.0.7
|
66
|
+
type: :runtime
|
67
|
+
prerelease: false
|
68
|
+
version_requirements: *22450644
|
58
69
|
- !ruby/object:Gem::Dependency
|
59
70
|
name: riot
|
60
|
-
requirement: &
|
71
|
+
requirement: &22450260 !ruby/object:Gem::Requirement
|
61
72
|
none: false
|
62
73
|
requirements:
|
63
74
|
- - ~>
|
@@ -65,10 +76,10 @@ dependencies:
|
|
65
76
|
version: 0.12.5
|
66
77
|
type: :development
|
67
78
|
prerelease: false
|
68
|
-
version_requirements: *
|
79
|
+
version_requirements: *22450260
|
69
80
|
- !ruby/object:Gem::Dependency
|
70
81
|
name: rr
|
71
|
-
requirement: &
|
82
|
+
requirement: &22449912 !ruby/object:Gem::Requirement
|
72
83
|
none: false
|
73
84
|
requirements:
|
74
85
|
- - ~>
|
@@ -76,10 +87,10 @@ dependencies:
|
|
76
87
|
version: 1.0.4
|
77
88
|
type: :development
|
78
89
|
prerelease: false
|
79
|
-
version_requirements: *
|
90
|
+
version_requirements: *22449912
|
80
91
|
- !ruby/object:Gem::Dependency
|
81
92
|
name: yard
|
82
|
-
requirement: &
|
93
|
+
requirement: &22449552 !ruby/object:Gem::Requirement
|
83
94
|
none: false
|
84
95
|
requirements:
|
85
96
|
- - ~>
|
@@ -87,10 +98,10 @@ dependencies:
|
|
87
98
|
version: 0.7.4
|
88
99
|
type: :development
|
89
100
|
prerelease: false
|
90
|
-
version_requirements: *
|
101
|
+
version_requirements: *22449552
|
91
102
|
- !ruby/object:Gem::Dependency
|
92
103
|
name: redcarpet
|
93
|
-
requirement: &
|
104
|
+
requirement: &22449180 !ruby/object:Gem::Requirement
|
94
105
|
none: false
|
95
106
|
requirements:
|
96
107
|
- - ~>
|
@@ -98,7 +109,7 @@ dependencies:
|
|
98
109
|
version: 2.0.1
|
99
110
|
type: :development
|
100
111
|
prerelease: false
|
101
|
-
version_requirements: *
|
112
|
+
version_requirements: *22449180
|
102
113
|
description: ! 'Releasy helps to make Ruby application releases simpler, by creating
|
103
114
|
and archiving source folders, Windows folders,
|
104
115
|
|
@@ -122,15 +133,6 @@ files:
|
|
122
133
|
- bin/7z.sfx
|
123
134
|
- bin/releasy
|
124
135
|
- lib/releasy.rb
|
125
|
-
- lib/releasy/archivers.rb
|
126
|
-
- lib/releasy/archivers/archiver.rb
|
127
|
-
- lib/releasy/archivers/dmg.rb
|
128
|
-
- lib/releasy/archivers/exe.rb
|
129
|
-
- lib/releasy/archivers/seven_zip.rb
|
130
|
-
- lib/releasy/archivers/tar_archiver.rb
|
131
|
-
- lib/releasy/archivers/tar_bzip2.rb
|
132
|
-
- lib/releasy/archivers/tar_gzip.rb
|
133
|
-
- lib/releasy/archivers/zip.rb
|
134
136
|
- lib/releasy/builders.rb
|
135
137
|
- lib/releasy/builders/builder.rb
|
136
138
|
- lib/releasy/builders/ocra_builder.rb
|
@@ -138,23 +140,36 @@ files:
|
|
138
140
|
- lib/releasy/builders/source.rb
|
139
141
|
- lib/releasy/builders/windows_builder.rb
|
140
142
|
- lib/releasy/builders/windows_folder.rb
|
141
|
-
- lib/releasy/builders/windows_folder_from_ruby_dist.rb
|
142
143
|
- lib/releasy/builders/windows_installer.rb
|
143
144
|
- lib/releasy/builders/windows_standalone.rb
|
145
|
+
- lib/releasy/builders/windows_wrapped.rb
|
144
146
|
- lib/releasy/cli.rb
|
145
147
|
- lib/releasy/cli/install_sfx.rb
|
148
|
+
- lib/releasy/deployers.rb
|
149
|
+
- lib/releasy/deployers/deployer.rb
|
150
|
+
- lib/releasy/deployers/github.rb
|
146
151
|
- lib/releasy/dsl_wrapper.rb
|
152
|
+
- lib/releasy/mixins/can_exclude_encoding.rb
|
147
153
|
- lib/releasy/mixins/exec.rb
|
148
|
-
- lib/releasy/mixins/has_archivers.rb
|
149
154
|
- lib/releasy/mixins/has_gemspecs.rb
|
155
|
+
- lib/releasy/mixins/has_packagers.rb
|
156
|
+
- lib/releasy/mixins/log.rb
|
150
157
|
- lib/releasy/mixins/register.rb
|
158
|
+
- lib/releasy/packagers.rb
|
159
|
+
- lib/releasy/packagers/dmg.rb
|
160
|
+
- lib/releasy/packagers/exe.rb
|
161
|
+
- lib/releasy/packagers/packager.rb
|
162
|
+
- lib/releasy/packagers/seven_zip.rb
|
163
|
+
- lib/releasy/packagers/tar_bzip2.rb
|
164
|
+
- lib/releasy/packagers/tar_gzip.rb
|
165
|
+
- lib/releasy/packagers/tar_packager.rb
|
166
|
+
- lib/releasy/packagers/zip.rb
|
151
167
|
- lib/releasy/project.rb
|
152
168
|
- lib/releasy/version.rb
|
153
169
|
- lib/releasy/windows_wrapper_maker.rb
|
154
170
|
- lib/releasy/windows_wrapper_maker/Gemfile
|
155
171
|
- media/releasy.png
|
156
172
|
- releasy.gemspec
|
157
|
-
- test/releasy/archivers_test.rb
|
158
173
|
- test/releasy/builders/data/Info.plist
|
159
174
|
- test/releasy/builders/data/Main.rb
|
160
175
|
- test/releasy/builders/data/relapse_runner.rb
|
@@ -164,14 +179,18 @@ files:
|
|
164
179
|
- test/releasy/builders/osx_app_test.rb
|
165
180
|
- test/releasy/builders/source_test.rb
|
166
181
|
- test/releasy/builders/windows_builder_test.rb
|
167
|
-
- test/releasy/builders/windows_folder_from_ruby_dist_test.rb
|
168
182
|
- test/releasy/builders/windows_folder_test.rb
|
169
183
|
- test/releasy/builders/windows_installer_test.rb
|
170
184
|
- test/releasy/builders/windows_standalone_test.rb
|
185
|
+
- test/releasy/builders/windows_wrapped_test.rb
|
171
186
|
- test/releasy/cli/install_sfx_test.rb
|
187
|
+
- test/releasy/deployers/github_test.rb
|
188
|
+
- test/releasy/deployers/helpers/helper.rb
|
172
189
|
- test/releasy/dsl_wrapper_test.rb
|
173
190
|
- test/releasy/integration/source_test.rb
|
191
|
+
- test/releasy/mixins/log_test.rb
|
174
192
|
- test/releasy/mixins/register_test.rb
|
193
|
+
- test/releasy/packagers_test.rb
|
175
194
|
- test/releasy/project_test.rb
|
176
195
|
- test/releasy/windows_wrapper_maker_test.rb
|
177
196
|
- test/teststrap.rb
|
@@ -201,7 +220,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
201
220
|
version: '0'
|
202
221
|
segments:
|
203
222
|
- 0
|
204
|
-
hash:
|
223
|
+
hash: 710558637
|
205
224
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
206
225
|
none: false
|
207
226
|
requirements:
|
@@ -217,19 +236,21 @@ signing_key:
|
|
217
236
|
specification_version: 3
|
218
237
|
summary: Releasy helps to make Ruby application releases simpler
|
219
238
|
test_files:
|
220
|
-
- test/releasy/archivers_test.rb
|
221
239
|
- test/releasy/builders/ocra_builder_test.rb
|
222
240
|
- test/releasy/builders/osx_app_test.rb
|
223
241
|
- test/releasy/builders/source_test.rb
|
224
242
|
- test/releasy/builders/windows_builder_test.rb
|
225
|
-
- test/releasy/builders/windows_folder_from_ruby_dist_test.rb
|
226
243
|
- test/releasy/builders/windows_folder_test.rb
|
227
244
|
- test/releasy/builders/windows_installer_test.rb
|
228
245
|
- test/releasy/builders/windows_standalone_test.rb
|
246
|
+
- test/releasy/builders/windows_wrapped_test.rb
|
229
247
|
- test/releasy/cli/install_sfx_test.rb
|
248
|
+
- test/releasy/deployers/github_test.rb
|
230
249
|
- test/releasy/dsl_wrapper_test.rb
|
231
250
|
- test/releasy/integration/source_test.rb
|
251
|
+
- test/releasy/mixins/log_test.rb
|
232
252
|
- test/releasy/mixins/register_test.rb
|
253
|
+
- test/releasy/packagers_test.rb
|
233
254
|
- test/releasy/project_test.rb
|
234
255
|
- test/releasy/windows_wrapper_maker_test.rb
|
235
256
|
- test/yard_test.rb
|
data/lib/releasy/archivers.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'releasy/mixins/register'
|
2
|
-
|
3
|
-
module Releasy
|
4
|
-
# Contains all {Archiver} types.
|
5
|
-
module Archivers
|
6
|
-
extend Mixins::Register
|
7
|
-
end
|
8
|
-
end
|
9
|
-
|
10
|
-
%w[dmg exe seven_zip tar_bzip2 tar_gzip zip].each do |archiver|
|
11
|
-
require "releasy/archivers/#{archiver}"
|
12
|
-
end
|
@@ -1,37 +0,0 @@
|
|
1
|
-
module Releasy
|
2
|
-
module Mixins
|
3
|
-
# An object that owns one or more instances of {Archivers::Archiver}
|
4
|
-
module HasArchivers
|
5
|
-
# Add an archive type to be generated for each of your outputs.
|
6
|
-
# @see Project#initialize
|
7
|
-
# @param type [:exe, :"7z", :tar_bz2, :tar_gz, :zip]
|
8
|
-
# @return [Project] self
|
9
|
-
def add_archive(type, &block)
|
10
|
-
raise ArgumentError, "Unsupported archive format #{type.inspect}" unless Archivers.has_type? type
|
11
|
-
raise ConfigError, "Already have archive format #{type.inspect}" if archivers.any? {|a| a.type == type }
|
12
|
-
|
13
|
-
archiver = Archivers[type].new(respond_to?(:project) ? project : self)
|
14
|
-
archivers << archiver
|
15
|
-
|
16
|
-
if block_given?
|
17
|
-
if block.arity == 0
|
18
|
-
DSLWrapper.new(archiver, &block)
|
19
|
-
else
|
20
|
-
yield archiver
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
archiver
|
25
|
-
end
|
26
|
-
|
27
|
-
protected
|
28
|
-
def archivers; @archivers ||= []; end
|
29
|
-
|
30
|
-
protected
|
31
|
-
# @return [Array<Archiver>]
|
32
|
-
def active_archivers
|
33
|
-
archivers
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
37
|
-
end
|