ubb 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- 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