u3d 1.2.3 → 1.3.2
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 +5 -5
- data/.circleci/config.yml +33 -10
- data/.github/workflows/ci.yml +35 -0
- data/.github_changelog_generator +3 -1
- data/.gitignore +1 -0
- data/.rubocop.yml +15 -3
- data/CHANGELOG.md +86 -11
- data/Gemfile.lock +149 -87
- data/Rakefile +13 -8
- data/examples/Example1/Gemfile +4 -2
- data/examples/Example1/Gemfile.lock +8 -6
- data/examples/Example1/Rakefile +2 -0
- data/examples/Example1/fastlane/Fastfile +2 -0
- data/examples/Example2/Gemfile +4 -2
- data/examples/Example2/Gemfile.lock +12 -7
- data/examples/Example2/fastlane/Fastfile +2 -0
- data/exe/u3d +3 -1
- data/lib/u3d/asset.rb +6 -2
- data/lib/u3d/cache.rb +14 -10
- data/lib/u3d/commands.rb +14 -9
- data/lib/u3d/commands_generator.rb +6 -4
- data/lib/u3d/compatibility.rb +2 -0
- data/lib/u3d/download_validator.rb +6 -3
- data/lib/u3d/downloader.rb +12 -8
- data/lib/u3d/failure_reporter.rb +4 -3
- data/lib/u3d/hub_modules_parser.rb +24 -7
- data/lib/u3d/ini_modules_parser.rb +10 -8
- data/lib/u3d/installation.rb +31 -49
- data/lib/u3d/installer.rb +44 -33
- data/lib/u3d/log_analyzer.rb +31 -27
- data/lib/u3d/unity_license.rb +2 -0
- data/lib/u3d/unity_module.rb +2 -0
- data/lib/u3d/unity_project.rb +4 -1
- data/lib/u3d/unity_runner.rb +12 -10
- data/lib/u3d/unity_version_definition.rb +3 -0
- data/lib/u3d/unity_version_number.rb +8 -2
- data/lib/u3d/unity_versions.rb +28 -23
- data/lib/u3d/utils.rb +86 -15
- data/lib/u3d/version.rb +8 -6
- data/lib/u3d.rb +2 -0
- data/lib/u3d_core/admin_tools.rb +2 -0
- data/lib/u3d_core/command_executor.rb +11 -7
- data/lib/u3d_core/command_runner.rb +17 -19
- data/lib/u3d_core/core_ext/hash.rb +2 -0
- data/lib/u3d_core/core_ext/operating_system_symbol.rb +3 -0
- data/lib/u3d_core/core_ext/string.rb +2 -0
- data/lib/u3d_core/credentials.rb +9 -7
- data/lib/u3d_core/env.rb +3 -0
- data/lib/u3d_core/globals.rb +7 -7
- data/lib/u3d_core/helper.rb +6 -4
- data/lib/u3d_core/ui/disable_colors.rb +2 -0
- data/lib/u3d_core/ui/implementations/shell.rb +8 -5
- data/lib/u3d_core/ui/interface.rb +3 -0
- data/lib/u3d_core/ui/ui.rb +5 -4
- data/lib/u3d_core/update_checker/changelog.rb +4 -0
- data/lib/u3d_core/update_checker/update_checker.rb +8 -9
- data/lib/u3d_core/version.rb +2 -0
- data/lib/u3d_core.rb +2 -0
- data/u3d.gemspec +20 -9
- metadata +112 -28
- data/appveyor.yml +0 -21
data/Gemfile.lock
CHANGED
@@ -1,139 +1,201 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
u3d (1.2
|
4
|
+
u3d (1.3.2)
|
5
5
|
colored (>= 1.2, < 2.0.0)
|
6
6
|
commander (>= 4.4.0, < 5.0.0)
|
7
|
+
fiddle
|
7
8
|
file-tail (>= 1.2.0)
|
8
9
|
filesize (>= 0.1.1)
|
9
10
|
inifile (>= 3.0.0, < 4.0.0)
|
10
11
|
plist (>= 3.1.0, < 4.0.0)
|
12
|
+
rexml
|
11
13
|
rubyzip (>= 1.0.0)
|
12
14
|
security (= 0.1.3)
|
13
15
|
|
14
16
|
GEM
|
15
17
|
remote: https://rubygems.org/
|
16
18
|
specs:
|
17
|
-
activesupport (
|
19
|
+
activesupport (6.1.6)
|
18
20
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
19
|
-
i18n (
|
20
|
-
minitest (
|
21
|
-
tzinfo (~>
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
21
|
+
i18n (>= 1.6, < 2)
|
22
|
+
minitest (>= 5.1)
|
23
|
+
tzinfo (~> 2.0)
|
24
|
+
zeitwerk (~> 2.3)
|
25
|
+
addressable (2.8.0)
|
26
|
+
public_suffix (>= 2.0.2, < 5.0)
|
27
|
+
ast (2.4.2)
|
28
|
+
async (1.30.2)
|
29
|
+
console (~> 1.10)
|
30
|
+
nio4r (~> 2.3)
|
31
|
+
timers (~> 4.1)
|
32
|
+
async-http (0.56.6)
|
33
|
+
async (>= 1.25)
|
34
|
+
async-io (>= 1.28)
|
35
|
+
async-pool (>= 0.2)
|
36
|
+
protocol-http (~> 0.22.0)
|
37
|
+
protocol-http1 (~> 0.14.0)
|
38
|
+
protocol-http2 (~> 0.14.0)
|
39
|
+
traces (~> 0.4.0)
|
40
|
+
async-http-faraday (0.11.0)
|
41
|
+
async-http (~> 0.42)
|
42
|
+
faraday
|
43
|
+
async-io (1.33.0)
|
44
|
+
async
|
45
|
+
async-pool (0.3.10)
|
46
|
+
async (>= 1.25)
|
28
47
|
colored (1.2)
|
29
|
-
commander (4.
|
48
|
+
commander (4.6.0)
|
30
49
|
highline (~> 2.0.0)
|
31
|
-
concurrent-ruby (1.
|
32
|
-
|
50
|
+
concurrent-ruby (1.1.10)
|
51
|
+
console (1.15.3)
|
52
|
+
fiber-local
|
53
|
+
coveralls (0.8.23)
|
33
54
|
json (>= 1.8, < 3)
|
34
|
-
simplecov (~> 0.
|
55
|
+
simplecov (~> 0.16.1)
|
35
56
|
term-ansicolor (~> 1.3)
|
36
|
-
thor (
|
57
|
+
thor (>= 0.19.4, < 2.0)
|
37
58
|
tins (~> 1.6)
|
38
|
-
diff-lcs (1.
|
39
|
-
docile (1.
|
40
|
-
|
59
|
+
diff-lcs (1.5.0)
|
60
|
+
docile (1.4.0)
|
61
|
+
excon (0.92.3)
|
62
|
+
faraday (1.10.0)
|
63
|
+
faraday-em_http (~> 1.0)
|
64
|
+
faraday-em_synchrony (~> 1.0)
|
65
|
+
faraday-excon (~> 1.1)
|
66
|
+
faraday-httpclient (~> 1.0)
|
67
|
+
faraday-multipart (~> 1.0)
|
68
|
+
faraday-net_http (~> 1.0)
|
69
|
+
faraday-net_http_persistent (~> 1.0)
|
70
|
+
faraday-patron (~> 1.0)
|
71
|
+
faraday-rack (~> 1.0)
|
72
|
+
faraday-retry (~> 1.0)
|
73
|
+
ruby2_keywords (>= 0.0.4)
|
74
|
+
faraday-em_http (1.0.0)
|
75
|
+
faraday-em_synchrony (1.0.0)
|
76
|
+
faraday-excon (1.1.0)
|
77
|
+
faraday-http-cache (2.2.0)
|
78
|
+
faraday (>= 0.8)
|
79
|
+
faraday-httpclient (1.0.1)
|
80
|
+
faraday-multipart (1.0.3)
|
41
81
|
multipart-post (>= 1.2, < 3)
|
42
|
-
faraday-
|
43
|
-
|
82
|
+
faraday-net_http (1.0.1)
|
83
|
+
faraday-net_http_persistent (1.2.0)
|
84
|
+
faraday-patron (1.0.0)
|
85
|
+
faraday-rack (1.0.0)
|
86
|
+
faraday-retry (1.0.3)
|
87
|
+
fiber-local (1.0.0)
|
88
|
+
fiddle (1.1.0)
|
44
89
|
file-tail (1.2.0)
|
45
90
|
tins (~> 1.0)
|
46
91
|
filesize (0.2.0)
|
47
|
-
github_changelog_generator (1.
|
92
|
+
github_changelog_generator (1.16.4)
|
48
93
|
activesupport
|
94
|
+
async (>= 1.25.0)
|
95
|
+
async-http-faraday
|
49
96
|
faraday-http-cache
|
50
97
|
multi_json
|
51
98
|
octokit (~> 4.6)
|
52
|
-
rainbow (>= 2.1)
|
99
|
+
rainbow (>= 2.2.1)
|
53
100
|
rake (>= 10.0)
|
54
|
-
retriable (~> 2.1)
|
55
101
|
highline (2.0.3)
|
56
|
-
i18n (
|
102
|
+
i18n (1.10.0)
|
103
|
+
concurrent-ruby (~> 1.0)
|
57
104
|
inifile (3.0.0)
|
58
|
-
json (2.
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
octokit (4.
|
105
|
+
json (2.6.2)
|
106
|
+
minitest (5.15.0)
|
107
|
+
multi_json (1.15.0)
|
108
|
+
multipart-post (2.1.1)
|
109
|
+
nio4r (2.5.8)
|
110
|
+
octokit (4.22.0)
|
111
|
+
faraday (>= 0.9)
|
64
112
|
sawyer (~> 0.8.0, >= 0.5.3)
|
65
|
-
parallel (1.
|
66
|
-
parser (2.
|
67
|
-
ast (~> 2.
|
68
|
-
plist (3.
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
public_suffix (
|
77
|
-
rainbow (3.
|
78
|
-
rake (
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
rspec-
|
83
|
-
rspec-
|
84
|
-
|
85
|
-
|
86
|
-
|
113
|
+
parallel (1.22.1)
|
114
|
+
parser (3.1.2.0)
|
115
|
+
ast (~> 2.4.1)
|
116
|
+
plist (3.6.0)
|
117
|
+
protocol-hpack (1.4.2)
|
118
|
+
protocol-http (0.22.6)
|
119
|
+
protocol-http1 (0.14.4)
|
120
|
+
protocol-http (~> 0.22)
|
121
|
+
protocol-http2 (0.14.2)
|
122
|
+
protocol-hpack (~> 1.4)
|
123
|
+
protocol-http (~> 0.18)
|
124
|
+
public_suffix (4.0.7)
|
125
|
+
rainbow (3.1.1)
|
126
|
+
rake (13.0.6)
|
127
|
+
regexp_parser (2.4.0)
|
128
|
+
rexml (3.2.5)
|
129
|
+
rspec (3.11.0)
|
130
|
+
rspec-core (~> 3.11.0)
|
131
|
+
rspec-expectations (~> 3.11.0)
|
132
|
+
rspec-mocks (~> 3.11.0)
|
133
|
+
rspec-core (3.11.0)
|
134
|
+
rspec-support (~> 3.11.0)
|
135
|
+
rspec-expectations (3.11.0)
|
87
136
|
diff-lcs (>= 1.2.0, < 2.0)
|
88
|
-
rspec-support (~> 3.
|
89
|
-
rspec-mocks (3.1
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
137
|
+
rspec-support (~> 3.11.0)
|
138
|
+
rspec-mocks (3.11.1)
|
139
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
140
|
+
rspec-support (~> 3.11.0)
|
141
|
+
rspec-support (3.11.0)
|
142
|
+
rspec_junit_formatter (0.5.1)
|
94
143
|
rspec-core (>= 2, < 4, != 2.12.0)
|
95
|
-
rubocop (
|
144
|
+
rubocop (1.28.2)
|
96
145
|
parallel (~> 1.10)
|
97
|
-
parser (>=
|
98
|
-
powerpack (~> 0.1)
|
146
|
+
parser (>= 3.1.0.0)
|
99
147
|
rainbow (>= 2.2.2, < 4.0)
|
148
|
+
regexp_parser (>= 1.8, < 3.0)
|
149
|
+
rexml
|
150
|
+
rubocop-ast (>= 1.17.0, < 2.0)
|
100
151
|
ruby-progressbar (~> 1.7)
|
101
|
-
unicode-display_width (
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
152
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
153
|
+
rubocop-ast (1.17.0)
|
154
|
+
parser (>= 3.1.1.0)
|
155
|
+
rubocop-rake (0.6.0)
|
156
|
+
rubocop (~> 1.0)
|
157
|
+
ruby-progressbar (1.11.0)
|
158
|
+
ruby2_keywords (0.0.5)
|
159
|
+
rubyzip (2.3.2)
|
160
|
+
sawyer (0.8.2)
|
161
|
+
addressable (>= 2.3.5)
|
162
|
+
faraday (> 0.8, < 2.0)
|
107
163
|
security (0.1.3)
|
108
|
-
simplecov (0.
|
109
|
-
docile (~> 1.1
|
164
|
+
simplecov (0.16.1)
|
165
|
+
docile (~> 1.1)
|
110
166
|
json (>= 1.8, < 3)
|
111
167
|
simplecov-html (~> 0.10.0)
|
112
|
-
simplecov-html (0.10.
|
113
|
-
|
168
|
+
simplecov-html (0.10.2)
|
169
|
+
sync (0.5.0)
|
170
|
+
term-ansicolor (1.7.1)
|
114
171
|
tins (~> 1.0)
|
115
|
-
thor (
|
116
|
-
|
117
|
-
tins (1.
|
118
|
-
|
119
|
-
|
120
|
-
|
172
|
+
thor (1.2.1)
|
173
|
+
timers (4.3.3)
|
174
|
+
tins (1.31.1)
|
175
|
+
sync
|
176
|
+
traces (0.4.1)
|
177
|
+
tzinfo (2.0.4)
|
178
|
+
concurrent-ruby (~> 1.0)
|
179
|
+
unicode-display_width (2.1.0)
|
180
|
+
zeitwerk (2.5.4)
|
121
181
|
|
122
182
|
PLATFORMS
|
123
183
|
ruby
|
124
|
-
x64-mingw32
|
125
|
-
x86-mingw32
|
126
184
|
|
127
185
|
DEPENDENCIES
|
186
|
+
activesupport (>= 5.2.4.3)
|
187
|
+
addressable (>= 2.8.0)
|
128
188
|
bundler (~> 2.0)
|
129
189
|
coveralls
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
190
|
+
excon (>= 0.71.0)
|
191
|
+
github_changelog_generator (>= 1.16.4)
|
192
|
+
json (>= 2.3.0)
|
193
|
+
rake (>= 12.3.3)
|
194
|
+
rspec (~> 3.11.0)
|
195
|
+
rspec_junit_formatter (~> 0.5.1)
|
196
|
+
rubocop (~> 1.27)
|
197
|
+
rubocop-rake (~> 0.6.0)
|
136
198
|
u3d!
|
137
199
|
|
138
200
|
BUNDLED WITH
|
139
|
-
2.
|
201
|
+
2.3.13
|
data/Rakefile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
## --- BEGIN LICENSE BLOCK ---
|
2
4
|
# Copyright (c) 2016-present WeWantToKnow AS
|
3
5
|
#
|
@@ -35,7 +37,7 @@ RSpec::Core::RakeTask.new(:spec)
|
|
35
37
|
RuboCop::RakeTask.new
|
36
38
|
|
37
39
|
class GithubChangelogGenerator
|
38
|
-
PATH = '.github_changelog_generator'
|
40
|
+
PATH = '.github_changelog_generator'
|
39
41
|
class << self
|
40
42
|
def future_release
|
41
43
|
s = File.read(PATH)
|
@@ -56,25 +58,25 @@ class GithubChangelogGenerator
|
|
56
58
|
line
|
57
59
|
end
|
58
60
|
end
|
59
|
-
File.write(PATH, lines.join("\n")
|
61
|
+
File.write(PATH, "#{lines.join("\n")}\n")
|
60
62
|
end
|
61
63
|
end
|
62
64
|
end
|
63
65
|
|
64
66
|
class U3dCode
|
65
|
-
PATH = 'lib/u3d/version.rb'
|
67
|
+
PATH = 'lib/u3d/version.rb'
|
66
68
|
class << self
|
67
69
|
def version=(version)
|
68
70
|
s = File.read(PATH)
|
69
71
|
lines = s.split("\n").map do |line|
|
70
|
-
m = line.match(/(.*VERSION = ').*('
|
72
|
+
m = line.match(/(.*VERSION = ').*(')/)
|
71
73
|
if m
|
72
74
|
"#{m[1]}#{version}#{m[2]}"
|
73
75
|
else
|
74
76
|
line
|
75
77
|
end
|
76
78
|
end
|
77
|
-
File.write(PATH, lines.join("\n")
|
79
|
+
File.write(PATH, "#{lines.join("\n")}\n")
|
78
80
|
end
|
79
81
|
end
|
80
82
|
end
|
@@ -126,6 +128,7 @@ def github_reviewers
|
|
126
128
|
end
|
127
129
|
###
|
128
130
|
|
131
|
+
desc 'Ensure the git repository is clean. Fails otherwise'
|
129
132
|
task :ensure_git_clean do
|
130
133
|
branch = run_command('git rev-parse --abbrev-ref HEAD', "Couldn't get current git branch").strip
|
131
134
|
UI.user_error!("You are not on 'master' but on '#{branch}'") unless branch == "master"
|
@@ -133,10 +136,11 @@ task :ensure_git_clean do
|
|
133
136
|
UI.user_error!("git status not clean:\n#{output}") unless output == ""
|
134
137
|
end
|
135
138
|
|
136
|
-
|
139
|
+
desc 'Ensure we are ready to prepare a PR'
|
137
140
|
task :prepare_git_pr, [:pr_branch] do |_t, args|
|
138
141
|
pr_branch = args['pr_branch']
|
139
142
|
raise "Missing pr_branch argument" unless pr_branch
|
143
|
+
|
140
144
|
UI.user_error! "Prepare git PR stopped by user" unless UI.confirm("Creating PR branch #{pr_branch}")
|
141
145
|
run_command("git checkout -b #{pr_branch}")
|
142
146
|
end
|
@@ -180,7 +184,7 @@ task bump: 'ensure_git_clean' do
|
|
180
184
|
UI.user_error! "Bump version stopped by user" unless UI.confirm("Next version will be #{nextversion}. Confirm?")
|
181
185
|
U3dCode.version = nextversion
|
182
186
|
GithubChangelogGenerator.future_release = nextversion
|
183
|
-
sh 'rspec'
|
187
|
+
sh 'bundle exec rspec'
|
184
188
|
sh 'git add .github_changelog_generator lib/u3d/version.rb Gemfile.lock'
|
185
189
|
sh "git commit -m 'Bump version to #{nextversion}'"
|
186
190
|
sh 'git push'
|
@@ -216,9 +220,10 @@ def parse_changelog
|
|
216
220
|
if (m = line.match(/^## \[(.*)\]/))
|
217
221
|
releases[version] = buffer if buffer
|
218
222
|
version = m[1]
|
219
|
-
buffer = version
|
223
|
+
buffer = "#{version}\n\n"
|
220
224
|
else
|
221
225
|
next unless version # skip first lines
|
226
|
+
|
222
227
|
buffer += line
|
223
228
|
end
|
224
229
|
end
|
data/examples/Example1/Gemfile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gem 'fastlane'
|
@@ -5,6 +7,6 @@ REPO_ROOT = File.expand_path(File.join('..', '..'))
|
|
5
7
|
gem 'u3d', path: REPO_ROOT
|
6
8
|
|
7
9
|
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
8
|
-
# rubocop:disable Eval
|
10
|
+
# rubocop:disable Security/Eval
|
9
11
|
eval(File.read(plugins_path), binding) if File.exist?(plugins_path)
|
10
|
-
# rubocop:enable Eval
|
12
|
+
# rubocop:enable Security/Eval
|
@@ -1,19 +1,20 @@
|
|
1
1
|
PATH
|
2
|
-
remote: /Users/lacostej/Code/OSS/
|
2
|
+
remote: /Users/lacostej/Code/OSS/u3d_releases/fastlane-plugin-u3d
|
3
3
|
specs:
|
4
4
|
fastlane-plugin-u3d (0.1.2)
|
5
5
|
u3d (>= 0.9, < 2.0)
|
6
6
|
|
7
7
|
PATH
|
8
|
-
remote: /Users/lacostej/Code/OSS/
|
8
|
+
remote: /Users/lacostej/Code/OSS/u3d_releases
|
9
9
|
specs:
|
10
|
-
u3d (1.2.
|
10
|
+
u3d (1.2.3)
|
11
11
|
colored (>= 1.2, < 2.0.0)
|
12
12
|
commander (>= 4.4.0, < 5.0.0)
|
13
13
|
file-tail (>= 1.2.0)
|
14
14
|
filesize (>= 0.1.1)
|
15
15
|
inifile (>= 3.0.0, < 4.0.0)
|
16
16
|
plist (>= 3.1.0, < 4.0.0)
|
17
|
+
rexml
|
17
18
|
rubyzip (>= 1.0.0)
|
18
19
|
security (= 0.1.3)
|
19
20
|
|
@@ -21,7 +22,7 @@ GEM
|
|
21
22
|
remote: https://rubygems.org/
|
22
23
|
specs:
|
23
24
|
CFPropertyList (3.0.1)
|
24
|
-
addressable (2.
|
25
|
+
addressable (2.8.0)
|
25
26
|
public_suffix (>= 2.0.2, < 5.0)
|
26
27
|
atomos (0.1.3)
|
27
28
|
babosa (1.0.3)
|
@@ -118,7 +119,7 @@ GEM
|
|
118
119
|
domain_name (~> 0.5)
|
119
120
|
httpclient (2.8.3)
|
120
121
|
inifile (3.0.0)
|
121
|
-
json (2.2
|
122
|
+
json (2.6.2)
|
122
123
|
jwt (2.1.0)
|
123
124
|
memoist (0.16.0)
|
124
125
|
mime-types (3.3)
|
@@ -138,6 +139,7 @@ GEM
|
|
138
139
|
declarative-option (< 0.2.0)
|
139
140
|
uber (< 0.2.0)
|
140
141
|
retriable (3.1.2)
|
142
|
+
rexml (3.2.5)
|
141
143
|
rouge (2.0.7)
|
142
144
|
rubyzip (1.3.0)
|
143
145
|
security (0.1.3)
|
@@ -154,7 +156,7 @@ GEM
|
|
154
156
|
terminal-notifier (2.0.0)
|
155
157
|
terminal-table (1.8.0)
|
156
158
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
157
|
-
tins (1.
|
159
|
+
tins (1.31.1)
|
158
160
|
sync
|
159
161
|
tty-cursor (0.7.0)
|
160
162
|
tty-screen (0.7.0)
|
data/examples/Example1/Rakefile
CHANGED
data/examples/Example2/Gemfile
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
source 'https://rubygems.org'
|
2
4
|
|
3
5
|
gem 'fastlane'
|
@@ -5,6 +7,6 @@ REPO_ROOT = File.expand_path(File.join('..', '..'))
|
|
5
7
|
gem 'u3d', path: REPO_ROOT
|
6
8
|
|
7
9
|
plugins_path = File.join(File.dirname(__FILE__), 'fastlane', 'Pluginfile')
|
8
|
-
# rubocop:disable Eval
|
10
|
+
# rubocop:disable Security/Eval
|
9
11
|
eval(File.read(plugins_path), binding) if File.exist?(plugins_path)
|
10
|
-
# rubocop:enable Eval
|
12
|
+
# rubocop:enable Security/Eval
|
@@ -1,26 +1,28 @@
|
|
1
1
|
PATH
|
2
|
-
remote: /Users/lacostej/Code/OSS/
|
2
|
+
remote: /Users/lacostej/Code/OSS/u3d_releases/fastlane-plugin-u3d
|
3
3
|
specs:
|
4
4
|
fastlane-plugin-u3d (0.1.2)
|
5
5
|
u3d (>= 0.9, < 2.0)
|
6
6
|
|
7
7
|
PATH
|
8
|
-
remote: /Users/lacostej/Code/OSS/
|
8
|
+
remote: /Users/lacostej/Code/OSS/u3d_releases
|
9
9
|
specs:
|
10
|
-
u3d (1.
|
10
|
+
u3d (1.2.3)
|
11
11
|
colored (>= 1.2, < 2.0.0)
|
12
12
|
commander (>= 4.4.0, < 5.0.0)
|
13
13
|
file-tail (>= 1.2.0)
|
14
14
|
filesize (>= 0.1.1)
|
15
15
|
inifile (>= 3.0.0, < 4.0.0)
|
16
16
|
plist (>= 3.1.0, < 4.0.0)
|
17
|
+
rexml
|
18
|
+
rubyzip (>= 1.0.0)
|
17
19
|
security (= 0.1.3)
|
18
20
|
|
19
21
|
GEM
|
20
22
|
remote: https://rubygems.org/
|
21
23
|
specs:
|
22
24
|
CFPropertyList (3.0.1)
|
23
|
-
addressable (2.
|
25
|
+
addressable (2.8.0)
|
24
26
|
public_suffix (>= 2.0.2, < 5.0)
|
25
27
|
atomos (0.1.3)
|
26
28
|
babosa (1.0.3)
|
@@ -38,7 +40,7 @@ GEM
|
|
38
40
|
unf (>= 0.0.5, < 1.0.0)
|
39
41
|
dotenv (2.7.5)
|
40
42
|
emoji_regex (1.0.1)
|
41
|
-
excon (0.
|
43
|
+
excon (0.92.3)
|
42
44
|
faraday (0.17.0)
|
43
45
|
multipart-post (>= 1.2, < 3)
|
44
46
|
faraday-cookie_jar (0.0.6)
|
@@ -117,7 +119,7 @@ GEM
|
|
117
119
|
domain_name (~> 0.5)
|
118
120
|
httpclient (2.8.3)
|
119
121
|
inifile (3.0.0)
|
120
|
-
json (2.2
|
122
|
+
json (2.6.2)
|
121
123
|
jwt (2.1.0)
|
122
124
|
memoist (0.16.0)
|
123
125
|
mime-types (3.3)
|
@@ -137,6 +139,7 @@ GEM
|
|
137
139
|
declarative-option (< 0.2.0)
|
138
140
|
uber (< 0.2.0)
|
139
141
|
retriable (3.1.2)
|
142
|
+
rexml (3.2.5)
|
140
143
|
rouge (2.0.7)
|
141
144
|
rubyzip (1.3.0)
|
142
145
|
security (0.1.3)
|
@@ -149,10 +152,12 @@ GEM
|
|
149
152
|
CFPropertyList
|
150
153
|
naturally
|
151
154
|
slack-notifier (2.3.2)
|
155
|
+
sync (0.5.0)
|
152
156
|
terminal-notifier (2.0.0)
|
153
157
|
terminal-table (1.8.0)
|
154
158
|
unicode-display_width (~> 1.1, >= 1.1.1)
|
155
|
-
tins (1.
|
159
|
+
tins (1.31.1)
|
160
|
+
sync
|
156
161
|
tty-cursor (0.7.0)
|
157
162
|
tty-screen (0.7.0)
|
158
163
|
tty-spinner (0.9.1)
|
data/exe/u3d
CHANGED
data/lib/u3d/asset.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
## --- BEGIN LICENSE BLOCK ---
|
2
4
|
# Copyright (c) 2016-present WeWantToKnow AS
|
3
5
|
#
|
@@ -36,8 +38,9 @@ module U3d
|
|
36
38
|
|
37
39
|
def initialize(path, unity_project = nil)
|
38
40
|
raise ArgumentError, "No file at #{path}" unless File.exist?(path)
|
41
|
+
|
39
42
|
@path = path
|
40
|
-
@meta_path = path
|
43
|
+
@meta_path = "#{path}.meta"
|
41
44
|
@meta = YAML.safe_load(File.read(@meta_path))
|
42
45
|
@guid = @meta['guid']
|
43
46
|
@unity_project = unity_project
|
@@ -63,6 +66,7 @@ module U3d
|
|
63
66
|
|
64
67
|
def eql?(other)
|
65
68
|
return false unless other.is_a? Asset
|
69
|
+
|
66
70
|
other.guid == @guid
|
67
71
|
end
|
68
72
|
|
@@ -81,7 +85,7 @@ module U3d
|
|
81
85
|
private
|
82
86
|
|
83
87
|
def grep_reference_root
|
84
|
-
@unity_project
|
88
|
+
@unity_project&.exist? ? 'Assets/' : '.'
|
85
89
|
end
|
86
90
|
end
|
87
91
|
end
|
data/lib/u3d/cache.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
## --- BEGIN LICENSE BLOCK ---
|
2
4
|
# Copyright (c) 2016-present WeWantToKnow AS
|
3
5
|
#
|
@@ -32,12 +34,12 @@ module U3d
|
|
32
34
|
using ::CoreExtensions::OperatingSystem
|
33
35
|
|
34
36
|
# Name of the cache file
|
35
|
-
DEFAULT_NAME = 'cache.json'
|
37
|
+
DEFAULT_NAME = 'cache.json'
|
36
38
|
# Maximum duration after which the cache is considered outdated
|
37
39
|
# Currently set to 24h
|
38
40
|
CACHE_LIFE = 60 * 60 * 24
|
39
41
|
|
40
|
-
GLOBAL_CACHE_URL = 'https://dragonbox.github.io/unities/v1/versions.json'
|
42
|
+
GLOBAL_CACHE_URL = 'https://dragonbox.github.io/unities/v1/versions.json'
|
41
43
|
|
42
44
|
private
|
43
45
|
|
@@ -49,11 +51,13 @@ module U3d
|
|
49
51
|
|
50
52
|
def [](key)
|
51
53
|
return nil if @cache[key].nil?
|
54
|
+
|
52
55
|
@cache[key]
|
53
56
|
end
|
54
57
|
|
55
58
|
def initialize(path: nil, force_os: nil, force_refresh: false, offline: false, central_cache: false)
|
56
59
|
raise "Cache: cannot specify both offline and force_refresh" if offline && force_refresh
|
60
|
+
|
57
61
|
@path = path || Cache.default_os_path
|
58
62
|
@cache = {}
|
59
63
|
os = force_os || U3dCore::Helper.operating_system
|
@@ -78,23 +82,23 @@ module U3d
|
|
78
82
|
def check_for_update(file_path, os)
|
79
83
|
need_update = false
|
80
84
|
data = {}
|
81
|
-
if
|
82
|
-
need_update = true
|
83
|
-
else
|
85
|
+
if File.file?(file_path)
|
84
86
|
begin
|
85
87
|
File.open(file_path, 'r') do |f|
|
86
88
|
data = JSON.parse(f.read)
|
87
89
|
end
|
88
|
-
rescue JSON::ParserError =>
|
89
|
-
UI.error
|
90
|
+
rescue JSON::ParserError => e
|
91
|
+
UI.error "Failed to parse cache.json: #{e}"
|
90
92
|
need_update = true
|
91
|
-
rescue SystemCallError =>
|
92
|
-
UI.error
|
93
|
+
rescue SystemCallError => e
|
94
|
+
UI.error "Failed to open cache.json: #{e}"
|
93
95
|
need_update = true
|
94
96
|
else
|
95
97
|
need_update = os_data_need_update?(data, os)
|
96
98
|
data[os.id2name] = nil if need_update
|
97
99
|
end
|
100
|
+
else
|
101
|
+
need_update = true
|
98
102
|
end
|
99
103
|
return need_update, data
|
100
104
|
end
|
@@ -111,7 +115,7 @@ module U3d
|
|
111
115
|
update_cache(os) unless central_cache && fetch_central_cache(os)
|
112
116
|
|
113
117
|
File.delete(file_path) if File.file?(file_path)
|
114
|
-
File.
|
118
|
+
File.write(file_path, @cache.to_json)
|
115
119
|
end
|
116
120
|
|
117
121
|
# Fetches central versions.json. Ignore it if it is too old
|