unienv 0.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d558588d0a1db334b80091c0a7f45fed561e3056
4
+ data.tar.gz: d0e9e3f6cdb50b125404926fc48e75515fc81ba7
5
+ SHA512:
6
+ metadata.gz: 02acd146cbbb5a83187f17001936116b987a0ae6177a64c93cfa0f18aa8c89f52c38193123efb4972f036ab7c0587298c4604d8d7bfb4b3ed28f39335da5cb1b
7
+ data.tar.gz: d1ca507e19f828b59ace2a7f6ff19357d96dab62093b6df582e1f977f73e8bdde2dc2f63a2a1caea1228f91fb7be43c8bc3a4d2c30ede8fbfad4fa0862aa7135
data/.gitignore ADDED
@@ -0,0 +1,14 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ *.bundle
11
+ *.so
12
+ *.o
13
+ *.a
14
+ mkmf.log
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in unienv.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2015 fum1h1ro
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,74 @@
1
+ # Ubb
2
+
3
+ Helper for Unity batch build.
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/ubb.svg)](http://badge.fury.io/rb/ubb)
6
+
7
+
8
+ ## Description
9
+
10
+ Unity Editor からビルドしたりパッケージを入出力する時に使うツールです。
11
+
12
+
13
+ ## Installation
14
+
15
+ Install it yourself as:
16
+
17
+ ```
18
+ $ gem install ubb
19
+ ```
20
+
21
+ ## Usage
22
+
23
+ ```
24
+ $ ubb export -o hoge.unitypackage Plugins/hoge
25
+ $ ubb import hoge.unitypackage
26
+ ```
27
+
28
+ Unity のプロジェクトフォルダは、明示的に指定されなければカレントディレクトリ以下で、最初に見つかったものを自動的に選択します。
29
+ 明示的に指定するには `--project PATH` オプションを使用してください。
30
+
31
+
32
+
33
+ ### export
34
+
35
+ 指定したフォルダ及びファイルを .unitypackage としてエクスポートします。
36
+
37
+ ```
38
+ ubb export -o '出力ファイル名' 'パッケージに含むファイル名(フォルダ可&複数指定可)'
39
+ ```
40
+
41
+ ### import
42
+
43
+ 指定した .unitypackage をプロジェクトにインポートします。
44
+
45
+ ```
46
+ ubb import 'パッケージファイル名'
47
+ ```
48
+
49
+ ### build
50
+
51
+ 指定したプロジェクトのビルドを行います。
52
+
53
+ ```
54
+ ubb build --output '出力先フォルダ' --target [ios] --config [development|release|distribution]
55
+ ```
56
+
57
+ * target
58
+ * ビルドターゲットの指定。現在は `ios` のみ。
59
+ * config
60
+ * ビルドコンフィグの指定。
61
+
62
+
63
+
64
+
65
+
66
+
67
+
68
+ ## Contributing
69
+
70
+ 1. Fork it ( https://github.com/fum1h1ro/ubb/fork )
71
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
72
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
73
+ 4. Push to the branch (`git push origin my-new-feature`)
74
+ 5. Create a new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,9 @@
1
+ require "bundler/gem_tasks"
2
+ require "rspec/core/rake_task"
3
+ require "rake/clean"
4
+
5
+ RSpec::Core::RakeTask.new(:spec)
6
+
7
+ task :default => :spec
8
+
9
+ CLEAN.include('pkg')
data/bin/unienv ADDED
@@ -0,0 +1,33 @@
1
+ #!/usr/bin/env ruby
2
+ LIB_PATH = File.expand_path("../../lib", __FILE__)
3
+ ASSETS_PATH = File.expand_path("../../lib/assets", __FILE__)
4
+ $:.unshift LIB_PATH
5
+ #require 'rubygems'
6
+ require 'commander/import'
7
+ require 'unienv'
8
+ require 'optparse'
9
+ require 'fileutils'
10
+ require 'erb'
11
+
12
+ $unity_app_path = "/Applications/Unity/Unity.app/Contents/MacOS/Unity"
13
+
14
+ program :version, UniEnv::VERSION
15
+ program :description, 'Unity Environment Helper'
16
+ program :help_formatter, :compact
17
+
18
+ global_option('--verbose', 'VERBOSE') { $verbose = true }
19
+ #global_option('-p', '--project PATH', 'specify Unity project path') { |path| $project_path = path }
20
+ #global_option('-u', '--unity PATH', 'specify Unity application path') { |path| $unity_app_path = path }
21
+
22
+
23
+ #p LIB_PATH
24
+ #p ASSETS_PATH
25
+ #app = UniEnv::App.new
26
+
27
+
28
+
29
+ default_command :help
30
+
31
+ always_trace!
32
+
33
+
@@ -0,0 +1,8 @@
1
+ version:
2
+ 5.2.0f3:
3
+ editor: http://netstorage.unity3d.com/unity/e7947df39b5c/MacEditorInstaller/Unity-5.2.0f3.pkg
4
+ standard_assets: http://netstorage.unity3d.com/unity/e7947df39b5c/MacStandardAssetsInstaller/StandardAssets-5.2.0f3.pkg
5
+ 5.1.3p3:
6
+ editor: http://beta.unity3d.com/download/f0a33a6ef422/MacEditorInstaller/Unity-5.1.3p3.pkg
7
+ standard_assets: http://beta.unity3d.com/download/f0a33a6ef422/MacStandardAssetsInstaller/StandardAssets-5.1.3p3.pkg
8
+
@@ -0,0 +1,3 @@
1
+ module UniEnv
2
+ VERSION = "0.0.1"
3
+ end
data/lib/unienv.rb ADDED
@@ -0,0 +1,319 @@
1
+ require "unienv/version"
2
+ require "yaml"
3
+ require "tmpdir"
4
+ require "open-uri"
5
+
6
+
7
+ module UniEnv
8
+ def self.sh(cmd)
9
+ print "exec: #{cmd}\n"
10
+ system cmd
11
+ if $? != 0
12
+ raise "ERROR: #{$?.to_i}"
13
+ end
14
+ end
15
+ def self.editor_path
16
+ "#{$project_path}/Assets/Editor"
17
+ end
18
+ def self.has_editor?
19
+ Dir.exist?(self.editor_path)
20
+ end
21
+ def self.find_project
22
+ return unless $project_path.nil?
23
+ dirs = Dir.glob("**/Assets")
24
+ dirs.each do |d|
25
+ d = d.sub(/(\/)?Assets$/, '')
26
+ if Dir.exist?("#{d}/ProjectSettings")
27
+ $project_path = File.expand_path(d)
28
+ end
29
+ end
30
+ end
31
+ def self.check_target(target)
32
+ cand = [ 'ios', 'android' ]
33
+ cand.select! { |c| c =~ /^#{target}/i }
34
+ return cand[0] if cand.size == 1
35
+ return nil
36
+ end
37
+ def self.check_config(config)
38
+ cand = [ 'development', 'release', 'distribution' ]
39
+ cand.select! { |c| c =~ /^#{config}/i }
40
+ return cand[0] if cand.size == 1
41
+ return nil
42
+ end
43
+
44
+
45
+
46
+
47
+
48
+ def self.load_config
49
+ txt = File.read("#{ASSETS_PATH}/unity_versions.yml")
50
+ YAML.load(txt)
51
+ end
52
+
53
+
54
+ def self.enum_installed
55
+ unis = Dir.glob('/Applications/Unity*')
56
+ list = {}
57
+ unis.each do |uni|
58
+ if File.basename(uni) =~ /\AUnity(.+)\Z/
59
+ ver = $1
60
+ list[ver] = uni
61
+ end
62
+ end
63
+ list
64
+ end
65
+
66
+ def self.search_version(config, name)
67
+ vers = []
68
+ config['version'].each do |k, v|
69
+ vers << k if k.include?(name)
70
+ end
71
+ vers
72
+ end
73
+ def self.editor_uri(config, version)
74
+ config['version'][version]['editor']
75
+ end
76
+ def self.standard_assets_uri(config, version)
77
+ config['version'][version]['standard_assets']
78
+ end
79
+
80
+ def self.tmpdir
81
+ Dir.tmpdir + "/unienv"
82
+ end
83
+ def self.make_tmpdir
84
+ FileUtils.mkdir_p(tmpdir)
85
+ end
86
+ def self.clean_tmpdir
87
+ FileUtils.remove_entry_secure(tmpdir)
88
+ end
89
+ def self.make_cache_path(type, version)
90
+ "#{tmpdir}/#{type}-#{version}.pkg"
91
+ end
92
+ def self.make_editor_cache_path(version)
93
+ make_cache_path("Unity", version)
94
+ end
95
+ def self.make_standard_assets_cache_path(version)
96
+ make_cache_path("StandardAssets", version)
97
+ end
98
+ def self.find_cache(type, version)
99
+ Dir.glob(make_cache_path(type, version))
100
+ end
101
+ def self.find_editor_cache(version)
102
+ find_cache("Unity", version)
103
+ end
104
+ def self.find_standard_assets_cache(version)
105
+ find_cache("StandardAssets", version)
106
+ end
107
+
108
+ def self.download(uri, path)
109
+ totalsize = nil
110
+ size = 0
111
+ progress = 0
112
+ sio =
113
+ OpenURI.open_uri(
114
+ uri,
115
+ {
116
+ :content_length_proc => lambda { |sz|
117
+ totalsize = sz
118
+ print "total: #{sz / 1024}KB\n"
119
+ },
120
+ :progress_proc => lambda { |sz|
121
+ unless totalsize.nil?
122
+ size = sz
123
+ rate = ((size.to_f / totalsize.to_f) * 10).to_i
124
+ if rate > progress
125
+ print ". #{sz / 1024}KB\n"
126
+ progress = rate
127
+ end
128
+ end
129
+ },
130
+ }
131
+ )
132
+ File.open(path, "w+") do |f|
133
+ f.write(sio.read)
134
+ end
135
+ end
136
+
137
+
138
+ end
139
+
140
+
141
+
142
+
143
+ command :list do |c|
144
+ c.syntax = 'unienv list'
145
+ c.summary = 'display unity versions'
146
+ c.option '--local', 'specify .unitypackage name'
147
+ c.action do |args, options|
148
+ if options.local
149
+ list = UniEnv.enum_installed
150
+ print "local installed:\n"
151
+ list.sort.reverse.each do |k, v|
152
+ print " #{k}\n"
153
+ end
154
+ else
155
+ config = UniEnv.load_config
156
+ config['version'].sort.reverse.each do |k, v|
157
+ print " #{k}\n"
158
+ end
159
+ end
160
+ end
161
+ end
162
+
163
+
164
+ command :install do |c|
165
+ c.syntax = 'unienv install [version]'
166
+ c.summary = 'install specified version'
167
+ c.action do |args, options|
168
+ raise 'specify version' unless args.size != 0
169
+ config = UniEnv.load_config
170
+ candidates = UniEnv.search_version(config, args[0])
171
+ raise "ambiguous versions. #{candidates}" unless candidates.size == 1
172
+ version = candidates[0]
173
+
174
+ UniEnv.make_tmpdir
175
+ editor_cache = UniEnv.find_editor_cache(version)
176
+ standard_assets_cache = UniEnv.find_standard_assets_cache(version)
177
+ if editor_cache.empty?
178
+ UniEnv.download(UniEnv.editor_uri(config, version), UniEnv.make_editor_cache_path(version))
179
+ editor_cache = UniEnv.find_editor_cache(version)
180
+ end
181
+ if standard_assets_cache.empty?
182
+ UniEnv.download(UniEnv.standard_assets_uri(config, version), UniEnv.make_standard_assets_cache_path(version))
183
+ standard_assets_cache = UniEnv.find_standard_assets_cache(version)
184
+ end
185
+
186
+ p editor_cache
187
+ p standard_assets_cache
188
+ p candidates
189
+ #UniEnv.clean_tmpdir(tmppath)
190
+
191
+ UniEnv.sh "installer -package #{editor_cache[0]} -target /"
192
+ UniEnv.sh "installer -package #{standard_assets_cache[0]} -target /"
193
+
194
+ FileUtils.mv("/Applications/Unity", "/Applications/Unity#{version}")
195
+ end
196
+ end
197
+
198
+ command :select do |c|
199
+ c.syntax = 'unienv select [version]'
200
+ c.summary = 'select version'
201
+ c.action do |args, options|
202
+ list = UniEnv.enum_installed
203
+ raise 'specify version' if args.size != 1
204
+ version = args[0]
205
+ raise "not installed #{version}" if list[version].nil?
206
+ link = '/Applications/Unity'
207
+ FileUtils.rm(link) if File.exist?(link)
208
+ sleep 4
209
+ FileUtils.symlink("#{list[version]}", link, { :force => true })
210
+
211
+
212
+
213
+
214
+
215
+ end
216
+ end
217
+
218
+
219
+
220
+
221
+
222
+
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+ __END__
231
+
232
+
233
+
234
+ command :showlog do |c|
235
+ c.syntax = 'ubb showlog'
236
+ c.summary = 'show Unity Editor log'
237
+ c.action do |args, options|
238
+ log = '~/Library/Logs/Unity/Editor.log'
239
+ UniEnv.sh "less #{log}"
240
+ end
241
+ end
242
+ alias_command :log, :showlog
243
+
244
+ command :export do |c|
245
+ UniEnv.find_project
246
+ c.syntax = 'ubb export [options]'
247
+ c.summary = 'export .unitypackage'
248
+ c.description = 'hoge'
249
+ c.example 'export some folders to unitypackage', 'ubb export --project path/to/unityproject --output some.unitypackage Plugins/Something Resources/Something'
250
+ c.option '--output FILENAME', String, 'specify .unitypackage name'
251
+ c.action do |args, options|
252
+ raise 'specify output filename' if options.output.nil?
253
+ output = (options.output !~ /\.unitypackage$/)? options.output + ".unitypackage" : options.output
254
+ output = File.expand_path(output)
255
+ paths = args.map { |pt| "Assets/#{pt}" }.join(' ')
256
+ UniEnv.sh "#{$unity_app_path} -batchmode -projectPath #{$project_path} -exportPackage #{paths} #{output} -quit"
257
+ end
258
+ end
259
+
260
+ command :import do |c|
261
+ UniEnv.find_project
262
+ c.syntax = 'ubb import [package]'
263
+ c.summary = 'import .unitypackage'
264
+ c.description = 'hoge'
265
+ c.example 'import some unitypackage', 'ubb import --project path/to/unityproject some.unitypackage'
266
+ c.action do |args, options|
267
+ raise 'specify unitypackage file' if args.size == 0
268
+ raise 'too many unitypackage files' if args.size > 1
269
+ input = args[0]
270
+ raise "#{input} does not exist" unless File.exist?(input)
271
+ UniEnv.sh "#{$unity_app_path} -batchmode -projectPath #{$project_path} -importPackage #{input} -quit"
272
+ end
273
+ end
274
+
275
+ command :build do |c|
276
+ UniEnv.find_project
277
+ c.syntax = 'ubb build [options]'
278
+ c.summary = 'build project'
279
+ c.description = 'hoge'
280
+ c.example 'build project', 'ubb build --project path/to/unityproject --output path/to/outputproject'
281
+ c.option '--output PATH', String, 'specify output path'
282
+ c.option '--target TARGET', String, 'specify build target (ios|android)'
283
+ c.option '--config COFIGURATION', String, 'specify build configuration (development|release|distribution)'
284
+ c.action do |args, options|
285
+ options.default :config => 'development'
286
+ raise 'specify output path' if options.output.nil?
287
+ raise 'specify target' if options.target.nil?
288
+ output = File.expand_path(options.output)
289
+ target = UniEnv.check_target(options.target)
290
+ config = UniEnv.check_config(options.config)
291
+ raise "could not recognize a target: \"#{options.target}\"" if target.nil?
292
+ begin
293
+ has = UniEnv.has_editor?
294
+ editor_path = UniEnv.editor_path
295
+ src = "#{LIB_PATH}/assets/UniEnvBuild.cs"
296
+ dst = "#{editor_path}/UniEnvBuild.cs"
297
+ FileUtils.mkdir_p editor_path unless has
298
+ noop = false
299
+ if File.exist?(dst)
300
+ noop = true
301
+ raise 'build script has already existed'
302
+ end
303
+ cs = File.read(src)
304
+ csfile = File.open(dst, "w+")
305
+ csfile.write(ERB.new(cs).result binding)
306
+ csfile.flush
307
+ UniEnv.sh "#{$unity_app_path} -batchmode -projectPath #{$project_path} -quit -executeMethod Build.PerformBuild_#{target} -config #{config}"
308
+ ensure
309
+ unless noop
310
+ FileUtils.rm_f "#{editor_path}/UniEnvBuild.cs"
311
+ FileUtils.rm_f "#{editor_path}/UniEnvBuild.cs.meta"
312
+ unless has
313
+ FileUtils.rm_rf editor_path
314
+ FileUtils.rm_f "#{editor_path}.meta"
315
+ end
316
+ end
317
+ end
318
+ end
319
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'unienv'
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe UniEnv do
4
+ it 'has a version number' do
5
+ expect(UniEnv::VERSION).not_to be nil
6
+ end
7
+
8
+ it 'does something useful' do
9
+ expect(false).to eq(true)
10
+ end
11
+ end
data/unienv.gemspec ADDED
@@ -0,0 +1,25 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'unienv/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "unienv"
8
+ spec.version = UniEnv::VERSION
9
+ spec.authors = ["fum1h1ro"]
10
+ spec.email = ["fumihiro@gmail.com"]
11
+ spec.summary = %q{UniEnv}
12
+ spec.description = %q{CLI for helping batch building from Unity Editor}
13
+ spec.homepage = "https://github.com/fum1h1ro/unienv"
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_development_dependency "bundler", "~> 1.7"
22
+ spec.add_development_dependency "rake", "~> 10.0"
23
+ spec.add_development_dependency "rspec"
24
+ spec.add_dependency "commander", "~> 4.3"
25
+ end
metadata ADDED
@@ -0,0 +1,115 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: unienv
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - fum1h1ro
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-09-16 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.7'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.7'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: commander
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '4.3'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '4.3'
69
+ description: CLI for helping batch building from Unity Editor
70
+ email:
71
+ - fumihiro@gmail.com
72
+ executables:
73
+ - unienv
74
+ extensions: []
75
+ extra_rdoc_files: []
76
+ files:
77
+ - ".gitignore"
78
+ - Gemfile
79
+ - LICENSE.txt
80
+ - README.md
81
+ - Rakefile
82
+ - bin/unienv
83
+ - lib/assets/unity_versions.yml
84
+ - lib/unienv.rb
85
+ - lib/unienv/version.rb
86
+ - spec/spec_helper.rb
87
+ - spec/unienv_spec.rb
88
+ - unienv.gemspec
89
+ homepage: https://github.com/fum1h1ro/unienv
90
+ licenses:
91
+ - MIT
92
+ metadata: {}
93
+ post_install_message:
94
+ rdoc_options: []
95
+ require_paths:
96
+ - lib
97
+ required_ruby_version: !ruby/object:Gem::Requirement
98
+ requirements:
99
+ - - ">="
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ required_rubygems_version: !ruby/object:Gem::Requirement
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: '0'
107
+ requirements: []
108
+ rubyforge_project:
109
+ rubygems_version: 2.4.5
110
+ signing_key:
111
+ specification_version: 4
112
+ summary: UniEnv
113
+ test_files:
114
+ - spec/spec_helper.rb
115
+ - spec/unienv_spec.rb