ubb 0.0.1p1
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 +7 -0
- data/.gitignore +14 -0
- data/.rspec +2 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +76 -0
- data/Rakefile +7 -0
- data/bin/ubb +149 -0
- data/lib/Build.cs +128 -0
- data/lib/ubb/version.rb +3 -0
- data/lib/ubb.rb +23 -0
- data/spec/spec_helper.rb +2 -0
- data/spec/ubb_spec.rb +11 -0
- data/ubb.gemspec +24 -0
- metadata +104 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7062533508ef6ae22567edb15f155cdc99a4cc77
|
4
|
+
data.tar.gz: be95b1172b992b73164f140137d2d0137d6a8b45
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8c83b00af9a22e0e1fc8b8a9eb8d438e6d1537a0d106d047c8d31440187e39a43d80feb2b04461242ce854b3d7f824017b7aacea13dd2601493e8f50bffb0d81
|
7
|
+
data.tar.gz: 791a34278bec15f2846f88a02a8148602b19a28f0399cdf4e43bf9ecd020392381ba7a5d743c3de6ce3414b8ab05221cd9d5c991c5de71159ae39066955b8f6f
|
data/.gitignore
ADDED
data/.rspec
ADDED
data/.travis.yml
ADDED
data/Gemfile
ADDED
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,76 @@
|
|
1
|
+
# Ubb
|
2
|
+
|
3
|
+
Helper for Unity batch build.
|
4
|
+
|
5
|
+
[](http://badge.fury.io/rb/ubb)
|
6
|
+
|
7
|
+
|
8
|
+
## Description
|
9
|
+
|
10
|
+
Unity Editor からビルドしたりパッケージを入出力する時に使うツールです。
|
11
|
+
|
12
|
+
|
13
|
+
## Installation
|
14
|
+
|
15
|
+
Add this line to your application's Gemfile:
|
16
|
+
|
17
|
+
```ruby
|
18
|
+
gem 'ubb'
|
19
|
+
```
|
20
|
+
|
21
|
+
And then execute:
|
22
|
+
|
23
|
+
$ bundle
|
24
|
+
|
25
|
+
Or install it yourself as:
|
26
|
+
|
27
|
+
$ gem install ubb
|
28
|
+
|
29
|
+
## Usage
|
30
|
+
|
31
|
+
```
|
32
|
+
$ ubb export -o hoge.unitypackage Plugins/hoge
|
33
|
+
$ ubb import hoge.unitypackage
|
34
|
+
```
|
35
|
+
|
36
|
+
Unity のプロジェクトフォルダは、明示的に指定されなければカレントディレクトリ以下で、最初に見つかったものを自動的に選択します。
|
37
|
+
明示的に指定するには `--project PATH` オプションを使用してください。
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
### export
|
42
|
+
|
43
|
+
指定したフォルダ及びファイルを .unitypackage としてエクスポートします。
|
44
|
+
|
45
|
+
```
|
46
|
+
ubb export -o '出力ファイル名' 'パッケージに含むファイル名(フォルダ可&複数指定可)'
|
47
|
+
```
|
48
|
+
|
49
|
+
### import
|
50
|
+
|
51
|
+
指定した .unitypackage をプロジェクトにインポートします。
|
52
|
+
|
53
|
+
```
|
54
|
+
ubb import 'パッケージファイル名'
|
55
|
+
```
|
56
|
+
|
57
|
+
### build
|
58
|
+
|
59
|
+
(開発中)
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
## Contributing
|
71
|
+
|
72
|
+
1. Fork it ( https://github.com/fum1h1ro/ubb/fork )
|
73
|
+
2. Create your feature branch (`git checkout -b my-new-feature`)
|
74
|
+
3. Commit your changes (`git commit -am 'Add some feature'`)
|
75
|
+
4. Push to the branch (`git push origin my-new-feature`)
|
76
|
+
5. Create a new Pull Request
|
data/Rakefile
ADDED
data/bin/ubb
ADDED
@@ -0,0 +1,149 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
LIB_PATH = "#{File.expand_path(File.dirname(__FILE__))}/../lib"
|
3
|
+
$:.unshift LIB_PATH
|
4
|
+
require 'ubb'
|
5
|
+
require 'optparse'
|
6
|
+
require 'fileutils'
|
7
|
+
require 'erb'
|
8
|
+
|
9
|
+
class App
|
10
|
+
include FileUtils
|
11
|
+
include Ubb
|
12
|
+
TASKS = {
|
13
|
+
"showlog" => :task_showlog,
|
14
|
+
"export" => :task_export_package,
|
15
|
+
"import" => :task_import_package,
|
16
|
+
"build" => :task_build,
|
17
|
+
}
|
18
|
+
|
19
|
+
class AppError < StandardError
|
20
|
+
attr_reader :status
|
21
|
+
def initialize(msg, status)
|
22
|
+
super(msg)
|
23
|
+
@status = status
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
def initialize()
|
30
|
+
@unity_app_path = "/Applications/Unity/Unity.app/Contents/MacOS/Unity"
|
31
|
+
@project = ''
|
32
|
+
@output = ''
|
33
|
+
@options = {
|
34
|
+
:f => nil,
|
35
|
+
:build_path => "/../project",
|
36
|
+
}
|
37
|
+
end
|
38
|
+
def execute(argv)
|
39
|
+
@task = ''
|
40
|
+
@task = argv.shift if TASKS.keys.include?(argv[0])
|
41
|
+
parse(argv)
|
42
|
+
unless @task.empty?
|
43
|
+
self.method(TASKS[@task]).call
|
44
|
+
end
|
45
|
+
|
46
|
+
#ubbfilename = @options[:f] || 'Ubbfile'
|
47
|
+
#if File.exist?(ubbfilename)
|
48
|
+
# ubb = UbbFile.new
|
49
|
+
# ubb.parse(ubbfilename)
|
50
|
+
#else
|
51
|
+
# raise 'ERROR'
|
52
|
+
#end
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
def parse(argv)
|
57
|
+
OptionParser.new do |opt|
|
58
|
+
opt.on("--unity-app-path UNITY_APP_PATH") { |f| @unity_app_path = f }
|
59
|
+
opt.on("--project PROJECT_PATH") { |f| @project = f }
|
60
|
+
opt.on("-f UBBFILE") { |f| @options[:f] = f }
|
61
|
+
opt.on("-o OUTPUTFILE") { |f| @output = f }
|
62
|
+
opt.parse!(argv)
|
63
|
+
end
|
64
|
+
@project = find_project_path if @project.empty?
|
65
|
+
@assets_path = "#{@project}/Assets"
|
66
|
+
@editor_path = "#{@assets_path}/Editor"
|
67
|
+
@argv = argv
|
68
|
+
end
|
69
|
+
|
70
|
+
|
71
|
+
def find_project_path
|
72
|
+
dirs = Dir.glob("**/Assets")
|
73
|
+
return nil if dirs.empty?
|
74
|
+
File.expand_path(dirs[0].sub(/(\/)?Assets$/, ''))
|
75
|
+
end
|
76
|
+
def sh(cmd)
|
77
|
+
print "exec: #{cmd}\n"
|
78
|
+
system cmd
|
79
|
+
if $? != 0
|
80
|
+
raise AppError.new("SHELL ERROR", $?.to_i)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
def has_editor?
|
84
|
+
Dir.exist?(@editor_path)
|
85
|
+
end
|
86
|
+
|
87
|
+
|
88
|
+
|
89
|
+
def task_showlog
|
90
|
+
log = '~/Library/Logs/Unity/Editor.log'
|
91
|
+
sh "less #{log}"
|
92
|
+
end
|
93
|
+
|
94
|
+
|
95
|
+
# export unitypackage
|
96
|
+
#sh "#{UNITY_APP} -batchmode -projectPath #{PROJECT_PATH} -exportPackage Assets/#{EDITOR_ROOT} Assets/#{PLUGINS_ROOT} #{ADDITIONAL_EXPORT_PATH} ../#{UNITYPACKAGE_PATH} -quit"
|
97
|
+
def task_export_package()
|
98
|
+
raise 'specify output' if @output.empty?
|
99
|
+
@output += ".unitypackage" if @output !~ /\.unitypackage$/
|
100
|
+
paths = @argv.map { |pt| "Assets/#{pt}" }.join(' ')
|
101
|
+
output = File.expand_path(@output)
|
102
|
+
sh "#{@unity_app_path} -batchmode -projectPath #{@project} -exportPackage #{paths} #{output} -quit"
|
103
|
+
#p self
|
104
|
+
end
|
105
|
+
# import unitypackage
|
106
|
+
#sh "#{UNITY_APP} -batchmode -projectPath #{File.expand_path(PROJECT_PATH)} -importPackage #{latest} -quit"
|
107
|
+
def task_import_package()
|
108
|
+
raise 'specify unitypackage file' if @argv.size == 0
|
109
|
+
raise 'too many unitypackage files' if @argv.size > 1
|
110
|
+
input = @argv.shift
|
111
|
+
raise "does not exist #{input}" unless File.exist?(@argv)
|
112
|
+
sh "#{@unity_app_path} -batchmode -projectPath #{@project} -importPackage #{input} -quit"
|
113
|
+
end
|
114
|
+
# build
|
115
|
+
#$UNITY_APP_DIR -batchmode -projectPath $UNITY_PROJECT_PATH -quit -executeMethod Build.PerformiOSBuild $ADDITIONAL_OPTS -logFile UnityBuildLog.txt
|
116
|
+
def task_build()
|
117
|
+
raise 'specify output' if @output.empty?
|
118
|
+
begin
|
119
|
+
he = has_editor?
|
120
|
+
mkdir_p @editor_path unless he
|
121
|
+
cs = File.read("#{LIB_PATH}/Build.cs")
|
122
|
+
output = File.expand_path(@output)
|
123
|
+
csfile = File.open("#{@editor_path}/Build.cs", "w+")
|
124
|
+
csfile.write(ERB.new(cs).result binding)
|
125
|
+
csfile.flush
|
126
|
+
sh "#{@unity_app_path} -batchmode -projectPath #{@project} -quit -executeMethod Build.PerformiOSBuild -target DEV"
|
127
|
+
ensure
|
128
|
+
unless he
|
129
|
+
rm_rf @editor_path
|
130
|
+
rm_f "#{@editor_path}.meta"
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
App.new.execute(ARGV)
|
149
|
+
|
data/lib/Build.cs
ADDED
@@ -0,0 +1,128 @@
|
|
1
|
+
using UnityEngine;
|
2
|
+
using System.Collections;
|
3
|
+
using System.Collections.Generic;
|
4
|
+
using System.IO;
|
5
|
+
using UnityEditor;
|
6
|
+
|
7
|
+
public class Build {
|
8
|
+
enum Target {
|
9
|
+
Unknown,
|
10
|
+
Development,
|
11
|
+
Release,
|
12
|
+
Final,
|
13
|
+
}
|
14
|
+
private static string _bakDefines;
|
15
|
+
private static string _buildPath = "<%= output %>";
|
16
|
+
// Android
|
17
|
+
static void PerformBuild() {
|
18
|
+
Debug.Log("build start");
|
19
|
+
string[] scenes = GetAllScenes();
|
20
|
+
update_symbols();
|
21
|
+
string error = BuildPipeline.BuildPlayer(scenes, "build.apk", BuildTarget.Android, BuildOptions.None);
|
22
|
+
if (string.IsNullOrEmpty(error)) {
|
23
|
+
Debug.Log("build end");
|
24
|
+
EditorApplication.Exit(0);
|
25
|
+
} else {
|
26
|
+
// build failed
|
27
|
+
Debug.Log(error);
|
28
|
+
EditorApplication.Exit(1);
|
29
|
+
}
|
30
|
+
}
|
31
|
+
// iOS
|
32
|
+
public static void PerformiOSBuild() {
|
33
|
+
Debug.Log("build start");
|
34
|
+
string[] scenes = GetAllScenes();
|
35
|
+
BuildOptions opt = BuildOptions.SymlinkLibraries;
|
36
|
+
Target tgt = (UnityEditorInternal.InternalEditorUtility.inBatchMode) ? get_target() : Target.Development;
|
37
|
+
if (tgt == Target.Unknown) {
|
38
|
+
Debug.LogError("TARGET UNKNOWN");
|
39
|
+
EditorApplication.Exit(1);
|
40
|
+
}
|
41
|
+
switch (tgt) {
|
42
|
+
case Target.Development:
|
43
|
+
opt |= BuildOptions.Development;
|
44
|
+
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
45
|
+
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.SlowAndSafe;
|
46
|
+
break;
|
47
|
+
case Target.Release:
|
48
|
+
//opt |= BuildOptions.Development;
|
49
|
+
//PlayerSettings.strippingLevel = StrippingLevel.StripByteCode; // リフレクション使ってる箇所で死ぬ
|
50
|
+
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
51
|
+
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.FastButNoExceptions;
|
52
|
+
break;
|
53
|
+
case Target.Final:
|
54
|
+
//PlayerSettings.strippingLevel = StrippingLevel.StripByteCode;
|
55
|
+
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
56
|
+
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.FastButNoExceptions;
|
57
|
+
break;
|
58
|
+
}
|
59
|
+
push_symbols();
|
60
|
+
//
|
61
|
+
update_symbols();
|
62
|
+
BuildTarget buildTarget = BuildTarget.iOS;
|
63
|
+
//string path = Path.GetFullPath(Application.dataPath + "/../project");
|
64
|
+
string error = BuildPipeline.BuildPlayer(scenes, _buildPath, buildTarget, opt);
|
65
|
+
//
|
66
|
+
pop_symbols();
|
67
|
+
//
|
68
|
+
if (string.IsNullOrEmpty(error)) {
|
69
|
+
Debug.Log("build end");
|
70
|
+
EditorApplication.Exit(0);
|
71
|
+
} else {
|
72
|
+
// build failed
|
73
|
+
Debug.Log(error);
|
74
|
+
EditorApplication.Exit(1);
|
75
|
+
}
|
76
|
+
}
|
77
|
+
private static string[] GetAllScenes() {
|
78
|
+
string[] allScene = new string[EditorBuildSettings.scenes.Length];
|
79
|
+
int i = 0;
|
80
|
+
foreach (EditorBuildSettingsScene scene in EditorBuildSettings.scenes) {
|
81
|
+
allScene[i++] = scene.path;
|
82
|
+
}
|
83
|
+
return allScene;
|
84
|
+
}
|
85
|
+
private static List<string> get_argv(string name) {
|
86
|
+
string[] args = System.Environment.GetCommandLineArgs();
|
87
|
+
List<string> argv = new List<string>();
|
88
|
+
for (int i = 0; i < args.Length; ++i) {
|
89
|
+
string v = args[i];
|
90
|
+
if (v == name && i < args.Length - 1) {
|
91
|
+
argv.Add(args[i+1]);
|
92
|
+
}
|
93
|
+
}
|
94
|
+
return argv;
|
95
|
+
}
|
96
|
+
private static void push_symbols() {
|
97
|
+
BuildTargetGroup tg = EditorUserBuildSettings.selectedBuildTargetGroup;
|
98
|
+
_bakDefines = PlayerSettings.GetScriptingDefineSymbolsForGroup(tg);
|
99
|
+
}
|
100
|
+
private static void pop_symbols() {
|
101
|
+
BuildTargetGroup tg = EditorUserBuildSettings.selectedBuildTargetGroup;
|
102
|
+
if (string.IsNullOrEmpty(_bakDefines)) {
|
103
|
+
PlayerSettings.SetScriptingDefineSymbolsForGroup(tg, null);
|
104
|
+
} else {
|
105
|
+
PlayerSettings.SetScriptingDefineSymbolsForGroup(tg, _bakDefines);
|
106
|
+
}
|
107
|
+
}
|
108
|
+
private static void update_symbols() {
|
109
|
+
BuildTargetGroup tg = EditorUserBuildSettings.selectedBuildTargetGroup;
|
110
|
+
List<string> symbols = get_argv("-symbol");
|
111
|
+
string defines = PlayerSettings.GetScriptingDefineSymbolsForGroup(tg);
|
112
|
+
Debug.Log(string.Format("OLD: {0}", defines));
|
113
|
+
foreach (string sym in symbols) {
|
114
|
+
defines += string.Format(";{0}", sym);
|
115
|
+
}
|
116
|
+
Debug.Log(string.Format("NEW: {0}", defines));
|
117
|
+
PlayerSettings.SetScriptingDefineSymbolsForGroup(tg, defines);
|
118
|
+
}
|
119
|
+
private static Target get_target() {
|
120
|
+
List<string> tgts = get_argv("-target");
|
121
|
+
foreach (string t in tgts) {
|
122
|
+
if (t == "DEV") return Target.Development;
|
123
|
+
if (t == "REL") return Target.Release;
|
124
|
+
if (t == "FNL") return Target.Final;
|
125
|
+
}
|
126
|
+
return Target.Unknown;
|
127
|
+
}
|
128
|
+
}
|
data/lib/ubb/version.rb
ADDED
data/lib/ubb.rb
ADDED
data/spec/spec_helper.rb
ADDED
data/spec/ubb_spec.rb
ADDED
data/ubb.gemspec
ADDED
@@ -0,0 +1,24 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'ubb/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "ubb"
|
8
|
+
spec.version = Ubb::VERSION
|
9
|
+
spec.authors = ["fum1h1ro"]
|
10
|
+
spec.email = ["fumihiro@gmail.com"]
|
11
|
+
spec.summary = %q{Unity Batch Build Helper}
|
12
|
+
spec.description = %q{Helping batch build from Unity Editor}
|
13
|
+
spec.homepage = ""
|
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", "bin"]
|
20
|
+
|
21
|
+
spec.add_development_dependency "bundler", "~> 1.7"
|
22
|
+
spec.add_development_dependency "rake", "~> 10.0"
|
23
|
+
spec.add_development_dependency "rspec"
|
24
|
+
end
|
metadata
ADDED
@@ -0,0 +1,104 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: ubb
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1p1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- fum1h1ro
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-06 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
|
+
description: Helping batch build from Unity Editor
|
56
|
+
email:
|
57
|
+
- fumihiro@gmail.com
|
58
|
+
executables:
|
59
|
+
- ubb
|
60
|
+
extensions: []
|
61
|
+
extra_rdoc_files: []
|
62
|
+
files:
|
63
|
+
- ".gitignore"
|
64
|
+
- ".rspec"
|
65
|
+
- ".travis.yml"
|
66
|
+
- Gemfile
|
67
|
+
- LICENSE.txt
|
68
|
+
- README.md
|
69
|
+
- Rakefile
|
70
|
+
- bin/ubb
|
71
|
+
- lib/Build.cs
|
72
|
+
- lib/ubb.rb
|
73
|
+
- lib/ubb/version.rb
|
74
|
+
- spec/spec_helper.rb
|
75
|
+
- spec/ubb_spec.rb
|
76
|
+
- ubb.gemspec
|
77
|
+
homepage: ''
|
78
|
+
licenses:
|
79
|
+
- MIT
|
80
|
+
metadata: {}
|
81
|
+
post_install_message:
|
82
|
+
rdoc_options: []
|
83
|
+
require_paths:
|
84
|
+
- lib
|
85
|
+
- bin
|
86
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
87
|
+
requirements:
|
88
|
+
- - ">="
|
89
|
+
- !ruby/object:Gem::Version
|
90
|
+
version: '0'
|
91
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
92
|
+
requirements:
|
93
|
+
- - ">"
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: 1.3.1
|
96
|
+
requirements: []
|
97
|
+
rubyforge_project:
|
98
|
+
rubygems_version: 2.4.5
|
99
|
+
signing_key:
|
100
|
+
specification_version: 4
|
101
|
+
summary: Unity Batch Build Helper
|
102
|
+
test_files:
|
103
|
+
- spec/spec_helper.rb
|
104
|
+
- spec/ubb_spec.rb
|