furoshiki 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +1 -1
- data/.ruby-version +1 -1
- data/Gemfile +0 -1
- data/Rakefile +5 -0
- data/furoshiki.gemspec +1 -1
- data/lib/furoshiki/configuration.rb +142 -0
- data/lib/furoshiki/jar.rb +41 -0
- data/lib/furoshiki/jar_app.rb +225 -0
- data/lib/furoshiki/util.rb +27 -0
- data/lib/furoshiki/validator.rb +42 -0
- data/lib/furoshiki/version.rb +1 -1
- data/lib/furoshiki/warbler_extensions.rb +12 -0
- data/lib/furoshiki.rb +4 -3
- data/lib/warbler/traits/furoshiki.rb +31 -0
- data/spec/{shoes/swt_app_spec.rb → app_spec.rb} +29 -22
- data/spec/configuration_spec.rb +12 -0
- data/spec/fixtures/config.yaml +1 -0
- data/spec/{shoes → fixtures}/test_app/app.yaml +0 -0
- data/spec/{shoes → fixtures}/test_app/bin/hello_world +0 -0
- data/spec/{shoes → fixtures}/test_app/dir_to_ignore/file_to_ignore.txt +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots.icns +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots.ico +0 -0
- data/spec/{shoes → fixtures}/test_app/img/boots_512x512x32.png +0 -0
- data/spec/{shoes → fixtures}/test_app/sibling.rb +0 -0
- data/spec/fixtures/test_project/bin/hello.rb +1 -0
- data/spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt +1 -0
- data/spec/{shoes/swt_jar_spec.rb → jar_spec.rb} +25 -12
- data/spec/spec_helper.rb +51 -0
- data/spec/support/shared_config.rb +19 -0
- data/spec/support/shared_zip.rb +1 -1
- data/spec/util_spec.rb +57 -0
- metadata +73 -45
- data/lib/furoshiki/shoes/configuration.rb +0 -184
- data/lib/furoshiki/shoes/swt_app.rb +0 -230
- data/lib/furoshiki/shoes/swt_jar.rb +0 -67
- data/lib/furoshiki/shoes.rb +0 -15
- data/lib/warbler/traits/shoes.rb +0 -51
- data/spec/shoes/configuration_spec.rb +0 -198
- data/spec/shoes/spec_helper.rb +0 -70
- data/spec/shoes/support/shared_config.rb +0 -8
@@ -1,20 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
|
-
require_relative 'spec_helper'
|
3
2
|
require 'pathname'
|
4
|
-
require 'furoshiki/
|
3
|
+
require 'furoshiki/jar_app'
|
5
4
|
|
6
5
|
include PackageHelpers
|
7
6
|
|
8
|
-
describe Furoshiki::
|
9
|
-
include_context 'config'
|
10
|
-
include_context '
|
7
|
+
describe Furoshiki::JarApp do
|
8
|
+
include_context 'generic furoshiki config'
|
9
|
+
include_context 'generic furoshiki project'
|
11
10
|
|
12
|
-
let(:config) {Furoshiki::
|
13
|
-
subject {Furoshiki::
|
11
|
+
let(:config) {Furoshiki::Configuration.new @custom_config }
|
12
|
+
subject {Furoshiki::JarApp.new config}
|
14
13
|
|
15
14
|
let(:launcher) { @output_file.join('Contents/MacOS/JavaAppLauncher') }
|
16
|
-
let(:icon) { @output_file.join('Contents/Resources/
|
17
|
-
let(:jar) { @output_file.join('Contents/Java/
|
15
|
+
let(:icon) { @output_file.join('Contents/Resources/Shoes.icns') }
|
16
|
+
let(:jar) { @output_file.join('Contents/Java/rubyapp.jar') }
|
18
17
|
|
19
18
|
# $FUROSHIKI_HOME is set in spec_helper.rb for testing purposes,
|
20
19
|
# but should default to $HOME
|
@@ -33,7 +32,7 @@ describe Furoshiki::Shoes::SwtApp do
|
|
33
32
|
end
|
34
33
|
|
35
34
|
context "default" do
|
36
|
-
let(:cache_dir) { Pathname.new(
|
35
|
+
let(:cache_dir) { Pathname.new(FUROSHIKI_SPEC_DIR).join('.furoshiki', 'cache') }
|
37
36
|
its(:cache_dir) { should eq(cache_dir) }
|
38
37
|
|
39
38
|
it "sets package dir to {pwd}/pkg" do
|
@@ -43,21 +42,25 @@ describe Furoshiki::Shoes::SwtApp do
|
|
43
42
|
end
|
44
43
|
|
45
44
|
its(:template_path) { should eq(cache_dir.join('shoes-app-template.zip')) }
|
46
|
-
its(:remote_template_url) { should eq(Furoshiki::
|
45
|
+
its(:remote_template_url) { should eq(Furoshiki::Configuration::JAR_APP_TEMPLATE_URL) }
|
47
46
|
end
|
48
47
|
|
49
48
|
context "when creating a .app" do
|
50
49
|
before :all do
|
51
|
-
|
50
|
+
#@output_dir.rmtree if @output_dir.exist?
|
52
51
|
@output_dir.mkpath
|
53
|
-
|
52
|
+
|
53
|
+
app_name = 'Ruby App.app'
|
54
54
|
@output_file = @output_dir.join app_name
|
55
|
-
|
56
|
-
|
55
|
+
|
56
|
+
# Config picks up Dir.pwd
|
57
57
|
Dir.chdir @app_dir do
|
58
|
+
config = Furoshiki::Configuration.new(@custom_config)
|
59
|
+
@subject = Furoshiki::JarApp.new(config)
|
58
60
|
@subject.package
|
59
61
|
end
|
60
62
|
end
|
63
|
+
|
61
64
|
subject { @subject }
|
62
65
|
|
63
66
|
its(:template_path) { should exist }
|
@@ -101,30 +104,34 @@ describe Furoshiki::Shoes::SwtApp do
|
|
101
104
|
end
|
102
105
|
|
103
106
|
it "sets identifier" do
|
104
|
-
expect(@plist['CFBundleIdentifier']).to eq('com.hackety.shoes.
|
107
|
+
expect(@plist['CFBundleIdentifier']).to eq('com.hackety.shoes.rubyapp')
|
105
108
|
end
|
106
109
|
|
107
110
|
it "sets display name" do
|
108
|
-
expect(@plist['CFBundleDisplayName']).to eq('
|
111
|
+
expect(@plist['CFBundleDisplayName']).to eq('Ruby App')
|
109
112
|
end
|
110
113
|
|
111
114
|
it "sets bundle name" do
|
112
|
-
expect(@plist['CFBundleName']).to eq('
|
115
|
+
expect(@plist['CFBundleName']).to eq('Ruby App')
|
113
116
|
end
|
114
117
|
|
115
118
|
it "sets icon" do
|
116
|
-
expect(@plist['CFBundleIconFile']).to eq('
|
119
|
+
expect(@plist['CFBundleIconFile']).to eq('Shoes.icns')
|
117
120
|
end
|
118
121
|
|
119
122
|
it "sets version" do
|
120
|
-
expect(@plist['CFBundleVersion']).to eq('0.0.
|
123
|
+
expect(@plist['CFBundleVersion']).to eq('0.0.0')
|
121
124
|
end
|
122
125
|
end
|
123
126
|
end
|
124
127
|
|
125
128
|
describe "with an invalid configuration" do
|
126
|
-
let(:config) { Furoshiki::
|
127
|
-
subject { Furoshiki::
|
129
|
+
let(:config) { Furoshiki::Configuration.new }
|
130
|
+
subject { Furoshiki::JarApp.new config }
|
131
|
+
|
132
|
+
before do
|
133
|
+
allow(config).to receive(:valid?) { false }
|
134
|
+
end
|
128
135
|
|
129
136
|
it "fails to initialize" do
|
130
137
|
expect { subject }.to raise_error(Furoshiki::ConfigurationError)
|
@@ -0,0 +1 @@
|
|
1
|
+
gems: 'rubyzip'
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
puts "Hello, world!"
|
@@ -0,0 +1 @@
|
|
1
|
+
should be ignored
|
@@ -1,26 +1,28 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
require_relative 'spec_helper'
|
3
3
|
require 'pathname'
|
4
|
-
require 'furoshiki/
|
4
|
+
require 'furoshiki/jar'
|
5
5
|
|
6
6
|
include PackageHelpers
|
7
7
|
|
8
|
-
describe Furoshiki::
|
9
|
-
include_context 'config'
|
10
|
-
include_context '
|
8
|
+
describe Furoshiki::Jar do
|
9
|
+
include_context 'generic furoshiki config'
|
10
|
+
include_context 'generic furoshiki project'
|
11
11
|
|
12
12
|
context "when creating a .jar" do
|
13
13
|
before :all do
|
14
14
|
@output_dir.rmtree if @output_dir.exist?
|
15
15
|
@output_dir.mkpath
|
16
|
-
|
17
|
-
|
16
|
+
|
17
|
+
# Config picks up Dir.pwd
|
18
18
|
Dir.chdir @app_dir do
|
19
|
+
config = Furoshiki::Configuration.new(@custom_config)
|
20
|
+
@subject = Furoshiki::Jar.new(config)
|
19
21
|
@jar_path = @subject.package(@output_dir)
|
20
22
|
end
|
21
23
|
end
|
22
24
|
|
23
|
-
let(:jar_name) { '
|
25
|
+
let(:jar_name) { 'rubyapp.jar' }
|
24
26
|
let(:output_file) { Pathname.new(@output_dir.join jar_name) }
|
25
27
|
subject { @subject }
|
26
28
|
|
@@ -36,9 +38,16 @@ describe Furoshiki::Shoes::SwtJar do
|
|
36
38
|
expect(File.size(output_file)).to be < 50 * 1024 * 1024
|
37
39
|
end
|
38
40
|
|
39
|
-
|
40
|
-
jar
|
41
|
-
|
41
|
+
context "inspecting contents" do
|
42
|
+
let (:jar) { Zip::File.new(output_file) }
|
43
|
+
|
44
|
+
it "includes a specified gem" do
|
45
|
+
expect(jar.glob "gems/rubyzip*").to_not be_empty
|
46
|
+
end
|
47
|
+
|
48
|
+
it "does not include a non-specified gem" do
|
49
|
+
expect(jar.glob "gems/warbler*").to be_empty
|
50
|
+
end
|
42
51
|
end
|
43
52
|
|
44
53
|
its(:default_dir) { should eq(@output_dir) }
|
@@ -46,8 +55,12 @@ describe Furoshiki::Shoes::SwtJar do
|
|
46
55
|
end
|
47
56
|
|
48
57
|
describe "with an invalid configuration" do
|
49
|
-
let(:config) { Furoshiki::
|
50
|
-
subject { Furoshiki::
|
58
|
+
let(:config) { Furoshiki::Configuration.new }
|
59
|
+
subject { Furoshiki::Jar.new(config) }
|
60
|
+
|
61
|
+
before do
|
62
|
+
allow(config).to receive(:valid?) { false }
|
63
|
+
end
|
51
64
|
|
52
65
|
it "fails to initialize" do
|
53
66
|
expect { subject }.to raise_error(Furoshiki::ConfigurationError)
|
data/spec/spec_helper.rb
CHANGED
@@ -1,4 +1,55 @@
|
|
1
|
+
require 'rspec'
|
1
2
|
require 'rspec/its'
|
3
|
+
require 'pry'
|
4
|
+
require 'pathname'
|
5
|
+
|
6
|
+
# Packaging caches files in $HOME/.furoshiki/cache by default.
|
7
|
+
# For testing, we override $HOME using $FUROSHIKI_HOME
|
8
|
+
FUROSHIKI_SPEC_DIR = Pathname.new(__FILE__).dirname.expand_path.to_s
|
9
|
+
ENV['FUROSHIKI_HOME'] = FUROSHIKI_SPEC_DIR
|
10
|
+
|
11
|
+
# Guards for running or not running specs. Specs in the guarded block only
|
12
|
+
# run if the guard conditions are met.
|
13
|
+
#
|
14
|
+
module Guard
|
15
|
+
# Runs specs only if platform matches
|
16
|
+
#
|
17
|
+
# @example
|
18
|
+
# platform_is :windows do
|
19
|
+
# it "does something only on windows" do
|
20
|
+
# # specification
|
21
|
+
# end
|
22
|
+
# end
|
23
|
+
def platform_is(platform)
|
24
|
+
yield if self.send "platform_is_#{platform.to_s}"
|
25
|
+
end
|
26
|
+
|
27
|
+
# Runs specs only if platform does not match
|
28
|
+
#
|
29
|
+
# @example
|
30
|
+
# platform_is_not :windows do
|
31
|
+
# it "does something only on posix systems" do
|
32
|
+
# # specification
|
33
|
+
# end
|
34
|
+
# end
|
35
|
+
def platform_is_not(platform)
|
36
|
+
yield unless self.send "platform_is_#{platform.to_s}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def platform_is_windows
|
40
|
+
return RbConfig::CONFIG['host_os'] =~ /windows|mswin/i
|
41
|
+
end
|
42
|
+
|
43
|
+
def platform_is_linux
|
44
|
+
return RbConfig::CONFIG['host_os'] =~ /linux/i
|
45
|
+
end
|
46
|
+
|
47
|
+
def platform_is_osx
|
48
|
+
return RbConfig::CONFIG['host_os'] =~ /darwin/i
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
include Guard
|
2
53
|
|
3
54
|
module PackageHelpers
|
4
55
|
# need these values from a context block, so let doesn't work
|
@@ -0,0 +1,19 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'pathname'
|
3
|
+
require 'furoshiki/util'
|
4
|
+
|
5
|
+
shared_context 'generic furoshiki config' do
|
6
|
+
before :all do
|
7
|
+
@config_filename = Pathname.new(__FILE__).join('../../fixtures/config.yaml').cleanpath
|
8
|
+
yaml = YAML.load(@config_filename.open)
|
9
|
+
@custom_config = Object.new.extend(Furoshiki::Util).deep_symbolize_keys(yaml)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
shared_context 'generic furoshiki project' do
|
14
|
+
before :all do
|
15
|
+
@app_dir = Pathname.new(__FILE__).join('../../fixtures/test_project')
|
16
|
+
@output_dir = @app_dir.join('pkg')
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
data/spec/support/shared_zip.rb
CHANGED
data/spec/util_spec.rb
ADDED
@@ -0,0 +1,57 @@
|
|
1
|
+
require_relative 'spec_helper'
|
2
|
+
|
3
|
+
describe "Utility functions" do
|
4
|
+
let(:utils) { Object.new.extend(Furoshiki::Util) }
|
5
|
+
let(:hash_with_string_keys) {
|
6
|
+
{
|
7
|
+
'one' => 1,
|
8
|
+
:two => 2,
|
9
|
+
'three' => {
|
10
|
+
'a' => 'apple',
|
11
|
+
:b => 'banana',
|
12
|
+
'c' => :cantaloupe
|
13
|
+
}
|
14
|
+
}
|
15
|
+
}
|
16
|
+
let(:hash_with_symbolized_keys) {
|
17
|
+
{
|
18
|
+
:one => 1,
|
19
|
+
:two => 2,
|
20
|
+
:three => {
|
21
|
+
:a => 'apple',
|
22
|
+
:b => 'banana',
|
23
|
+
:c => :cantaloupe
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|
27
|
+
let(:hash_of_defaults) {
|
28
|
+
{
|
29
|
+
:one => 'uno',
|
30
|
+
:three => 'tres',
|
31
|
+
:four => 'cuatro'
|
32
|
+
}
|
33
|
+
}
|
34
|
+
let(:merged_hash_with_symbolized_keys) {
|
35
|
+
{
|
36
|
+
:one => 1,
|
37
|
+
:two => 2,
|
38
|
+
:three => {
|
39
|
+
:a => 'apple',
|
40
|
+
:b => 'banana',
|
41
|
+
:c => :cantaloupe
|
42
|
+
},
|
43
|
+
:four => 'cuatro'
|
44
|
+
}
|
45
|
+
}
|
46
|
+
|
47
|
+
it "symbolizes hash keys" do
|
48
|
+
symbolized = utils.deep_symbolize_keys(hash_with_string_keys)
|
49
|
+
expect(symbolized).to eq(hash_with_symbolized_keys)
|
50
|
+
end
|
51
|
+
|
52
|
+
it "merges with hash of defaults" do
|
53
|
+
merged = utils.merge_with_symbolized_keys(hash_of_defaults, hash_with_string_keys)
|
54
|
+
expect(merged).to eq(merged_hash_with_symbolized_keys)
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
metadata
CHANGED
@@ -1,113 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: furoshiki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steve Klabnik
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-01-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name: warbler
|
15
|
-
version_requirements: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ~>
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 1.4.4
|
20
14
|
requirement: !ruby/object:Gem::Requirement
|
21
15
|
requirements:
|
22
16
|
- - ~>
|
23
17
|
- !ruby/object:Gem::Version
|
24
18
|
version: 1.4.4
|
19
|
+
name: warbler
|
25
20
|
prerelease: false
|
26
21
|
type: :runtime
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: plist
|
29
22
|
version_requirements: !ruby/object:Gem::Requirement
|
30
23
|
requirements:
|
31
|
-
- -
|
24
|
+
- - ~>
|
32
25
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
26
|
+
version: 1.4.4
|
27
|
+
- !ruby/object:Gem::Dependency
|
34
28
|
requirement: !ruby/object:Gem::Requirement
|
35
29
|
requirements:
|
36
30
|
- - '>='
|
37
31
|
- !ruby/object:Gem::Version
|
38
32
|
version: '0'
|
33
|
+
name: plist
|
39
34
|
prerelease: false
|
40
35
|
type: :runtime
|
41
|
-
- !ruby/object:Gem::Dependency
|
42
|
-
name: rubyzip
|
43
36
|
version_requirements: !ruby/object:Gem::Requirement
|
44
37
|
requirements:
|
45
38
|
- - '>='
|
46
39
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
48
42
|
requirement: !ruby/object:Gem::Requirement
|
49
43
|
requirements:
|
50
44
|
- - '>='
|
51
45
|
- !ruby/object:Gem::Version
|
52
46
|
version: 1.0.0
|
47
|
+
name: rubyzip
|
53
48
|
prerelease: false
|
54
49
|
type: :runtime
|
55
|
-
- !ruby/object:Gem::Dependency
|
56
|
-
name: rake
|
57
50
|
version_requirements: !ruby/object:Gem::Requirement
|
58
51
|
requirements:
|
59
52
|
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
54
|
+
version: 1.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
62
56
|
requirement: !ruby/object:Gem::Requirement
|
63
57
|
requirements:
|
64
58
|
- - '>='
|
65
59
|
- !ruby/object:Gem::Version
|
66
60
|
version: '0'
|
61
|
+
name: rake
|
67
62
|
prerelease: false
|
68
63
|
type: :development
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
64
|
version_requirements: !ruby/object:Gem::Requirement
|
72
65
|
requirements:
|
73
66
|
- - '>='
|
74
67
|
- !ruby/object:Gem::Version
|
75
68
|
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
76
70
|
requirement: !ruby/object:Gem::Requirement
|
77
71
|
requirements:
|
78
72
|
- - '>='
|
79
73
|
- !ruby/object:Gem::Version
|
80
|
-
version:
|
74
|
+
version: 3.0.0
|
75
|
+
name: rspec
|
81
76
|
prerelease: false
|
82
77
|
type: :development
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: rspec-its
|
85
78
|
version_requirements: !ruby/object:Gem::Requirement
|
86
79
|
requirements:
|
87
80
|
- - '>='
|
88
81
|
- !ruby/object:Gem::Version
|
89
|
-
version:
|
82
|
+
version: 3.0.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
90
84
|
requirement: !ruby/object:Gem::Requirement
|
91
85
|
requirements:
|
92
86
|
- - '>='
|
93
87
|
- !ruby/object:Gem::Version
|
94
88
|
version: '0'
|
89
|
+
name: rspec-its
|
95
90
|
prerelease: false
|
96
91
|
type: :development
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: pry
|
99
92
|
version_requirements: !ruby/object:Gem::Requirement
|
100
93
|
requirements:
|
101
94
|
- - '>='
|
102
95
|
- !ruby/object:Gem::Version
|
103
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
104
98
|
requirement: !ruby/object:Gem::Requirement
|
105
99
|
requirements:
|
106
100
|
- - '>='
|
107
101
|
- !ruby/object:Gem::Version
|
108
102
|
version: '0'
|
103
|
+
name: pry
|
109
104
|
prerelease: false
|
110
105
|
type: :development
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
111
|
description: Create .app, .exe, and $LINUX_PACKAGE versions of your application, with its own embedded Ruby.
|
112
112
|
email: steve@steveklabnik.com
|
113
113
|
executables: []
|
@@ -126,34 +126,39 @@ files:
|
|
126
126
|
- example/Rakefile
|
127
127
|
- furoshiki.gemspec
|
128
128
|
- lib/furoshiki.rb
|
129
|
+
- lib/furoshiki/configuration.rb
|
129
130
|
- lib/furoshiki/exceptions.rb
|
130
|
-
- lib/furoshiki/
|
131
|
-
- lib/furoshiki/
|
132
|
-
- lib/furoshiki/
|
133
|
-
- lib/furoshiki/
|
131
|
+
- lib/furoshiki/jar.rb
|
132
|
+
- lib/furoshiki/jar_app.rb
|
133
|
+
- lib/furoshiki/util.rb
|
134
|
+
- lib/furoshiki/validator.rb
|
134
135
|
- lib/furoshiki/version.rb
|
136
|
+
- lib/furoshiki/warbler_extensions.rb
|
135
137
|
- lib/furoshiki/zip.rb
|
136
138
|
- lib/furoshiki/zip/directory.rb
|
137
139
|
- lib/furoshiki/zip/directory_contents.rb
|
138
140
|
- lib/furoshiki/zip/recursive.rb
|
139
|
-
- lib/warbler/traits/
|
140
|
-
- spec/
|
141
|
-
- spec/
|
142
|
-
- spec/
|
143
|
-
- spec/
|
144
|
-
- spec/
|
145
|
-
- spec/
|
146
|
-
- spec/
|
147
|
-
- spec/
|
148
|
-
- spec/
|
149
|
-
- spec/
|
150
|
-
- spec/
|
151
|
-
- spec/
|
141
|
+
- lib/warbler/traits/furoshiki.rb
|
142
|
+
- spec/app_spec.rb
|
143
|
+
- spec/configuration_spec.rb
|
144
|
+
- spec/fixtures/config.yaml
|
145
|
+
- spec/fixtures/test_app/app.yaml
|
146
|
+
- spec/fixtures/test_app/bin/hello_world
|
147
|
+
- spec/fixtures/test_app/dir_to_ignore/file_to_ignore.txt
|
148
|
+
- spec/fixtures/test_app/img/boots.icns
|
149
|
+
- spec/fixtures/test_app/img/boots.ico
|
150
|
+
- spec/fixtures/test_app/img/boots_512x512x32.png
|
151
|
+
- spec/fixtures/test_app/sibling.rb
|
152
|
+
- spec/fixtures/test_project/bin/hello.rb
|
153
|
+
- spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt
|
154
|
+
- spec/jar_spec.rb
|
152
155
|
- spec/spec_helper.rb
|
156
|
+
- spec/support/shared_config.rb
|
153
157
|
- spec/support/shared_zip.rb
|
154
158
|
- spec/support/zip/a/a.rb
|
155
159
|
- spec/support/zip/a/b/b.png
|
156
160
|
- spec/support/zip/a/b/c/c.rb
|
161
|
+
- spec/util_spec.rb
|
157
162
|
- spec/zip/directory_contents_spec.rb
|
158
163
|
- spec/zip/directory_spec.rb
|
159
164
|
- vendor/appbundler-1.0.jar
|
@@ -176,8 +181,31 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
176
181
|
version: '0'
|
177
182
|
requirements: []
|
178
183
|
rubyforge_project:
|
179
|
-
rubygems_version: 2.
|
184
|
+
rubygems_version: 2.4.2
|
180
185
|
signing_key:
|
181
186
|
specification_version: 4
|
182
187
|
summary: Package and distribute applications with Ruby.
|
183
|
-
test_files:
|
188
|
+
test_files:
|
189
|
+
- spec/app_spec.rb
|
190
|
+
- spec/configuration_spec.rb
|
191
|
+
- spec/fixtures/config.yaml
|
192
|
+
- spec/fixtures/test_app/app.yaml
|
193
|
+
- spec/fixtures/test_app/bin/hello_world
|
194
|
+
- spec/fixtures/test_app/dir_to_ignore/file_to_ignore.txt
|
195
|
+
- spec/fixtures/test_app/img/boots.icns
|
196
|
+
- spec/fixtures/test_app/img/boots.ico
|
197
|
+
- spec/fixtures/test_app/img/boots_512x512x32.png
|
198
|
+
- spec/fixtures/test_app/sibling.rb
|
199
|
+
- spec/fixtures/test_project/bin/hello.rb
|
200
|
+
- spec/fixtures/test_project/dir_to_ignore/file_to_ignore.txt
|
201
|
+
- spec/jar_spec.rb
|
202
|
+
- spec/spec_helper.rb
|
203
|
+
- spec/support/shared_config.rb
|
204
|
+
- spec/support/shared_zip.rb
|
205
|
+
- spec/support/zip/a/a.rb
|
206
|
+
- spec/support/zip/a/b/b.png
|
207
|
+
- spec/support/zip/a/b/c/c.rb
|
208
|
+
- spec/util_spec.rb
|
209
|
+
- spec/zip/directory_contents_spec.rb
|
210
|
+
- spec/zip/directory_spec.rb
|
211
|
+
has_rdoc:
|