u3d 1.0.11 → 1.0.12
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/.github_changelog_generator +2 -2
- data/CHANGELOG.md +20 -1
- data/Gemfile.lock +1 -1
- data/fastlane-plugin-u3d/lib/fastlane/plugin/u3d/actions/u3d_action.rb +1 -1
- data/lib/u3d/commands.rb +23 -20
- data/lib/u3d/commands_generator.rb +7 -3
- data/lib/u3d/installation.rb +74 -8
- data/lib/u3d/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0c1e2820005f0cd8619bbf7a31012dae404676a
|
4
|
+
data.tar.gz: 296a26b08f4a9e31e77bf7e2eecc8fe949f042d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 56e9c29febfd62bf0ccb7a3e33966a7100638b5583a84e7ca10f0a2f6ea0418325338ec5b78db23d8498b8f5a1442102ef85e452fbaab0c9d3bc4b93927f6b4a
|
7
|
+
data.tar.gz: b563408cdeade18fccaae5896c5d3f330a099a3d11534e672e3d41d8322c20c556a7e3ddecab4b86c0eecd60e7431ea02b20b3f8a45b1c1c2054628c6bfded61
|
data/.github_changelog_generator
CHANGED
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,24 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v1.0.12](https://github.com/DragonBox/u3d/tree/v1.0.12) (2018-01-03)
|
4
|
+
[Full Changelog](https://github.com/DragonBox/u3d/compare/v1.0.11...v1.0.12)
|
5
|
+
|
6
|
+
**Implemented enhancements:**
|
7
|
+
|
8
|
+
- Incorrect package check downloads and reinstalls it [\#198](https://github.com/DragonBox/u3d/issues/198)
|
9
|
+
|
10
|
+
**Fixed bugs:**
|
11
|
+
|
12
|
+
- u3d/install enforce\_setup\_coherence interferes with download only operation [\#206](https://github.com/DragonBox/u3d/issues/206)
|
13
|
+
- Fix unity\_version argument of fastlane plugin u3d type [\#193](https://github.com/DragonBox/u3d/pull/193) ([niezbop](https://github.com/niezbop))
|
14
|
+
|
15
|
+
**Merged pull requests:**
|
16
|
+
|
17
|
+
- u3d/install: download only should not filter out already installed packages \(fixes \#206\) [\#208](https://github.com/DragonBox/u3d/pull/208) ([lacostej](https://github.com/lacostej))
|
18
|
+
- u3d/install: help fixes [\#207](https://github.com/DragonBox/u3d/pull/207) ([lacostej](https://github.com/lacostej))
|
19
|
+
- u3d/install: do not reinstall already installed packages [\#202](https://github.com/DragonBox/u3d/pull/202) ([niezbop](https://github.com/niezbop))
|
20
|
+
- u3d/install: describe how password can be passed to u3d \(fixes \#200\) [\#201](https://github.com/DragonBox/u3d/pull/201) ([lacostej](https://github.com/lacostej))
|
21
|
+
|
3
22
|
## [v1.0.11](https://github.com/DragonBox/u3d/tree/v1.0.11) (2017-12-07)
|
4
23
|
[Full Changelog](https://github.com/DragonBox/u3d/compare/v1.0.10...v1.0.11)
|
5
24
|
|
@@ -9,6 +28,7 @@
|
|
9
28
|
|
10
29
|
**Merged pull requests:**
|
11
30
|
|
31
|
+
- Preparing release for 1.0.11 [\#192](https://github.com/DragonBox/u3d/pull/192) ([lacostej](https://github.com/lacostej))
|
12
32
|
- doc: explain CI setup with jenkins [\#191](https://github.com/DragonBox/u3d/pull/191) ([lacostej](https://github.com/lacostej))
|
13
33
|
- u3d/run: fail with a proper message when opening a Unity4 project [\#187](https://github.com/DragonBox/u3d/pull/187) ([lacostej](https://github.com/lacostej))
|
14
34
|
|
@@ -22,7 +42,6 @@
|
|
22
42
|
**Closed issues:**
|
23
43
|
|
24
44
|
- u3d/install: confusing "-p not available on linux" message [\#181](https://github.com/DragonBox/u3d/issues/181)
|
25
|
-
- Linux CLI Activation in Unity \>= 5.4 [\#176](https://github.com/DragonBox/u3d/issues/176)
|
26
45
|
- u3d/install: already installed packages are reinstalled [\#161](https://github.com/DragonBox/u3d/issues/161)
|
27
46
|
|
28
47
|
**Merged pull requests:**
|
data/Gemfile.lock
CHANGED
data/lib/u3d/commands.rb
CHANGED
@@ -311,36 +311,39 @@ module U3d
|
|
311
311
|
nil
|
312
312
|
end
|
313
313
|
|
314
|
+
# rubocop:disable Metrics/BlockNesting
|
314
315
|
def enforce_setup_coherence(packages, options, unity, definition)
|
315
316
|
if options[:all]
|
316
317
|
packages.clear
|
317
318
|
packages.concat(definition.available_packages)
|
318
319
|
end
|
319
|
-
if
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
unity.
|
332
|
-
|
320
|
+
if options[:install]
|
321
|
+
if unity
|
322
|
+
UI.important "Unity #{unity.version} is already installed"
|
323
|
+
# Not needed since Linux custom u3d files contain only one entry wich is Unity
|
324
|
+
# return false if definition.os == :linux
|
325
|
+
if packages.include?('Unity')
|
326
|
+
UI.important 'Ignoring Unity module, it is already installed'
|
327
|
+
packages.delete('Unity')
|
328
|
+
|
329
|
+
# FIXME: Move me to the WindowsInstaller
|
330
|
+
options[:installation_path] ||= unity.root_path if definition.os == :win
|
331
|
+
end
|
332
|
+
packages.select { |pack| unity.package_installed?(pack) }.each do |pack|
|
333
|
+
packages.delete pack
|
334
|
+
UI.important "Ignoring #{pack} module, it is already installed"
|
335
|
+
end
|
336
|
+
return false if packages.empty?
|
337
|
+
else
|
338
|
+
unless packages.include?('Unity')
|
339
|
+
UI.error 'Please install Unity before any of its packages'
|
340
|
+
return false
|
333
341
|
end
|
334
|
-
end
|
335
|
-
return false if packages.empty?
|
336
|
-
else
|
337
|
-
unless packages.include?('Unity')
|
338
|
-
UI.error 'Please install Unity before any of its packages'
|
339
|
-
return false
|
340
342
|
end
|
341
343
|
end
|
342
344
|
true
|
343
345
|
end
|
346
|
+
# rubocop:enable Metrics/BlockNesting
|
344
347
|
|
345
348
|
def get_administrative_privileges(options)
|
346
349
|
U3dCore::Globals.use_keychain = true if options[:keychain] && Helper.mac?
|
@@ -122,8 +122,8 @@ Fore more information about how the rules work, see https://github.com/DragonBox
|
|
122
122
|
end
|
123
123
|
|
124
124
|
command :install do |c|
|
125
|
-
c.syntax = 'u3d install [<version>] [ [-p | --packages <
|
126
|
-
c.summary = "Download (and/or) install Unity3D packages."
|
125
|
+
c.syntax = 'u3d install [<version>] [ [-p | --packages <package1>,<package2> ...] | [-a | --all] ] [--[no-]download] [ [--[no-]install] [-i | --installation_path <path>] ]'
|
126
|
+
c.summary = "Download (and/or) install Unity3D editor packages."
|
127
127
|
c.description = %(
|
128
128
|
#{c.summary}
|
129
129
|
|
@@ -131,15 +131,19 @@ This command allows you to either:
|
|
131
131
|
* download and install packages
|
132
132
|
* download packages but not install them
|
133
133
|
* install already downloaded packages
|
134
|
+
|
135
|
+
Already installed packages are skipped if asked to be installed again (except for the 'Example' package).
|
134
136
|
)
|
135
137
|
c.option '--[no-]download', 'Perform or not downloading before installation. Downloads by default'
|
136
138
|
c.option '--[no-]install', 'Perform or not installation after downloading. Installs by default'
|
137
139
|
c.option '-p', '--packages PACKAGES', Array, 'Specifies which packages to download/install. Overriden by --all'
|
138
140
|
c.option '-a', '--all', 'Download all available packages. Overrides -p'
|
139
|
-
c.option '-
|
141
|
+
c.option '-i', '--installation_path PATH', String, 'Specifies where package(s) will be downloaded/installed. Conflicts with --no-install'
|
140
142
|
c.option '-k', '--keychain', 'Gain privileges right through the keychain. [OSX only]'
|
141
143
|
c.example 'Download and install Unity, its Documentation and the Android build support and install them for version 5.1.2f1', 'u3d install 5.1.2f1 -p Unity,Documentation,Android'
|
142
144
|
c.example "The 'version' argument can be a specific version number, such as 5.6.1f1, or an alias in [#{Commands.release_letter_mapping.keys.join(', ')}]. If not specified, u3d will download the unity version for the current project", 'u3d install latest'
|
145
|
+
c.example "The admin password can be passed through the U3D_PASSWORD environment variable.", 'U3D_PASSWORD=mysecret u3d install a_version'
|
146
|
+
c.example "On Mac, the admin password can be fetched from (and stored into) the keychain.", 'u3d install -k a_version'
|
143
147
|
c.action do |args, options|
|
144
148
|
options.default all: false
|
145
149
|
options.default install: true
|
data/lib/u3d/installation.rb
CHANGED
@@ -29,6 +29,24 @@ module U3d
|
|
29
29
|
class Installation
|
30
30
|
attr_reader :root_path
|
31
31
|
|
32
|
+
NOT_PLAYBACKENGINE_PACKAGES = %w[Documentation StandardAssets MonoDevelop].freeze
|
33
|
+
PACKAGE_ALIASES =
|
34
|
+
{
|
35
|
+
'Android' => [],
|
36
|
+
'iOS' => ['iPhone'],
|
37
|
+
'AppleTV' => ['tvOS'],
|
38
|
+
'Linux' => ['StandaloneLinux'],
|
39
|
+
'Mac' => %w[StandaloneOSXIntel StandaloneOSXIntel64 StandaloneOSX],
|
40
|
+
'Windows' => ['StandaloneWindows'],
|
41
|
+
'Metro' => [],
|
42
|
+
'UWP-IL2CPP' => [],
|
43
|
+
'Samsung-TV' => [],
|
44
|
+
'Tizen' => [],
|
45
|
+
'WebGL' => [],
|
46
|
+
'Facebook-Games' => ['Facebook'],
|
47
|
+
'Vuforia-AR' => ['UnityExtensions']
|
48
|
+
}.freeze
|
49
|
+
|
32
50
|
def initialize(root_path: nil, path: nil)
|
33
51
|
@root_path = root_path
|
34
52
|
@path = path
|
@@ -44,6 +62,22 @@ module U3d
|
|
44
62
|
WindowsInstallation.new(root_path: root_path, path: path)
|
45
63
|
end
|
46
64
|
end
|
65
|
+
|
66
|
+
def packages
|
67
|
+
false
|
68
|
+
end
|
69
|
+
|
70
|
+
def package_installed?(package)
|
71
|
+
return true if (packages || []).include?(package)
|
72
|
+
|
73
|
+
aliases = PACKAGE_ALIASES[package]
|
74
|
+
|
75
|
+
# If no aliases for the package are found, then it's a new package not yet known by Unity
|
76
|
+
# If the exact name doesn't match then we have to suppose it's not installed
|
77
|
+
return false unless aliases
|
78
|
+
|
79
|
+
return !(aliases & packages).empty?
|
80
|
+
end
|
47
81
|
end
|
48
82
|
|
49
83
|
class PlaybackEngineUtils
|
@@ -90,8 +124,26 @@ module U3d
|
|
90
124
|
end
|
91
125
|
|
92
126
|
def packages
|
93
|
-
|
94
|
-
|
127
|
+
pack = []
|
128
|
+
PlaybackEngineUtils.list_module_configs(root_path).each do |mpath|
|
129
|
+
pack << PlaybackEngineUtils.module_name(mpath)
|
130
|
+
end
|
131
|
+
NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
|
132
|
+
pack << module_name unless Dir[module_name_pattern(module_name)].empty?
|
133
|
+
end
|
134
|
+
pack
|
135
|
+
end
|
136
|
+
|
137
|
+
def module_name_pattern(module_name)
|
138
|
+
case module_name
|
139
|
+
when 'Documentation'
|
140
|
+
return "#{root_path}/Documentation/"
|
141
|
+
when 'StandardAssets'
|
142
|
+
return "#{root_path}/Standard Assets/"
|
143
|
+
when 'MonoDevelop'
|
144
|
+
return "#{root_path}/MonoDevelop.app/"
|
145
|
+
else
|
146
|
+
UI.crash! "No pattern is known for #{module_name} on Mac"
|
95
147
|
end
|
96
148
|
end
|
97
149
|
|
@@ -137,10 +189,6 @@ module U3d
|
|
137
189
|
@root_path || @path
|
138
190
|
end
|
139
191
|
|
140
|
-
def packages
|
141
|
-
false
|
142
|
-
end
|
143
|
-
|
144
192
|
def clean_install?
|
145
193
|
!(root_path =~ UNITY_DIR_CHECK_LINUX).nil?
|
146
194
|
end
|
@@ -179,8 +227,26 @@ module U3d
|
|
179
227
|
|
180
228
|
def packages
|
181
229
|
path = "#{root_path}/Editor/Data/"
|
182
|
-
|
183
|
-
|
230
|
+
pack = []
|
231
|
+
PlaybackEngineUtils.list_module_configs(path).each do |mpath|
|
232
|
+
pack << PlaybackEngineUtils.module_name(mpath)
|
233
|
+
end
|
234
|
+
NOT_PLAYBACKENGINE_PACKAGES.each do |module_name|
|
235
|
+
pack << module_name unless Dir[module_name_pattern(module_name)].empty?
|
236
|
+
end
|
237
|
+
pack
|
238
|
+
end
|
239
|
+
|
240
|
+
def module_name_pattern(module_name)
|
241
|
+
case module_name
|
242
|
+
when 'Documentation'
|
243
|
+
return "#{root_path}/Editor/Data/Documentation/"
|
244
|
+
when 'StandardAssets'
|
245
|
+
return "#{root_path}/Editor/Standard Assets/"
|
246
|
+
when 'MonoDevelop'
|
247
|
+
return "#{root_path}/MonoDevelop/"
|
248
|
+
else
|
249
|
+
UI.crash! "No pattern is known for #{module_name} on Windows"
|
184
250
|
end
|
185
251
|
end
|
186
252
|
|
data/lib/u3d/version.rb
CHANGED
@@ -21,7 +21,7 @@
|
|
21
21
|
## --- END LICENSE BLOCK ---
|
22
22
|
|
23
23
|
module U3d
|
24
|
-
VERSION = '1.0.
|
24
|
+
VERSION = '1.0.12'.freeze
|
25
25
|
DESCRIPTION = 'Provides numerous tools for installing, managing and running the Unity3D game engine from command line.'.freeze
|
26
26
|
UNITY_VERSIONS_NOTE = "Unity3d 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 Unity3d\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.0.
|
4
|
+
version: 1.0.12
|
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:
|
12
|
+
date: 2018-01-03 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: commander
|