u3d 1.2.2 → 1.2.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 +5 -5
- data/.github_changelog_generator +1 -1
- data/CHANGELOG.md +8 -0
- data/Gemfile.lock +3 -3
- data/Rakefile +8 -5
- data/lib/u3d.rb +11 -0
- data/lib/u3d/commands.rb +1 -2
- data/lib/u3d/downloader.rb +1 -1
- data/lib/u3d/ini_modules_parser.rb +0 -24
- data/lib/u3d/installation.rb +47 -18
- data/lib/u3d/installer.rb +3 -1
- data/lib/u3d/version.rb +1 -1
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 9058c36484b4c4ef6bc42c07e6b0669ef89750a1
|
4
|
+
data.tar.gz: 26c8bc6675b4becf0bd01cf211754d3ca5b9d4ae
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e674a5a5dc6a8b33baefc3479ae5873ad18aa7bd55a005cf182a5a68fb7351ab7a09f7e6ae642f10b42c9deb7bfdc574f02ad60df32e30d178c276507ed74bfa
|
7
|
+
data.tar.gz: f4a4b91a842e1a90833e8e04b4b01c48c2d61090c9219330d51f33531bebd236a9bac7ddd20e2efbed3f340105fa8840a566434d5be81971b664954e1247dc34
|
data/.github_changelog_generator
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.2.3](https://github.com/DragonBox/u3d/tree/v1.2.3) (2020-02-26)
|
4
|
+
[Full Changelog](https://github.com/DragonBox/u3d/compare/v1.2.2...v1.2.3)
|
5
|
+
|
6
|
+
**Merged pull requests:**
|
7
|
+
|
8
|
+
- Allow to refresh the github changelog. Also fix them as we removed empty lines. [\#398](https://github.com/DragonBox/u3d/pull/398) ([lacostej](https://github.com/lacostej))
|
9
|
+
- Detect 2019 modules and allow to install 2019, skipping dmg install for now [\#392](https://github.com/DragonBox/u3d/pull/392) ([lacostej](https://github.com/lacostej))
|
10
|
+
|
3
11
|
## [v1.2.2](https://github.com/DragonBox/u3d/tree/v1.2.2) (2020-02-21)
|
4
12
|
[Full Changelog](https://github.com/DragonBox/u3d/compare/v1.2.1...v1.2.2)
|
5
13
|
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
u3d (1.2.
|
4
|
+
u3d (1.2.3)
|
5
5
|
colored (>= 1.2, < 2.0.0)
|
6
6
|
commander (>= 4.4.0, < 5.0.0)
|
7
7
|
file-tail (>= 1.2.0)
|
@@ -26,7 +26,7 @@ GEM
|
|
26
26
|
byebug (10.0.2)
|
27
27
|
coderay (1.1.2)
|
28
28
|
colored (1.2)
|
29
|
-
commander (4.
|
29
|
+
commander (4.4.7)
|
30
30
|
highline (~> 2.0.0)
|
31
31
|
concurrent-ruby (1.0.5)
|
32
32
|
coveralls (0.8.21)
|
@@ -100,7 +100,7 @@ GEM
|
|
100
100
|
ruby-progressbar (~> 1.7)
|
101
101
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
102
102
|
ruby-progressbar (1.9.0)
|
103
|
-
rubyzip (2.
|
103
|
+
rubyzip (2.0.0)
|
104
104
|
sawyer (0.8.1)
|
105
105
|
addressable (>= 2.3.5, < 2.6)
|
106
106
|
faraday (~> 0.8, < 1.0)
|
data/Rakefile
CHANGED
@@ -219,7 +219,7 @@ def parse_changelog
|
|
219
219
|
buffer = version + "\n\n"
|
220
220
|
else
|
221
221
|
next unless version # skip first lines
|
222
|
-
buffer += line
|
222
|
+
buffer += line
|
223
223
|
end
|
224
224
|
end
|
225
225
|
releases[version] = buffer
|
@@ -227,22 +227,25 @@ def parse_changelog
|
|
227
227
|
end
|
228
228
|
|
229
229
|
desc 'Create missing Github releases from changelog'
|
230
|
-
task :create_missing_github_releases do
|
230
|
+
task :create_missing_github_releases, [:force] do |_t, args|
|
231
|
+
force = args[:force] || false
|
231
232
|
releases = parse_changelog
|
232
233
|
|
233
234
|
known_releases = `hub release`.split("\n")
|
234
235
|
|
235
236
|
releases.keys.reverse.each do |version|
|
236
|
-
|
237
|
+
exist = known_releases.include? version
|
238
|
+
if exist && !force
|
237
239
|
puts "Skipping existing version #{version}"
|
238
240
|
next
|
239
241
|
end
|
242
|
+
action = exist ? "edit" : "create"
|
240
243
|
changelog = releases[version]
|
241
|
-
puts "
|
244
|
+
puts "About to #{action} version #{version}"
|
242
245
|
require "tempfile"
|
243
246
|
Tempfile.create("githubchangelog") do |changelog_file|
|
244
247
|
File.write(changelog_file, changelog)
|
245
|
-
command = "hub release
|
248
|
+
command = "hub release #{action} #{version} --file #{changelog_file.path}"
|
246
249
|
`#{command}`
|
247
250
|
end
|
248
251
|
end
|
data/lib/u3d.rb
CHANGED
@@ -48,4 +48,15 @@ require 'u3d/unity_versions'
|
|
48
48
|
module U3d
|
49
49
|
Helper = U3dCore::Helper
|
50
50
|
UI = U3dCore::UI
|
51
|
+
|
52
|
+
def self.const_missing(const_name)
|
53
|
+
deprecated = {
|
54
|
+
PlaybackEngineUtils: IvyPlaybackEngineUtils,
|
55
|
+
INIParser: INIModulesParser
|
56
|
+
}
|
57
|
+
super unless deprecated.keys.include? const_name
|
58
|
+
replacement = deprecated[const_name]
|
59
|
+
UI.deprecated "DEPRECATION WARNING: the class U3d::#{const_name} is deprecated. Use #{replacement} instead."
|
60
|
+
replacement
|
61
|
+
end
|
51
62
|
end
|
data/lib/u3d/commands.rb
CHANGED
@@ -342,9 +342,8 @@ module U3d
|
|
342
342
|
UI.verbose "Version #{version} of Unity is not installed yet"
|
343
343
|
else
|
344
344
|
UI.verbose "Unity #{version} is installed at #{unity.root_path}"
|
345
|
-
return unity
|
346
345
|
end
|
347
|
-
|
346
|
+
unity
|
348
347
|
end
|
349
348
|
|
350
349
|
# rubocop:disable Metrics/BlockNesting
|
data/lib/u3d/downloader.rb
CHANGED
@@ -33,7 +33,7 @@ module U3d
|
|
33
33
|
# Regex to get the name of a localization asset
|
34
34
|
UNITY_LANGUAGE_FILE_REGEX = %r{\/\d+/[0-9\.]+\/([\w-]+)$}
|
35
35
|
# Regex to get the name of a package out of its file name
|
36
|
-
UNITY_MODULE_FILE_REGEX = %r{\/([\w\-_\.\+]+\.(?:pkg|exe|zip|sh|deb|msi|xz))[^\/]*$}
|
36
|
+
UNITY_MODULE_FILE_REGEX = %r{\/([\w\-_\.\+]+\.(?:pkg|dmg|exe|zip|sh|deb|msi|xz))[^\/]*$}
|
37
37
|
|
38
38
|
class << self
|
39
39
|
def download_directory
|
@@ -25,30 +25,6 @@ require 'u3d/utils'
|
|
25
25
|
require 'u3d_core/helper'
|
26
26
|
|
27
27
|
module U3d
|
28
|
-
# Backwards compatibility
|
29
|
-
module INIParser
|
30
|
-
class << self
|
31
|
-
def method_missing(method_name, *arguments, &block)
|
32
|
-
UI.deprecated 'INIParser is obsolete, Use INIModulesParser instead'
|
33
|
-
if INIModulesParser.respond_to?(method_name)
|
34
|
-
INIModulesParser.send(method_name, *arguments, &block)
|
35
|
-
else
|
36
|
-
super
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
|
-
def respond_to?(method_name, include_private = false)
|
41
|
-
UI.deprecated 'INIParser is obsolete, Use INIModulesParser instead'
|
42
|
-
INIModulesParser.respond_to?(method_name, include_private)
|
43
|
-
end
|
44
|
-
|
45
|
-
def respond_to_missing?(method_name, include_private = false)
|
46
|
-
UI.deprecated 'INIParser is obsolete, Use INIModulesParser instead'
|
47
|
-
INIModulesParser.respond_to_missing?(method_name, include_private)
|
48
|
-
end
|
49
|
-
end
|
50
|
-
end
|
51
|
-
|
52
28
|
# Load and parse INI files
|
53
29
|
module INIModulesParser
|
54
30
|
#####################################################
|
data/lib/u3d/installation.rb
CHANGED
@@ -105,7 +105,7 @@ module U3d
|
|
105
105
|
end
|
106
106
|
end
|
107
107
|
|
108
|
-
class
|
108
|
+
class IvyPlaybackEngineUtils
|
109
109
|
def self.list_module_configs(playbackengine_parent_path)
|
110
110
|
Dir.glob("#{playbackengine_parent_path}/PlaybackEngines/*/ivy.xml")
|
111
111
|
end
|
@@ -127,6 +127,32 @@ module U3d
|
|
127
127
|
end
|
128
128
|
end
|
129
129
|
|
130
|
+
class ModulePlaybackEngineUtils
|
131
|
+
def self.list_module_configs(playbackengine_parent_path)
|
132
|
+
# this should work on all platforms, non existing paths being ignored...
|
133
|
+
Dir.glob("#{playbackengine_parent_path}/PlaybackEngines/*/modules.asset") |
|
134
|
+
Dir.glob("#{playbackengine_parent_path}/Unity.app/Contents/PlaybackEngines/*/modules.asset")
|
135
|
+
end
|
136
|
+
|
137
|
+
def self.module_name(config_path)
|
138
|
+
File.basename(File.dirname(config_path)).gsub("Support", "")
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
class InstallationUtils
|
143
|
+
def self.read_version_from_unity_builtin_extra(file)
|
144
|
+
File.open(file, "rb") do |f|
|
145
|
+
f.seek(20)
|
146
|
+
s = ""
|
147
|
+
while (c = f.read(1))
|
148
|
+
break if c == "\x00"
|
149
|
+
s += c
|
150
|
+
end
|
151
|
+
s
|
152
|
+
end
|
153
|
+
end
|
154
|
+
end
|
155
|
+
|
130
156
|
class MacInstallation < Installation
|
131
157
|
require 'plist'
|
132
158
|
|
@@ -154,9 +180,13 @@ module U3d
|
|
154
180
|
|
155
181
|
def packages
|
156
182
|
pack = []
|
157
|
-
|
158
|
-
pack <<
|
183
|
+
IvyPlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
|
184
|
+
pack << IvyPlaybackEngineUtils.module_name(mpath)
|
185
|
+
end
|
186
|
+
ModulePlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
|
187
|
+
pack << ModulePlaybackEngineUtils.module_name(mpath)
|
159
188
|
end
|
189
|
+
|
160
190
|
NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
|
161
191
|
pack << module_name unless Dir[module_name_pattern(module_name)].empty?
|
162
192
|
end
|
@@ -236,15 +266,8 @@ module U3d
|
|
236
266
|
|
237
267
|
class LinuxInstallation < Installation
|
238
268
|
def version
|
239
|
-
|
240
|
-
path
|
241
|
-
package = PlaybackEngineUtils.list_module_configs(path).first
|
242
|
-
raise "Couldn't find a module under #{path}" unless package
|
243
|
-
version = PlaybackEngineUtils.unity_version(package)
|
244
|
-
if (m = version.match(/^(.*)x(.*)Linux$/))
|
245
|
-
version = "#{m[1]}#{m[2]}"
|
246
|
-
end
|
247
|
-
version
|
269
|
+
path = "#{root_path}/Editor/Data/Resources/unity_builtin_extra"
|
270
|
+
InstallationUtils.read_version_from_unity_builtin_extra(path)
|
248
271
|
end
|
249
272
|
|
250
273
|
def build_number
|
@@ -267,8 +290,11 @@ module U3d
|
|
267
290
|
def packages
|
268
291
|
path = "#{root_path}/Editor/Data/"
|
269
292
|
pack = []
|
270
|
-
|
271
|
-
pack <<
|
293
|
+
IvyPlaybackEngineUtils.list_module_configs(path).each do |mpath|
|
294
|
+
pack << IvyPlaybackEngineUtils.module_name(mpath)
|
295
|
+
end
|
296
|
+
ModulePlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
|
297
|
+
pack << ModulePlaybackEngineUtils.module_name(mpath)
|
272
298
|
end
|
273
299
|
NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
|
274
300
|
pack << module_name unless Dir[module_name_pattern(module_name)].empty?
|
@@ -368,9 +394,9 @@ module U3d
|
|
368
394
|
return version unless version.nil?
|
369
395
|
|
370
396
|
path = "#{root_path}/Editor/Data/"
|
371
|
-
package =
|
397
|
+
package = IvyPlaybackEngineUtils.list_module_configs(path).first
|
372
398
|
raise "Couldn't find a module under #{path}" unless package
|
373
|
-
|
399
|
+
IvyPlaybackEngineUtils.unity_version(package)
|
374
400
|
end
|
375
401
|
|
376
402
|
def build_number
|
@@ -403,8 +429,11 @@ module U3d
|
|
403
429
|
def packages
|
404
430
|
path = "#{root_path}/Editor/Data/"
|
405
431
|
pack = []
|
406
|
-
|
407
|
-
pack <<
|
432
|
+
IvyPlaybackEngineUtils.list_module_configs(path).each do |mpath|
|
433
|
+
pack << IvyPlaybackEngineUtils.module_name(mpath)
|
434
|
+
end
|
435
|
+
ModulePlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
|
436
|
+
pack << ModulePlaybackEngineUtils.module_name(mpath)
|
408
437
|
end
|
409
438
|
NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
|
410
439
|
pack << module_name unless Dir[module_name_pattern(module_name)].empty?
|
data/lib/u3d/installer.rb
CHANGED
@@ -191,12 +191,14 @@ module U3d
|
|
191
191
|
def install(file_path, version, installation_path: nil, info: nil)
|
192
192
|
# rubocop:enable UnusedMethodArgument
|
193
193
|
extension = File.extname(file_path)
|
194
|
-
raise "Installation of #{extension} files is not supported on Mac" unless %w[.zip .po .pkg].include? extension
|
194
|
+
raise "Installation of #{extension} files is not supported on Mac" unless %w[.zip .po .pkg .dmg].include? extension
|
195
195
|
path = installation_path || DEFAULT_MAC_INSTALL
|
196
196
|
if extension == '.po'
|
197
197
|
install_po(file_path, version, info: info)
|
198
198
|
elsif extension == '.zip'
|
199
199
|
install_zip(file_path, version, info: info)
|
200
|
+
elsif extension == '.dmg'
|
201
|
+
UI.important "Skipping installation of #{file_path} for now"
|
200
202
|
else
|
201
203
|
install_pkg(file_path, version: version, target_path: path)
|
202
204
|
end
|
data/lib/u3d/version.rb
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
## --- END LICENSE BLOCK ---
|
22
22
|
|
23
23
|
module U3d
|
24
|
-
VERSION = '1.2.
|
24
|
+
VERSION = '1.2.3'.freeze
|
25
25
|
DESCRIPTION = 'Provides numerous tools for installing, managing and running the Unity game engine from command line.'.freeze
|
26
26
|
UNITY_VERSIONS_NOTE = "Unity uses the following version formatting: 0.0.0x0. The \'x\' can takes different values:\n"\
|
27
27
|
"\t. 'f' are the main release candidates for Unity\n"\
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: u3d
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.2.
|
4
|
+
version: 1.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jerome Lacoste
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2020-02-
|
12
|
+
date: 2020-02-26 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: colored
|
@@ -452,7 +452,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
452
452
|
- !ruby/object:Gem::Version
|
453
453
|
version: '0'
|
454
454
|
requirements: []
|
455
|
-
|
455
|
+
rubyforge_project:
|
456
|
+
rubygems_version: 2.6.14
|
456
457
|
signing_key:
|
457
458
|
specification_version: 4
|
458
459
|
summary: U3d
|