ubb 0.0.2 → 0.0.3
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 +4 -4
- data/README.md +11 -13
- data/bin/ubb +0 -8
- data/lib/assets/UbbBuild.cs +17 -17
- data/lib/ubb.rb +51 -9
- data/lib/ubb/version.rb +1 -1
- data/ubb.gemspec +5 -5
- metadata +6 -9
- data/.rspec +0 -2
- data/.travis.yml +0 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b6caf5ea8a6c97a58bd823fa5e27f0d511bc92e
|
4
|
+
data.tar.gz: 9ffc640e29c80060d4ad2398c0bbfa0f89c3f174
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cbfce60a13faad0cc61a91871f125dd9c57380c900b4db31e9db01d5fa6b77a49a44071b80c87fd000217ac3ad184aa562e98cf3a91b205691dc81663ca0b69
|
7
|
+
data.tar.gz: 764d83fd0a60df9b8aba28fdd05f6d6ce601c4590943459723353406080411a29970c6679e1dc33b44de67e3432cde0170489b81f823e462e1c9dad8a3d7ae93
|
data/README.md
CHANGED
@@ -12,19 +12,11 @@ Unity Editor からビルドしたりパッケージを入出力する時に使
|
|
12
12
|
|
13
13
|
## Installation
|
14
14
|
|
15
|
-
|
15
|
+
Install it yourself as:
|
16
16
|
|
17
|
-
```ruby
|
18
|
-
gem 'ubb'
|
19
17
|
```
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
$ bundle
|
24
|
-
|
25
|
-
Or install it yourself as:
|
26
|
-
|
27
|
-
$ gem install ubb
|
18
|
+
$ gem install ubb
|
19
|
+
```
|
28
20
|
|
29
21
|
## Usage
|
30
22
|
|
@@ -56,10 +48,16 @@ ubb import 'パッケージファイル名'
|
|
56
48
|
|
57
49
|
### build
|
58
50
|
|
59
|
-
|
60
|
-
|
51
|
+
指定したプロジェクトのビルドを行います。
|
61
52
|
|
53
|
+
```
|
54
|
+
ubb build --output '出力先フォルダ' --target [ios] --config [development|release|distribution]
|
55
|
+
```
|
62
56
|
|
57
|
+
* target
|
58
|
+
* ビルドターゲットの指定。現在は `ios` のみ。
|
59
|
+
* config
|
60
|
+
* ビルドコンフィグの指定。
|
63
61
|
|
64
62
|
|
65
63
|
|
data/bin/ubb
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
LIB_PATH = File.expand_path("../../lib", __FILE__)
|
3
3
|
$:.unshift LIB_PATH
|
4
|
-
|
5
4
|
#require 'rubygems'
|
6
5
|
require 'commander/import'
|
7
6
|
require 'ubb'
|
@@ -10,13 +9,6 @@ require 'fileutils'
|
|
10
9
|
require 'erb'
|
11
10
|
|
12
11
|
$unity_app_path = "/Applications/Unity/Unity.app/Contents/MacOS/Unity"
|
13
|
-
dirs = Dir.glob("**/Assets")
|
14
|
-
dirs.each do |d|
|
15
|
-
d = d.sub(/(\/)?Assets$/, '')
|
16
|
-
if Dir.exist?("#{d}/ProjectSettings")
|
17
|
-
$project_path = File.expand_path(d)
|
18
|
-
end
|
19
|
-
end
|
20
12
|
|
21
13
|
program :version, Ubb::VERSION
|
22
14
|
program :description, 'Unity Batch Build helper'
|
data/lib/assets/UbbBuild.cs
CHANGED
@@ -5,16 +5,17 @@ using System.IO;
|
|
5
5
|
using UnityEditor;
|
6
6
|
|
7
7
|
public class Build {
|
8
|
-
enum
|
8
|
+
enum Config {
|
9
9
|
Unknown,
|
10
10
|
Development,
|
11
11
|
Release,
|
12
|
-
|
12
|
+
Distribution,
|
13
13
|
}
|
14
14
|
private static string _bakDefines;
|
15
15
|
private static string _buildPath = "<%= output %>";
|
16
16
|
// Android
|
17
|
-
static void
|
17
|
+
public static void PerformBuild_android() {
|
18
|
+
BuildTargetGroup group = BuildTargetGroup.Android;
|
18
19
|
Debug.Log("build start");
|
19
20
|
string[] scenes = GetAllScenes();
|
20
21
|
//update_symbols();
|
@@ -29,29 +30,29 @@ public class Build {
|
|
29
30
|
}
|
30
31
|
}
|
31
32
|
// iOS
|
32
|
-
public static void
|
33
|
+
public static void PerformBuild_ios() {
|
33
34
|
BuildTargetGroup group = BuildTargetGroup.iOS;
|
34
35
|
Debug.Log("build start");
|
35
36
|
string[] scenes = GetAllScenes();
|
36
37
|
BuildOptions opt = BuildOptions.SymlinkLibraries;
|
37
|
-
|
38
|
-
if (tgt ==
|
38
|
+
Config tgt = (UnityEditorInternal.InternalEditorUtility.inBatchMode) ? get_config() : Config.Development;
|
39
|
+
if (tgt == Config.Unknown) {
|
39
40
|
Debug.LogError("TARGET UNKNOWN");
|
40
41
|
EditorApplication.Exit(1);
|
41
42
|
}
|
42
43
|
switch (tgt) {
|
43
|
-
case
|
44
|
+
case Config.Development:
|
44
45
|
opt |= BuildOptions.Development;
|
45
46
|
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
46
47
|
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.SlowAndSafe;
|
47
48
|
break;
|
48
|
-
case
|
49
|
+
case Config.Release:
|
49
50
|
//opt |= BuildOptions.Development;
|
50
51
|
//PlayerSettings.strippingLevel = StrippingLevel.StripByteCode; // リフレクション使ってる箇所で死ぬ
|
51
52
|
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
52
53
|
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.FastButNoExceptions;
|
53
54
|
break;
|
54
|
-
case
|
55
|
+
case Config.Distribution:
|
55
56
|
//PlayerSettings.strippingLevel = StrippingLevel.StripByteCode;
|
56
57
|
PlayerSettings.strippingLevel = StrippingLevel.Disabled;
|
57
58
|
PlayerSettings.iOS.scriptCallOptimization = ScriptCallOptimizationLevel.FastButNoExceptions;
|
@@ -60,8 +61,7 @@ public class Build {
|
|
60
61
|
push_symbols(group);
|
61
62
|
//
|
62
63
|
update_symbols(group);
|
63
|
-
|
64
|
-
string error = BuildPipeline.BuildPlayer(scenes, _buildPath, buildTarget, opt);
|
64
|
+
string error = BuildPipeline.BuildPlayer(scenes, _buildPath, BuildTarget.iOS, opt);
|
65
65
|
//
|
66
66
|
pop_symbols(group);
|
67
67
|
//
|
@@ -109,13 +109,13 @@ public class Build {
|
|
109
109
|
Debug.Log(string.Format("NEW: {0}", defines));
|
110
110
|
PlayerSettings.SetScriptingDefineSymbolsForGroup(group, defines);
|
111
111
|
}
|
112
|
-
private static
|
113
|
-
List<string> tgts = get_argv("-
|
112
|
+
private static Config get_config() {
|
113
|
+
List<string> tgts = get_argv("-config");
|
114
114
|
foreach (string t in tgts) {
|
115
|
-
if (t == "
|
116
|
-
if (t == "
|
117
|
-
if (t == "
|
115
|
+
if (t == "development") return Config.Development;
|
116
|
+
if (t == "release") return Config.Release;
|
117
|
+
if (t == "distribution") return Config.Distribution;
|
118
118
|
}
|
119
|
-
return
|
119
|
+
return Config.Unknown;
|
120
120
|
}
|
121
121
|
}
|
data/lib/ubb.rb
CHANGED
@@ -15,6 +15,28 @@ module Ubb
|
|
15
15
|
def self.has_editor?
|
16
16
|
Dir.exist?(self.editor_path)
|
17
17
|
end
|
18
|
+
def self.find_project
|
19
|
+
return unless $project_path.nil?
|
20
|
+
dirs = Dir.glob("**/Assets")
|
21
|
+
dirs.each do |d|
|
22
|
+
d = d.sub(/(\/)?Assets$/, '')
|
23
|
+
if Dir.exist?("#{d}/ProjectSettings")
|
24
|
+
$project_path = File.expand_path(d)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
def self.check_target(target)
|
29
|
+
cand = [ 'ios', 'android' ]
|
30
|
+
cand.select! { |c| c =~ /^#{target}/i }
|
31
|
+
return cand[0] if cand.size == 1
|
32
|
+
return nil
|
33
|
+
end
|
34
|
+
def self.check_config(config)
|
35
|
+
cand = [ 'development', 'release', 'distribution' ]
|
36
|
+
cand.select! { |c| c =~ /^#{config}/i }
|
37
|
+
return cand[0] if cand.size == 1
|
38
|
+
return nil
|
39
|
+
end
|
18
40
|
end
|
19
41
|
|
20
42
|
command :showlog do |c|
|
@@ -28,6 +50,7 @@ end
|
|
28
50
|
alias_command :log, :showlog
|
29
51
|
|
30
52
|
command :export do |c|
|
53
|
+
Ubb.find_project
|
31
54
|
c.syntax = 'ubb export [options]'
|
32
55
|
c.summary = 'export .unitypackage'
|
33
56
|
c.description = 'hoge'
|
@@ -43,6 +66,7 @@ command :export do |c|
|
|
43
66
|
end
|
44
67
|
|
45
68
|
command :import do |c|
|
69
|
+
Ubb.find_project
|
46
70
|
c.syntax = 'ubb import [package]'
|
47
71
|
c.summary = 'import .unitypackage'
|
48
72
|
c.description = 'hoge'
|
@@ -57,28 +81,46 @@ command :import do |c|
|
|
57
81
|
end
|
58
82
|
|
59
83
|
command :build do |c|
|
84
|
+
Ubb.find_project
|
85
|
+
c.syntax = 'ubb build [options]'
|
86
|
+
c.summary = 'build project'
|
87
|
+
c.description = 'hoge'
|
88
|
+
c.example 'build project', 'ubb build --project path/to/unityproject --output path/to/outputproject'
|
60
89
|
c.option '--output PATH', String, 'specify output path'
|
90
|
+
c.option '--target TARGET', String, 'specify build target (ios|android)'
|
91
|
+
c.option '--config COFIGURATION', String, 'specify build configuration (development|release|distribution)'
|
61
92
|
c.action do |args, options|
|
93
|
+
options.default :config => 'development'
|
62
94
|
raise 'specify output path' if options.output.nil?
|
95
|
+
raise 'specify target' if options.target.nil?
|
96
|
+
output = File.expand_path(options.output)
|
97
|
+
target = Ubb.check_target(options.target)
|
98
|
+
config = Ubb.check_config(options.config)
|
99
|
+
raise "could not recognize a target: \"#{options.target}\"" if target.nil?
|
63
100
|
begin
|
64
|
-
output = File.expand_path(options.output)
|
65
101
|
has = Ubb.has_editor?
|
66
102
|
editor_path = Ubb.editor_path
|
67
|
-
FileUtils.mkdir_p editor_path unless has
|
68
103
|
src = "#{LIB_PATH}/assets/UbbBuild.cs"
|
69
104
|
dst = "#{editor_path}/UbbBuild.cs"
|
70
|
-
|
105
|
+
FileUtils.mkdir_p editor_path unless has
|
106
|
+
noop = false
|
107
|
+
if File.exist?(dst)
|
108
|
+
noop = true
|
109
|
+
raise 'build script has already existed'
|
110
|
+
end
|
71
111
|
cs = File.read(src)
|
72
112
|
csfile = File.open(dst, "w+")
|
73
113
|
csfile.write(ERB.new(cs).result binding)
|
74
114
|
csfile.flush
|
75
|
-
Ubb.sh "#{$unity_app_path} -batchmode -projectPath #{$project_path} -quit -executeMethod Build.
|
115
|
+
Ubb.sh "#{$unity_app_path} -batchmode -projectPath #{$project_path} -quit -executeMethod Build.PerformBuild_#{target} -config #{config}"
|
76
116
|
ensure
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
117
|
+
unless noop
|
118
|
+
FileUtils.rm_f "#{editor_path}/UbbBuild.cs"
|
119
|
+
FileUtils.rm_f "#{editor_path}/UbbBuild.cs.meta"
|
120
|
+
unless has
|
121
|
+
FileUtils.rm_rf editor_path
|
122
|
+
FileUtils.rm_f "#{editor_path}.meta"
|
123
|
+
end
|
82
124
|
end
|
83
125
|
end
|
84
126
|
end
|
data/lib/ubb/version.rb
CHANGED
data/ubb.gemspec
CHANGED
@@ -8,18 +8,18 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Ubb::VERSION
|
9
9
|
spec.authors = ["fum1h1ro"]
|
10
10
|
spec.email = ["fumihiro@gmail.com"]
|
11
|
-
spec.summary = %q{
|
12
|
-
spec.description = %q{
|
13
|
-
spec.homepage = ""
|
11
|
+
spec.summary = %q{Ubb}
|
12
|
+
spec.description = %q{CLI for helping batch building from Unity Editor}
|
13
|
+
spec.homepage = "https://github.com/fum1h1ro/ubb"
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
16
16
|
spec.files = `git ls-files -z`.split("\x0")
|
17
17
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
|
-
spec.require_paths = ["lib"
|
19
|
+
spec.require_paths = ["lib"]
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.7"
|
22
22
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
23
|
spec.add_development_dependency "rspec"
|
24
|
-
spec.
|
24
|
+
spec.add_dependency "commander", "~> 4.3"
|
25
25
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ubb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fum1h1ro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-04-
|
11
|
+
date: 2015-04-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -59,14 +59,14 @@ dependencies:
|
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: '4.3'
|
62
|
-
type: :
|
62
|
+
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '4.3'
|
69
|
-
description:
|
69
|
+
description: CLI for helping batch building from Unity Editor
|
70
70
|
email:
|
71
71
|
- fumihiro@gmail.com
|
72
72
|
executables:
|
@@ -75,8 +75,6 @@ extensions: []
|
|
75
75
|
extra_rdoc_files: []
|
76
76
|
files:
|
77
77
|
- ".gitignore"
|
78
|
-
- ".rspec"
|
79
|
-
- ".travis.yml"
|
80
78
|
- Gemfile
|
81
79
|
- LICENSE.txt
|
82
80
|
- README.md
|
@@ -88,7 +86,7 @@ files:
|
|
88
86
|
- spec/spec_helper.rb
|
89
87
|
- spec/ubb_spec.rb
|
90
88
|
- ubb.gemspec
|
91
|
-
homepage:
|
89
|
+
homepage: https://github.com/fum1h1ro/ubb
|
92
90
|
licenses:
|
93
91
|
- MIT
|
94
92
|
metadata: {}
|
@@ -96,7 +94,6 @@ post_install_message:
|
|
96
94
|
rdoc_options: []
|
97
95
|
require_paths:
|
98
96
|
- lib
|
99
|
-
- bin
|
100
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
101
98
|
requirements:
|
102
99
|
- - ">="
|
@@ -112,7 +109,7 @@ rubyforge_project:
|
|
112
109
|
rubygems_version: 2.4.5
|
113
110
|
signing_key:
|
114
111
|
specification_version: 4
|
115
|
-
summary:
|
112
|
+
summary: Ubb
|
116
113
|
test_files:
|
117
114
|
- spec/spec_helper.rb
|
118
115
|
- spec/ubb_spec.rb
|
data/.rspec
DELETED
data/.travis.yml
DELETED