shoes-package 4.0.0.pre7 → 4.0.0.pre8

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
  SHA1:
3
- metadata.gz: ae062974967b441f26f83ce016b4c1ef030371aa
4
- data.tar.gz: a574f7c9022023305a83d4e64ec7640fab433ae3
3
+ metadata.gz: 9b5bb9d7084b21501f365f96292ee3849ac0c120
4
+ data.tar.gz: a469da43c74cdd6c99401bf9ad7afe65c11ed479
5
5
  SHA512:
6
- metadata.gz: 77e56c8ad760ed134b318c39168dcb0394a928f2fd2b34f962ce8ad2f9dec078ec43aeeb71f4878872561a427dddfeb520cf5310e06b024dfcd997ae375c7dad
7
- data.tar.gz: 322afeacda5569a04d24dc65dca71156846ed26108dd9f1a8e244bb7c27be3bbd223b896e89d791ba85aedfa3c4de0228d646b8e86ee303e9fb476fae4e682dc
6
+ metadata.gz: af95d9171a37c398c5476e1111574ac90ce5987a25fe7b8e642bc1605ff9f0ca445d0813b003455d2d067634d958844cc5e01adc3875c96e966b6ac319f6f1e2
7
+ data.tar.gz: c0fba6e9818d936531ce915a485f2a1296ff5f46c08aa6b121978dc8be8b43deed56b29c8ba91b4b7cf9a4f9d3065862db2b79b525ba7fe0f06433ba3e5d9900
@@ -1,3 +1,4 @@
1
+ require 'bundler'
1
2
  require 'pathname'
2
3
  require 'yaml'
3
4
  require 'furoshiki/configuration'
@@ -70,7 +71,7 @@ class Shoes
70
71
  file, dir = config_for_single_file_app(pathname)
71
72
  end
72
73
 
73
- config = YAML.load(file.read)
74
+ config = YAML.safe_load(file.read, [Symbol])
74
75
  config[:working_dir] = dir
75
76
  config[:gems] = merge_gems(base_config, config)
76
77
  create(config)
@@ -2,6 +2,6 @@
2
2
 
3
3
  class Shoes
4
4
  module Package
5
- VERSION = "4.0.0.pre7"
5
+ VERSION = "4.0.0.pre8"
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,21 +1,21 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shoes-package
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.0.0.pre7
4
+ version: 4.0.0.pre8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Team Shoes
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-12-11 00:00:00.000000000 Z
11
+ date: 2017-01-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
15
15
  requirements:
16
16
  - - '='
17
17
  - !ruby/object:Gem::Version
18
- version: 4.0.0.pre7
18
+ version: 4.0.0.pre8
19
19
  name: shoes-core
20
20
  prerelease: false
21
21
  type: :runtime
@@ -23,13 +23,13 @@ dependencies:
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 4.0.0.pre7
26
+ version: 4.0.0.pre8
27
27
  - !ruby/object:Gem::Dependency
28
28
  requirement: !ruby/object:Gem::Requirement
29
29
  requirements:
30
30
  - - "~>"
31
31
  - !ruby/object:Gem::Version
32
- version: 0.3.1
32
+ version: 0.4.0
33
33
  name: furoshiki
34
34
  prerelease: false
35
35
  type: :runtime
@@ -37,34 +37,33 @@ dependencies:
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.3.1
40
+ version: 0.4.0
41
+ - !ruby/object:Gem::Dependency
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ name: bundler
48
+ prerelease: false
49
+ type: :runtime
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  description: Application packaging for Shoes, the best little GUI toolkit for Ruby. Shoes makes building for Mac, Windows, and Linux super simple.
42
56
  email:
43
- - shoes@librelist.com
57
+ - shoes@lists.mvmanila.com
44
58
  executables: []
45
59
  extensions: []
46
60
  extra_rdoc_files: []
47
61
  files:
48
- - Guardfile
49
- - Rakefile
50
62
  - lib/shoes/package/configuration.rb
51
63
  - lib/shoes/package/jar.rb
52
64
  - lib/shoes/package/jar_app.rb
53
65
  - lib/shoes/package/version.rb
54
66
  - lib/warbler/traits/shoes.rb
55
- - shoes-package.gemspec
56
- - spec/configuration_spec.rb
57
- - spec/spec_helper.rb
58
- - spec/support/shared_config.rb
59
- - spec/swt_app_spec.rb
60
- - spec/swt_jar_spec.rb
61
- - spec/test_app/app.yaml
62
- - spec/test_app/bin/hello_world
63
- - spec/test_app/dir_to_ignore/file_to_ignore.txt
64
- - spec/test_app/img/boots.icns
65
- - spec/test_app/img/boots.ico
66
- - spec/test_app/img/boots_512x512x32.png
67
- - spec/test_app/sibling.rb
68
67
  homepage: https://github.com/shoes/shoes4
69
68
  licenses:
70
69
  - MIT
@@ -85,20 +84,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
85
84
  version: 1.3.1
86
85
  requirements: []
87
86
  rubyforge_project:
88
- rubygems_version: 2.6.8
87
+ rubygems_version: 2.6.10
89
88
  signing_key:
90
89
  specification_version: 4
91
90
  summary: Application packaging for Shoes, the best little GUI toolkit for Ruby.
92
- test_files:
93
- - spec/configuration_spec.rb
94
- - spec/spec_helper.rb
95
- - spec/support/shared_config.rb
96
- - spec/swt_app_spec.rb
97
- - spec/swt_jar_spec.rb
98
- - spec/test_app/app.yaml
99
- - spec/test_app/bin/hello_world
100
- - spec/test_app/dir_to_ignore/file_to_ignore.txt
101
- - spec/test_app/img/boots.icns
102
- - spec/test_app/img/boots.ico
103
- - spec/test_app/img/boots_512x512x32.png
104
- - spec/test_app/sibling.rb
91
+ test_files: []
data/Guardfile DELETED
@@ -1,4 +0,0 @@
1
- guard 'rspec', cmd: 'rspec' do
2
- watch(%r{^spec/.+_spec\.rb$})
3
- watch(%r{^lib/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
4
- end
data/Rakefile DELETED
@@ -1 +0,0 @@
1
- require 'bundler/gem_tasks'
@@ -1,21 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('lib/shoes/package/version')
3
-
4
- Gem::Specification.new do |s|
5
- s.name = "shoes-package"
6
- s.version = Shoes::Package::VERSION
7
- s.platform = Gem::Platform::RUBY
8
- s.authors = ["Team Shoes"]
9
- s.email = ["shoes@librelist.com"]
10
- s.homepage = "https://github.com/shoes/shoes4"
11
- s.summary = 'Application packaging for Shoes, the best little GUI toolkit for Ruby.'
12
- s.description = 'Application packaging for Shoes, the best little GUI toolkit for Ruby. Shoes makes building for Mac, Windows, and Linux super simple.'
13
- s.license = 'MIT'
14
-
15
- s.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
16
- s.test_files = s.files.grep(%r{^(test|spec|features)/})
17
- s.require_paths = ["lib"]
18
-
19
- s.add_dependency "shoes-core", Shoes::Package::VERSION
20
- s.add_dependency "furoshiki", "~> 0.3.1"
21
- end
@@ -1,209 +0,0 @@
1
- require_relative 'spec_helper'
2
- require 'shoes/package/configuration'
3
-
4
- describe Shoes::Package::Configuration do
5
- context "defaults" do
6
- subject { Shoes::Package::Configuration.create }
7
-
8
- its(:name) { should eq('Shoes App') }
9
- its(:shortname) { should eq('shoesapp') }
10
- its(:ignore) { should eq(['pkg']) }
11
- its(:gems) { should include('shoes-core') }
12
- its(:version) { should eq('0.0.0') }
13
- its(:release) { should eq('Rookie') }
14
- its(:icons) { should be_an_instance_of(Hash) }
15
- its(:dmg) { should be_an_instance_of(Hash) }
16
- its(:run) { should be_nil }
17
- its(:working_dir) { should eq(Pathname.new(Dir.pwd)) }
18
- it { is_expected.not_to be_valid } # no :run
19
-
20
- # TODO: Implement
21
- describe "#icons" do
22
- it 'osx is nil' do
23
- expect(subject.icons[:osx]).to be_nil
24
- end
25
-
26
- it 'gtk is nil' do
27
- expect(subject.icons[:gtk]).to be_nil
28
- end
29
-
30
- it 'win32 is nil' do
31
- expect(subject.icons[:win32]).to be_nil
32
- end
33
- end
34
-
35
- # TODO: Implement
36
- describe "#dmg" do
37
- it "ds_store is nil" do
38
- expect(subject.dmg[:ds_store]).to be_nil
39
- end
40
-
41
- it "background is nil" do
42
- expect(subject.dmg[:background]).to be_nil
43
- end
44
- end
45
-
46
- describe "#to_hash" do
47
- it "round-trips" do
48
- expect(Shoes::Package::Configuration.create(subject.to_hash)).to eq(subject)
49
- end
50
- end
51
- end
52
-
53
- context "with options" do
54
- include_context 'config'
55
- subject { Shoes::Package::Configuration.load(@config_filename) }
56
-
57
- its(:name) { should eq('Sugar Clouds') }
58
- its(:shortname) { should eq('sweet-nebulae') }
59
- its(:ignore) { should include('pkg') }
60
- its(:run) { should eq('bin/hello_world') }
61
- its(:gems) { should include('rspec') }
62
- its(:gems) { should include('shoes-core') }
63
- its(:version) { should eq('0.0.1') }
64
- its(:release) { should eq('Mindfully') }
65
- its(:icons) { should be_an_instance_of(Hash) }
66
- its(:dmg) { should be_an_instance_of(Hash) }
67
- its(:working_dir) { should eq(@config_filename.dirname) }
68
- it { is_expected.to be_valid }
69
-
70
- describe "#icons" do
71
- it 'has osx' do
72
- expect(subject.icons[:osx]).to eq('img/boots.icns')
73
- end
74
-
75
- it 'has gtk' do
76
- expect(subject.icons[:gtk]).to eq('img/boots_512x512x32.png')
77
- end
78
-
79
- it 'has win32' do
80
- expect(subject.icons[:win32]).to eq('img/boots.ico')
81
- end
82
- end
83
-
84
- describe "#dmg" do
85
- it "has ds_store" do
86
- expect(subject.dmg[:ds_store]).to eq('path/to/custom/.DS_Store')
87
- end
88
-
89
- it "has background" do
90
- expect(subject.dmg[:background]).to eq('path/to/custom/background.png')
91
- end
92
- end
93
-
94
- it "incorporates custom features" do
95
- expect(subject.custom).to eq('my custom feature')
96
- end
97
-
98
- it "round-trips" do
99
- expect(Shoes::Package::Configuration.create(subject.to_hash)).to eq(subject)
100
- end
101
- end
102
-
103
- context "with name, but without explicit shortname" do
104
- let(:options) { {name: "Sugar Clouds"} }
105
- subject { Shoes::Package::Configuration.create options }
106
-
107
- its(:name) { should eq("Sugar Clouds") }
108
- its(:shortname) { should eq("sugarclouds") }
109
- end
110
-
111
- context "when the file to run doens't exist" do
112
- let(:options) { {run: "path/to/non-existent/file"} }
113
- subject { Shoes::Package::Configuration.create options }
114
-
115
- it { is_expected.not_to be_valid }
116
- end
117
-
118
- context "when osx icon is not specified" do
119
- include_context 'config'
120
- let(:valid_config) { Shoes::Package::Configuration.load(@config_filename) }
121
- let(:options) { valid_config.to_hash.merge(icons: {}) }
122
- subject { Shoes::Package::Configuration.create(options) }
123
-
124
- it "sets osx icon path to nil" do
125
- expect(subject.icons[:osx]).to be_nil
126
- end
127
-
128
- it "is valid" do
129
- expect(subject).to be_valid
130
- end
131
- end
132
-
133
- context "when osx icon is specified, but doesn't exist" do
134
- let(:options) { {icons: {osx: "path/to/non-existent/file"}} }
135
- subject { Shoes::Package::Configuration.create options }
136
-
137
- it "sets osx icon path" do
138
- expect(subject.icons[:osx]).to eq("path/to/non-existent/file")
139
- end
140
-
141
- it { is_expected.not_to be_valid }
142
- end
143
-
144
- context "auto-loading" do
145
- include_context 'config'
146
-
147
- shared_examples "config with path" do
148
- it "finds the config" do
149
- Dir.chdir File.dirname(__FILE__) do
150
- config = Shoes::Package::Configuration.load(path)
151
- expect(config.shortname).to eq('sweet-nebulae')
152
- end
153
- end
154
- end
155
-
156
- context "with an 'app.yaml'" do
157
- let(:path) { @config_filename }
158
- it_behaves_like "config with path"
159
- end
160
-
161
- context "with a path to a directory containing an 'app.yaml'" do
162
- let(:path) { @config_filename.parent }
163
- it_behaves_like "config with path"
164
- end
165
-
166
- context "with a path to a file that is siblings with an 'app.yaml'" do
167
- let(:path) { @config_filename.parent.join('sibling.rb') }
168
- it_behaves_like "config with path"
169
- end
170
-
171
- context "with a path that exists, but no 'app.yaml'" do
172
- let(:path) { @config_filename.parent.join('bin/hello_world') }
173
- subject { Shoes::Package::Configuration.load(path) }
174
-
175
- its(:name) { should eq('hello_world') }
176
- its(:shortname) { should eq('hello_world') }
177
- end
178
-
179
- context "when the file doesn't exist" do
180
- it "blows up" do
181
- expect do
182
- Shoes::Package::Configuration.load('some/bogus/path')
183
- end.to raise_error(/No such file or directory/)
184
- end
185
- end
186
-
187
- context "with additional gems" do
188
- let(:path) { @config_filename }
189
- let(:additional_config) { { gems: gems } }
190
- let(:config) { Shoes::Package::Configuration.load(path, additional_config) }
191
-
192
- context "one gem" do
193
- let(:gems) { 'shoes-swt' }
194
-
195
- it "adds one additional" do
196
- expect(config.gems).to include('shoes-swt')
197
- end
198
- end
199
-
200
- context "multiple gems" do
201
- let(:gems) { ['shoes-swt', 'shoes-extras'] }
202
-
203
- it "adds multiple additional gems" do
204
- expect(config.gems & gems).to eq(gems)
205
- end
206
- end
207
- end
208
- end
209
- end
@@ -1,69 +0,0 @@
1
- # Packaging caches files in $HOME/.furoshiki/cache by default.
2
- # For testing, we override $HOME using $FUROSHIKI_HOME
3
- FUROSHIKI_SPEC_DIR = Pathname.new(__FILE__).dirname.expand_path.to_s
4
- ENV['FUROSHIKI_HOME'] = FUROSHIKI_SPEC_DIR
5
-
6
- SHOES_PACKAGE_SPEC_ROOT = File.expand_path('..', __FILE__)
7
-
8
- $LOAD_PATH << File.expand_path(SHOES_PACKAGE_SPEC_ROOT)
9
- $LOAD_PATH << File.expand_path('../../lib', __FILE__)
10
- $LOAD_PATH << File.expand_path('../../../shoes-core/lib', __FILE__)
11
-
12
- require 'pathname'
13
- require 'rspec/its'
14
-
15
- Dir["#{SHOES_PACKAGE_SPEC_ROOT}/support/**/*.rb"].each { |f| require f }
16
-
17
- module PackageHelpers
18
- # need these values from a context block, so let doesn't work
19
- def spec_dir
20
- Pathname.new(__FILE__).join('..').cleanpath
21
- end
22
-
23
- def input_dir
24
- spec_dir.join 'support', 'zip'
25
- end
26
- end
27
-
28
- # Guards for running or not running specs. Specs in the guarded block only
29
- # run if the guard conditions are met.
30
- #
31
- module Guard
32
- # Runs specs only if platform matches
33
- #
34
- # @example
35
- # platform_is :windows do
36
- # it "does something only on windows" do
37
- # # specification
38
- # end
39
- # end
40
- def platform_is(platform)
41
- yield if send "platform_is_#{platform}"
42
- end
43
-
44
- # Runs specs only if platform does not match
45
- #
46
- # @example
47
- # platform_is_not :windows do
48
- # it "does something only on posix systems" do
49
- # # specification
50
- # end
51
- # end
52
- def platform_is_not(platform)
53
- yield unless send "platform_is_#{platform}"
54
- end
55
-
56
- def platform_is_windows
57
- RbConfig::CONFIG['host_os'] =~ /windows|mswin/i
58
- end
59
-
60
- def platform_is_linux
61
- RbConfig::CONFIG['host_os'] =~ /linux/i
62
- end
63
-
64
- def platform_is_osx
65
- RbConfig::CONFIG['host_os'] =~ /darwin/i
66
- end
67
- end
68
-
69
- include Guard
@@ -1,15 +0,0 @@
1
- require 'yaml'
2
- require 'pathname'
3
-
4
- shared_context 'config' do
5
- before :all do
6
- @config_filename = Pathname.new(__FILE__).join('../../test_app/app.yaml').cleanpath
7
- end
8
- end
9
-
10
- shared_context 'package' do
11
- before :all do
12
- @app_dir = Pathname.new(__FILE__).join '../../test_app'
13
- @output_dir = @app_dir.join 'pkg'
14
- end
15
- end
@@ -1,130 +0,0 @@
1
- require_relative 'spec_helper'
2
- require 'shoes/package/configuration'
3
- require 'shoes/package/jar_app'
4
-
5
- include PackageHelpers
6
-
7
- describe Shoes::Package::JarApp do
8
- include_context 'config'
9
- include_context 'package'
10
-
11
- let(:config) { Shoes::Package::Configuration.load @config_filename }
12
- subject { Shoes::Package::JarApp.new config }
13
-
14
- let(:launcher) { @output_file.join('Contents/MacOS/JavaAppLauncher') }
15
- let(:icon) { @output_file.join('Contents/Resources/boots.icns') }
16
- let(:jar) { @output_file.join('Contents/Java/sweet-nebulae.jar') }
17
-
18
- # $FUROSHIKI_HOME is set in spec_helper.rb for testing purposes,
19
- # but should default to $HOME
20
- context "when not setting $FUROSHIKI_HOME" do
21
- before do
22
- @old_furoshiki_home = ENV['FUROSHIKI_HOME']
23
- ENV['FUROSHIKI_HOME'] = nil
24
- end
25
-
26
- its(:cache_dir) { should eq(Pathname.new(Dir.home).join('.furoshiki', 'cache')) }
27
-
28
- after do
29
- ENV['FUROSHIKI_HOME'] = @old_furoshiki_home
30
- end
31
- end
32
-
33
- context "default" do
34
- let(:cache_dir) { Pathname.new(SHOES_PACKAGE_SPEC_ROOT).join('.furoshiki', 'cache') }
35
- its(:cache_dir) { should eq(cache_dir) }
36
-
37
- it "sets package dir to {pwd}/pkg" do
38
- Dir.chdir @app_dir do
39
- expect(subject.default_package_dir).to eq(@app_dir.join('pkg'))
40
- end
41
- end
42
-
43
- its(:template_path) { should eq(cache_dir.join('shoes-app-template-0.0.2.zip')) }
44
- its(:remote_template_url) { should eq(Shoes::Package::Configuration::JAR_APP_TEMPLATE_URL) }
45
- end
46
-
47
- context "when creating a .app" do
48
- before :all do
49
- @output_dir.rmtree if @output_dir.exist?
50
- @output_dir.mkpath
51
- app_name = 'Sugar Clouds.app'
52
- @output_file = @output_dir.join app_name
53
- config = Shoes::Package::Configuration.load @config_filename
54
- @subject = Shoes::Package::JarApp.new config
55
- @subject.package
56
- end
57
-
58
- subject { @subject }
59
-
60
- its(:template_path) { should exist }
61
-
62
- it "creates a .app" do
63
- expect(@output_file).to exist
64
- end
65
-
66
- it "includes launcher" do
67
- expect(launcher).to exist
68
- end
69
-
70
- # Windows can't test this
71
- platform_is_not :windows do
72
- it "makes launcher executable" do
73
- expect(launcher).to be_executable
74
- end
75
- end
76
-
77
- it "deletes generic icon" do
78
- expect(icon.parent.join('GenericApp.icns')).not_to exist
79
- end
80
-
81
- it "injects icon" do
82
- expect(icon).to exist
83
- end
84
-
85
- it "injects jar" do
86
- expect(jar).to exist
87
- end
88
-
89
- it "removes any extraneous jars" do
90
- jar_dir_contents = @output_file.join("Contents/Java").children
91
- expect(jar_dir_contents.reject { |f| f == jar }).to be_empty
92
- end
93
-
94
- describe "Info.plist" do
95
- require 'plist'
96
- before :all do
97
- @plist = Plist.parse_xml(@output_file.join('Contents/Info.plist'))
98
- end
99
-
100
- it "sets identifier" do
101
- expect(@plist['CFBundleIdentifier']).to eq('com.hackety.shoes.sweet-nebulae')
102
- end
103
-
104
- it "sets display name" do
105
- expect(@plist['CFBundleDisplayName']).to eq('Sugar Clouds')
106
- end
107
-
108
- it "sets bundle name" do
109
- expect(@plist['CFBundleName']).to eq('Sugar Clouds')
110
- end
111
-
112
- it "sets icon" do
113
- expect(@plist['CFBundleIconFile']).to eq('boots.icns')
114
- end
115
-
116
- it "sets version" do
117
- expect(@plist['CFBundleVersion']).to eq('0.0.1')
118
- end
119
- end
120
- end
121
-
122
- describe "with an invalid configuration" do
123
- let(:config) { Shoes::Package::Configuration.create }
124
- subject { Shoes::Package::JarApp.new config }
125
-
126
- it "fails to initialize" do
127
- expect { subject }.to raise_error(Furoshiki::ConfigurationError)
128
- end
129
- end
130
- end
@@ -1,66 +0,0 @@
1
- require_relative 'spec_helper'
2
- require 'shoes/package/configuration'
3
- require 'shoes/package/jar'
4
-
5
- include PackageHelpers
6
-
7
- describe Furoshiki::Jar do
8
- include_context 'config'
9
- include_context 'package'
10
-
11
- context "when creating a .jar" do
12
- before :all do
13
- @output_dir.rmtree if @output_dir.exist?
14
- @output_dir.mkpath
15
- config = Shoes::Package::Configuration.load(@config_filename)
16
- @subject = Shoes::Package::Jar.new(config)
17
- @jar_path = @subject.package
18
- end
19
-
20
- let(:jar_name) { 'sweet-nebulae.jar' }
21
- let(:output_file) { Pathname.new(@output_dir.join(jar_name)) }
22
- subject { @subject }
23
-
24
- it "creates a .jar" do
25
- expect(output_file).to exist
26
- end
27
-
28
- it "returns path to .jar" do
29
- expect(@jar_path).to eq(output_file.to_s)
30
- end
31
-
32
- it "creates .jar smaller than 60MB" do
33
- expect(File.size(output_file)).to be < 60 * 1024 * 1024
34
- end
35
-
36
- context "inspecting contents" do
37
- let(:jar) { Zip::File.new(output_file) }
38
-
39
- it "includes shoes-core" do
40
- shoes_core = jar.glob "gems/shoes-core*"
41
- expect(shoes_core.length).to equal(1)
42
- end
43
-
44
- it "includes shoes-swt" do
45
- shoes_swt = jar.glob "gems/shoes-swt*"
46
- expect(shoes_swt.length).to equal(1)
47
- end
48
-
49
- it "excludes directories recursively" do
50
- expect(jar.entries).not_to include("dir_to_ignore/file_to_ignore")
51
- end
52
- end
53
-
54
- its(:default_dir) { should eq(@output_dir) }
55
- its(:filename) { should eq(jar_name) }
56
- end
57
-
58
- describe "with an invalid configuration" do
59
- let(:config) { Shoes::Package::Configuration.create }
60
- subject { Shoes::Package::Jar.new(config) }
61
-
62
- it "fails to initialize" do
63
- expect { subject }.to raise_error(Furoshiki::ConfigurationError)
64
- end
65
- end
66
- end
@@ -1,17 +0,0 @@
1
- name: Sugar Clouds
2
- shortname: sweet-nebulae
3
- ignore:
4
- - pkg
5
- - dir_to_ignore
6
- run: bin/hello_world
7
- gems: rspec
8
- version: 0.0.1
9
- release: Mindfully
10
- icons:
11
- osx: img/boots.icns
12
- gtk: img/boots_512x512x32.png
13
- win32: img/boots.ico
14
- dmg:
15
- ds_store: path/to/custom/.DS_Store
16
- background: path/to/custom/background.png
17
- custom: my custom feature
@@ -1,3 +0,0 @@
1
- Shoes.app do
2
- banner "Hello world"
3
- end
@@ -1 +0,0 @@
1
- should be ignored
Binary file
Binary file
@@ -1 +0,0 @@
1
- # Just a sibling of 'app.yaml'