u3d 0.9.3 → 0.9.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.circleci/config.yml +54 -0
- data/.github_changelog_generator +4 -0
- data/.rubocop.yml +14 -0
- data/CHANGELOG.md +80 -0
- data/CODE_OF_CONDUCT.md +46 -0
- data/Gemfile +1 -0
- data/Gemfile.lock +42 -5
- data/README.md +68 -6
- data/Rakefile +25 -1
- data/docs/assets/u3d_list.png +0 -0
- data/docs/assets/u3d_run_current.png +0 -0
- data/docs/assets/u3d_sanitize.png +0 -0
- data/examples/Example1/Gemfile +2 -0
- data/examples/Example2/Gemfile +2 -0
- data/lib/u3d/commands.rb +87 -104
- data/lib/u3d/commands_generator.rb +23 -23
- data/lib/u3d/download_validator.rb +74 -0
- data/lib/u3d/downloader.rb +113 -265
- data/lib/u3d/iniparser.rb +24 -5
- data/lib/u3d/installation.rb +167 -0
- data/lib/u3d/installer.rb +62 -196
- data/lib/u3d/log_analyzer.rb +2 -0
- data/lib/u3d/unity_project.rb +45 -0
- data/lib/u3d/unity_runner.rb +30 -21
- data/lib/u3d/unity_version_definition.rb +60 -0
- data/lib/u3d/unity_versions.rb +54 -32
- data/lib/u3d/utils.rb +10 -0
- data/lib/u3d/version.rb +1 -1
- data/lib/u3d_core/command_executor.rb +23 -12
- data/lib/u3d_core/command_runner.rb +7 -1
- data/lib/u3d_core/credentials.rb +2 -2
- data/lib/u3d_core/globals.rb +4 -2
- data/lib/u3d_core/helper.rb +8 -6
- data/lib/u3d_core/ui/implementations/shell.rb +1 -1
- data/u3d.gemspec +3 -1
- metadata +28 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c68ca1631ef225a55a415c640c57eaed1473e61a
|
4
|
+
data.tar.gz: 4899c1c544a85d41d1f3e2b92bcba1d1d600537a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aab3ea744686801d7400624c14420774473ed7fdcfdbf8aad94c5ae18dad3e64923ea4c0b17b7889fad997413c40f7bc91f5ca4df0c625dbe122c68c408a1a98
|
7
|
+
data.tar.gz: fb2c35b58767186afcf78d14471464ddf767868bcc93fb5b310c95a3dc93927695129f0f7d69e80ed2cfa72b61d8ff43da0a8c44da11ee36d77adab4e87c9eb8
|
@@ -0,0 +1,54 @@
|
|
1
|
+
# Ruby CircleCI 2.0 configuration file
|
2
|
+
#
|
3
|
+
# Check https://circleci.com/docs/2.0/language-ruby/ for more details
|
4
|
+
#
|
5
|
+
version: 2
|
6
|
+
jobs:
|
7
|
+
build:
|
8
|
+
docker:
|
9
|
+
# specify the version you desire here
|
10
|
+
- image: circleci/ruby:2.4.1-node-browsers
|
11
|
+
|
12
|
+
# Specify service dependencies here if necessary
|
13
|
+
# CircleCI maintains a library of pre-built images
|
14
|
+
# documented at https://circleci.com/docs/2.0/circleci-images/
|
15
|
+
# - image: circleci/postgres:9.4
|
16
|
+
|
17
|
+
working_directory: ~/repo
|
18
|
+
|
19
|
+
steps:
|
20
|
+
- checkout
|
21
|
+
|
22
|
+
# Download and cache dependencies
|
23
|
+
- restore_cache:
|
24
|
+
keys:
|
25
|
+
- v1-dependencies-{{ checksum "Gemfile.lock" }}
|
26
|
+
# fallback to using the latest cache if no exact match is found
|
27
|
+
- v1-dependencies-
|
28
|
+
|
29
|
+
- run:
|
30
|
+
name: install dependencies
|
31
|
+
command: |
|
32
|
+
bundle install --jobs=4 --retry=3 --path .bundle
|
33
|
+
|
34
|
+
- save_cache:
|
35
|
+
paths:
|
36
|
+
- ./venv
|
37
|
+
key: v1-dependencies-{{ checksum "Gemfile.lock" }}
|
38
|
+
|
39
|
+
# Database setup
|
40
|
+
# - run: bundle exec rake db:create
|
41
|
+
# - run: bundle exec rake db:schema:load
|
42
|
+
|
43
|
+
# run tests!
|
44
|
+
- run:
|
45
|
+
name: run tests
|
46
|
+
command: |
|
47
|
+
bundle exec rake
|
48
|
+
|
49
|
+
# collect reports
|
50
|
+
- store_test_results:
|
51
|
+
path: /tmp/rspec/
|
52
|
+
- store_artifacts:
|
53
|
+
path: /tmp/rspec/
|
54
|
+
destination: test-results
|
data/.rubocop.yml
CHANGED
@@ -27,6 +27,12 @@ Metrics/BlockLength:
|
|
27
27
|
Metrics/CyclomaticComplexity:
|
28
28
|
Enabled: false
|
29
29
|
|
30
|
+
Metrics/ParameterLists:
|
31
|
+
Max: 8
|
32
|
+
|
33
|
+
Metrics/PerceivedComplexity:
|
34
|
+
Max: 10
|
35
|
+
|
30
36
|
Metrics/MethodLength:
|
31
37
|
Enabled: false
|
32
38
|
|
@@ -40,4 +46,12 @@ Style/Documentation:
|
|
40
46
|
|
41
47
|
# Better too much 'return' than one missing
|
42
48
|
Style/RedundantReturn:
|
49
|
+
Enabled: false
|
50
|
+
|
51
|
+
# Tell Windows to look the other way
|
52
|
+
Layout/EndOfLine:
|
53
|
+
EnforcedStyle: lf
|
54
|
+
|
55
|
+
# Some issues with rspec style
|
56
|
+
Lint/AmbiguousBlockAssociation:
|
43
57
|
Enabled: false
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,85 @@
|
|
1
1
|
# Change Log
|
2
2
|
|
3
|
+
## [v0.9.4](https://github.com/DragonBox/u3d/tree/v0.9.4) (2017-08-28)
|
4
|
+
[Full Changelog](https://github.com/DragonBox/u3d/compare/v0.9.3...v0.9.4)
|
5
|
+
|
6
|
+
**Implemented enhancements:**
|
7
|
+
|
8
|
+
- Merge install and local\_install commands [\#84](https://github.com/DragonBox/u3d/issues/84)
|
9
|
+
- Document installation path sanitization [\#50](https://github.com/DragonBox/u3d/issues/50)
|
10
|
+
- Make unity versions test unit [\#72](https://github.com/DragonBox/u3d/pull/72) ([niezbop](https://github.com/niezbop))
|
11
|
+
- \[tech\] rubocop: update version and fix windows compatibility [\#61](https://github.com/DragonBox/u3d/pull/61) ([lacostej](https://github.com/lacostej))
|
12
|
+
- u3d/install local\_install: if no version specified, fallback on version required by current project [\#53](https://github.com/DragonBox/u3d/pull/53) ([lacostej](https://github.com/lacostej))
|
13
|
+
- u3d/install: display more information during sanization, including what would happen \(fixes \#50\) [\#51](https://github.com/DragonBox/u3d/pull/51) ([lacostej](https://github.com/lacostej))
|
14
|
+
|
15
|
+
**Fixed bugs:**
|
16
|
+
|
17
|
+
- u3d run not getting project path automatically with some arguments [\#73](https://github.com/DragonBox/u3d/issues/73)
|
18
|
+
- u3d/list doesn't list all installed Unity versions [\#69](https://github.com/DragonBox/u3d/issues/69)
|
19
|
+
- Installation stays in /Application/Unity when installing on OSX [\#68](https://github.com/DragonBox/u3d/issues/68)
|
20
|
+
- u3d local\_install broken on Mac [\#62](https://github.com/DragonBox/u3d/issues/62)
|
21
|
+
- u3d/install unnecessarily asking for permissions when it has nothing to do [\#52](https://github.com/DragonBox/u3d/issues/52)
|
22
|
+
- downloader \(for linux\) does not detect incomplete files [\#21](https://github.com/DragonBox/u3d/issues/21)
|
23
|
+
|
24
|
+
**Closed issues:**
|
25
|
+
|
26
|
+
- \[Doc\] make u3d run default behavior more visible in documentation [\#75](https://github.com/DragonBox/u3d/issues/75)
|
27
|
+
- \[Feature request\] List available packages [\#70](https://github.com/DragonBox/u3d/issues/70)
|
28
|
+
- Refactor the downloader/validator logic [\#66](https://github.com/DragonBox/u3d/issues/66)
|
29
|
+
- \[tech\] setup circleci / coverage etc [\#4](https://github.com/DragonBox/u3d/issues/4)
|
30
|
+
- migrate available integration tests to mock tests [\#2](https://github.com/DragonBox/u3d/issues/2)
|
31
|
+
|
32
|
+
**Merged pull requests:**
|
33
|
+
|
34
|
+
- Disable trick to reduce CPU on slow network as it slows down download on fast networks [\#94](https://github.com/DragonBox/u3d/pull/94) ([lacostej](https://github.com/lacostej))
|
35
|
+
- Merge download and local\_install into one \(\#84\) [\#92](https://github.com/DragonBox/u3d/pull/92) ([lacostej](https://github.com/lacostej))
|
36
|
+
- Add tests for INIParser.create\_linux\_ini' [\#89](https://github.com/DragonBox/u3d/pull/89) ([lacostej](https://github.com/lacostej))
|
37
|
+
- u3d/installer: add tests for Installer.create / sanitize [\#88](https://github.com/DragonBox/u3d/pull/88) ([lacostej](https://github.com/lacostej))
|
38
|
+
- Make sure tests pass in full offline mode \(no network at all\) [\#87](https://github.com/DragonBox/u3d/pull/87) ([lacostej](https://github.com/lacostej))
|
39
|
+
- Mac Installer fix [\#85](https://github.com/DragonBox/u3d/pull/85) ([niezbop](https://github.com/niezbop))
|
40
|
+
- u3d/run: add -projectpath also when passing arguments \(fixes \#73\) [\#80](https://github.com/DragonBox/u3d/pull/80) ([lacostej](https://github.com/lacostej))
|
41
|
+
- Refactor/downloader and ini [\#79](https://github.com/DragonBox/u3d/pull/79) ([lacostej](https://github.com/lacostej))
|
42
|
+
- Improve the docs, in particular with run and auto-detection of the current project [\#78](https://github.com/DragonBox/u3d/pull/78) ([lacostej](https://github.com/lacostej))
|
43
|
+
- Improve the docs, in particular with run and auto-detection of the current project \(\#75\) [\#77](https://github.com/DragonBox/u3d/pull/77) ([lacostej](https://github.com/lacostej))
|
44
|
+
- u3d/commands: add unit tests and fix 2 small install command issues [\#76](https://github.com/DragonBox/u3d/pull/76) ([lacostej](https://github.com/lacostej))
|
45
|
+
- Do not crash when no PlaybackEngines are found [\#74](https://github.com/DragonBox/u3d/pull/74) ([lacostej](https://github.com/lacostej))
|
46
|
+
- A missing license header [\#67](https://github.com/DragonBox/u3d/pull/67) ([lacostej](https://github.com/lacostej))
|
47
|
+
- \[tech\] Installer unit tests. Initial commit [\#60](https://github.com/DragonBox/u3d/pull/60) ([lacostej](https://github.com/lacostej))
|
48
|
+
- \[tech\] automate changelog generation through rake [\#59](https://github.com/DragonBox/u3d/pull/59) ([lacostej](https://github.com/lacostej))
|
49
|
+
- u3d/install: do not try to download unknown versions \(i.e. not in cache\) [\#57](https://github.com/DragonBox/u3d/pull/57) ([niezbop](https://github.com/niezbop))
|
50
|
+
- u3d/run: improve run inline help [\#54](https://github.com/DragonBox/u3d/pull/54) ([lacostej](https://github.com/lacostej))
|
51
|
+
- \[tech\] migrate to circle ci 2.0, using Rakefile as basis for complex operations [\#49](https://github.com/DragonBox/u3d/pull/49) ([lacostej](https://github.com/lacostej))
|
52
|
+
- \[tech\] rubocop cleanups [\#46](https://github.com/DragonBox/u3d/pull/46) ([lacostej](https://github.com/lacostej))
|
53
|
+
- u3d/install: allow to recover from incomplete downloads on linux by autodetecting size [\#23](https://github.com/DragonBox/u3d/pull/23) ([niezbop](https://github.com/niezbop))
|
54
|
+
|
55
|
+
## [v0.9.3](https://github.com/DragonBox/u3d/tree/v0.9.3) (2017-08-07)
|
56
|
+
[Full Changelog](https://github.com/DragonBox/u3d/compare/v0.9.2...v0.9.3)
|
57
|
+
|
58
|
+
**Implemented enhancements:**
|
59
|
+
|
60
|
+
- Auto-sanitize Linux install names after install [\#35](https://github.com/DragonBox/u3d/issues/35)
|
61
|
+
- u3d list: properly align versions and paths in output [\#42](https://github.com/DragonBox/u3d/pull/42) ([niezbop](https://github.com/niezbop))
|
62
|
+
|
63
|
+
**Fixed bugs:**
|
64
|
+
|
65
|
+
- Don't duplicate Unity install for specific versions [\#40](https://github.com/DragonBox/u3d/issues/40)
|
66
|
+
- u3d install: too high CPU usage during download [\#36](https://github.com/DragonBox/u3d/issues/36)
|
67
|
+
- Linux Unity\_2017.2.0b2 installer failure [\#19](https://github.com/DragonBox/u3d/issues/19)
|
68
|
+
|
69
|
+
**Merged pull requests:**
|
70
|
+
|
71
|
+
- Do not reinstall Unity or its packages if already present. Also prevent duplication because of sanitization. [\#41](https://github.com/DragonBox/u3d/pull/41) ([niezbop](https://github.com/niezbop))
|
72
|
+
- Linux auto sanitize after install [\#39](https://github.com/DragonBox/u3d/pull/39) ([niezbop](https://github.com/niezbop))
|
73
|
+
- u3d/install: reduce cpu caused by lack of buffering and high console output \#36 [\#37](https://github.com/DragonBox/u3d/pull/37) ([lacostej](https://github.com/lacostej))
|
74
|
+
- Rubocop / Improve code style [\#34](https://github.com/DragonBox/u3d/pull/34) ([niezbop](https://github.com/niezbop))
|
75
|
+
- \[linux\] Adjust to weird editor versions stored under ProjectSettings/ProjectVersion.txt [\#33](https://github.com/DragonBox/u3d/pull/33) ([niezbop](https://github.com/niezbop))
|
76
|
+
- Make Linux runner functional again [\#29](https://github.com/DragonBox/u3d/pull/29) ([lacostej](https://github.com/lacostej))
|
77
|
+
- u3d/run: ensure parent dir to logfile exists before creating the file [\#28](https://github.com/DragonBox/u3d/pull/28) ([lacostej](https://github.com/lacostej))
|
78
|
+
- Rubocop / Improve code style [\#27](https://github.com/DragonBox/u3d/pull/27) ([lacostej](https://github.com/lacostej))
|
79
|
+
- Fix Linux runner and installation [\#26](https://github.com/DragonBox/u3d/pull/26) ([niezbop](https://github.com/niezbop))
|
80
|
+
- Change sanitizer to be platform specific [\#24](https://github.com/DragonBox/u3d/pull/24) ([niezbop](https://github.com/niezbop))
|
81
|
+
- Make Linux installer functional again [\#20](https://github.com/DragonBox/u3d/pull/20) ([lacostej](https://github.com/lacostej))
|
82
|
+
|
3
83
|
## [v0.9.2](https://github.com/DragonBox/u3d/tree/v0.9.2) (2017-08-04)
|
4
84
|
[Full Changelog](https://github.com/DragonBox/u3d/compare/v0.9.1...v0.9.2)
|
5
85
|
|
data/CODE_OF_CONDUCT.md
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
# Contributor Covenant Code of Conduct
|
2
|
+
|
3
|
+
## Our Pledge
|
4
|
+
|
5
|
+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
|
6
|
+
|
7
|
+
## Our Standards
|
8
|
+
|
9
|
+
Examples of behavior that contributes to creating a positive environment include:
|
10
|
+
|
11
|
+
* Using welcoming and inclusive language
|
12
|
+
* Being respectful of differing viewpoints and experiences
|
13
|
+
* Gracefully accepting constructive criticism
|
14
|
+
* Focusing on what is best for the community
|
15
|
+
* Showing empathy towards other community members
|
16
|
+
|
17
|
+
Examples of unacceptable behavior by participants include:
|
18
|
+
|
19
|
+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
|
20
|
+
* Trolling, insulting/derogatory comments, and personal or political attacks
|
21
|
+
* Public or private harassment
|
22
|
+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
|
23
|
+
* Other conduct which could reasonably be considered inappropriate in a professional setting
|
24
|
+
|
25
|
+
## Our Responsibilities
|
26
|
+
|
27
|
+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
|
28
|
+
|
29
|
+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
|
30
|
+
|
31
|
+
## Scope
|
32
|
+
|
33
|
+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
|
34
|
+
|
35
|
+
## Enforcement
|
36
|
+
|
37
|
+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at support@dragonbox.com. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
|
38
|
+
|
39
|
+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
|
40
|
+
|
41
|
+
## Attribution
|
42
|
+
|
43
|
+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
|
44
|
+
|
45
|
+
[homepage]: http://contributor-covenant.org
|
46
|
+
[version]: http://contributor-covenant.org/version/1/4/
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
u3d (0.9.
|
4
|
+
u3d (0.9.4)
|
5
5
|
colored (>= 1.2, < 2.0.0)
|
6
6
|
commander (>= 4.4.0, < 5.0.0)
|
7
7
|
file-tail (>= 1.2.0)
|
@@ -13,12 +13,20 @@ PATH
|
|
13
13
|
GEM
|
14
14
|
remote: https://rubygems.org/
|
15
15
|
specs:
|
16
|
+
activesupport (5.1.3)
|
17
|
+
concurrent-ruby (~> 1.0, >= 1.0.2)
|
18
|
+
i18n (~> 0.7)
|
19
|
+
minitest (~> 5.1)
|
20
|
+
tzinfo (~> 1.1)
|
21
|
+
addressable (2.5.1)
|
22
|
+
public_suffix (~> 2.0, >= 2.0.2)
|
16
23
|
ast (2.3.0)
|
17
24
|
builder (3.2.3)
|
18
25
|
coderay (1.1.1)
|
19
26
|
colored (1.2)
|
20
27
|
commander (4.4.3)
|
21
28
|
highline (~> 1.7.2)
|
29
|
+
concurrent-ruby (1.0.5)
|
22
30
|
coveralls (0.8.21)
|
23
31
|
json (>= 1.8, < 3)
|
24
32
|
simplecov (~> 0.14.1)
|
@@ -27,13 +35,32 @@ GEM
|
|
27
35
|
tins (~> 1.6)
|
28
36
|
diff-lcs (1.3)
|
29
37
|
docile (1.1.5)
|
38
|
+
faraday (0.12.2)
|
39
|
+
multipart-post (>= 1.2, < 3)
|
40
|
+
faraday-http-cache (2.0.0)
|
41
|
+
faraday (~> 0.8)
|
30
42
|
file-tail (1.2.0)
|
31
43
|
tins (~> 1.0)
|
32
44
|
filesize (0.1.1)
|
45
|
+
github_changelog_generator (1.14.3)
|
46
|
+
activesupport
|
47
|
+
faraday-http-cache
|
48
|
+
multi_json
|
49
|
+
octokit (~> 4.6)
|
50
|
+
rainbow (>= 2.1)
|
51
|
+
rake (>= 10.0)
|
52
|
+
retriable (~> 2.1)
|
33
53
|
highline (1.7.8)
|
54
|
+
i18n (0.8.6)
|
34
55
|
inifile (3.0.0)
|
35
56
|
json (2.1.0)
|
36
57
|
method_source (0.8.2)
|
58
|
+
minitest (5.10.3)
|
59
|
+
multi_json (1.12.1)
|
60
|
+
multipart-post (2.0.0)
|
61
|
+
octokit (4.7.0)
|
62
|
+
sawyer (~> 0.8.0, >= 0.5.3)
|
63
|
+
parallel (1.12.0)
|
37
64
|
parser (2.4.0.0)
|
38
65
|
ast (~> 2.2)
|
39
66
|
plist (3.3.0)
|
@@ -42,9 +69,11 @@ GEM
|
|
42
69
|
coderay (~> 1.1.0)
|
43
70
|
method_source (~> 0.8.1)
|
44
71
|
slop (~> 3.4)
|
72
|
+
public_suffix (2.0.5)
|
45
73
|
rainbow (2.2.2)
|
46
74
|
rake
|
47
75
|
rake (10.5.0)
|
76
|
+
retriable (2.1.0)
|
48
77
|
rspec (3.1.0)
|
49
78
|
rspec-core (~> 3.1.0)
|
50
79
|
rspec-expectations (~> 3.1.0)
|
@@ -60,13 +89,17 @@ GEM
|
|
60
89
|
rspec_junit_formatter (0.2.3)
|
61
90
|
builder (< 4)
|
62
91
|
rspec-core (>= 2, < 4, != 2.12.0)
|
63
|
-
rubocop (0.
|
64
|
-
|
92
|
+
rubocop (0.49.1)
|
93
|
+
parallel (~> 1.10)
|
94
|
+
parser (>= 2.3.3.1, < 3.0)
|
65
95
|
powerpack (~> 0.1)
|
66
96
|
rainbow (>= 1.99.1, < 3.0)
|
67
97
|
ruby-progressbar (~> 1.7)
|
68
98
|
unicode-display_width (~> 1.0, >= 1.0.1)
|
69
99
|
ruby-progressbar (1.8.1)
|
100
|
+
sawyer (0.8.1)
|
101
|
+
addressable (>= 2.3.5, < 2.6)
|
102
|
+
faraday (~> 0.8, < 1.0)
|
70
103
|
security (0.1.3)
|
71
104
|
simplecov (0.14.1)
|
72
105
|
docile (~> 1.1.0)
|
@@ -77,7 +110,10 @@ GEM
|
|
77
110
|
term-ansicolor (1.6.0)
|
78
111
|
tins (~> 1.0)
|
79
112
|
thor (0.19.4)
|
113
|
+
thread_safe (0.3.6)
|
80
114
|
tins (1.15.0)
|
115
|
+
tzinfo (1.2.3)
|
116
|
+
thread_safe (~> 0.1)
|
81
117
|
unicode-display_width (1.3.0)
|
82
118
|
|
83
119
|
PLATFORMS
|
@@ -87,12 +123,13 @@ PLATFORMS
|
|
87
123
|
DEPENDENCIES
|
88
124
|
bundler (~> 1.13)
|
89
125
|
coveralls
|
126
|
+
github_changelog_generator
|
90
127
|
pry
|
91
128
|
rake (~> 10.0)
|
92
129
|
rspec (~> 3.1.0)
|
93
130
|
rspec_junit_formatter (~> 0.2.3)
|
94
|
-
rubocop (~> 0.
|
131
|
+
rubocop (~> 0.49.1)
|
95
132
|
u3d!
|
96
133
|
|
97
134
|
BUNDLED WITH
|
98
|
-
1.15.
|
135
|
+
1.15.4
|
data/README.md
CHANGED
@@ -1,16 +1,26 @@
|
|
1
|
-
|
1
|
+
U3D
|
2
|
+
###
|
3
|
+
|
4
|
+
[![License](https://img.shields.io/badge/license-MIT-green.svg?style=flat)](https://github.com/DragonBox/u3d/blob/master/LICENSE)
|
5
|
+
[![Gem](https://img.shields.io/gem/v/u3d.svg?style=flat)](https://rubygems.org/gems/u3d)
|
6
|
+
[![Build Status](https://img.shields.io/circleci/project/DragonBox/u3d/master.svg?style=flat)](https://circleci.com/gh/DragonBox/u3d)
|
7
|
+
[![Coverage Status](https://coveralls.io/repos/github/DragonBox/u3d/badge.svg?branch=master)](https://coveralls.io/github/DragonBox/u3d?branch=master)
|
2
8
|
|
3
9
|
U3d is a set of tools to interact with Unity3D from command line. It is available on Linux, Macintosh and Windows.
|
4
10
|
|
5
11
|
## What can it do?
|
6
12
|
|
7
|
-
U3d provides help for running and installing unity from CLI.
|
13
|
+
U3d provides help for running and installing unity from CLI.
|
14
|
+
|
15
|
+
U3d knows about your Unity project and behaves differently if invoked from within a Unity project directory. For example, it can run or download the version required by your project without you having to specify it.
|
16
|
+
|
17
|
+
Available commands are:
|
8
18
|
|
9
19
|
* `u3d available`: List download-ready versions of Unity3d
|
10
20
|
|
11
21
|
![u3d available](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_available.png)
|
12
22
|
|
13
|
-
* `u3d install`: Download
|
23
|
+
* `u3d install`: Download and/or install Unity3D packages
|
14
24
|
|
15
25
|
![u3d install](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_install.png)
|
16
26
|
|
@@ -18,11 +28,14 @@ U3d provides help for running and installing unity from CLI. Available commands
|
|
18
28
|
|
19
29
|
![u3d list](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_list.png)
|
20
30
|
|
21
|
-
* `u3d
|
31
|
+
* `u3d run`: Run Unity, and parses its output through u3d's log prettifier.
|
32
|
+
|
33
|
+
Here we start with the proper version of Unity:
|
22
34
|
|
23
|
-
|
35
|
+
![u3d run without arguments](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_run_current.png)
|
24
36
|
|
25
|
-
|
37
|
+
Here we pass some arguments:
|
38
|
+
![u3d run with arguments](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_run.png)
|
26
39
|
|
27
40
|
The prettifyer is on by default but can be turned off to get Unity3d's raw output.
|
28
41
|
|
@@ -36,6 +49,42 @@ The prettifyer is on by default but can be turned off to get Unity3d's raw outpu
|
|
36
49
|
gem install u3d
|
37
50
|
```
|
38
51
|
|
52
|
+
## Unity versions numbering
|
53
|
+
|
54
|
+
Unity3d uses the following version formatting: 0.0.0x0. The \'x\' can takes different values:
|
55
|
+
* 'f' are the main release candidates for Unity3d
|
56
|
+
* 'p' are patches fixing those releases
|
57
|
+
* 'b' are the beta releases
|
58
|
+
* 'a' are the alpha releases (not currently discovered online)
|
59
|
+
|
60
|
+
Some versions are known to have a different numbering, e.g. Linux 2017.1.0f3 is named 2017.1.0xf3Linux. Its `ProjectSettings/ProjectVersion.txt` will contain the Linux specific version.
|
61
|
+
|
62
|
+
When referencing to a version on the CLI, u3d sanitizes these weird versions. For example, if you ask u3d to launch unity 2017.1.0f3 on Linux, you can use `u3d -u 2017.1.0f3` and it will find "2017.1.0xf3Linux".
|
63
|
+
|
64
|
+
## Default Installation paths
|
65
|
+
|
66
|
+
The standard Unity installer has some quirks:
|
67
|
+
|
68
|
+
* on Mac, it always installs Unity on `/Applications/Unity`. If you want to add a module to a particular version, you will have to move the unity you are trying to extend to that particular location
|
69
|
+
|
70
|
+
* on Linux, most versions are installed as `unity-editor-$version` with `version` following the 'standard' numbering (except for some weird versions, see above). Unity lets you install the program in the directory of your choice
|
71
|
+
|
72
|
+
Also for easing discoverability, it is recommended that you install your Unity versions in a similar area.
|
73
|
+
|
74
|
+
For these reasons, u3d has standardized the installation paths of the Unity version it installs.
|
75
|
+
|
76
|
+
* on Mac, versions are installed under `/Applications/Unity_$version`
|
77
|
+
* on Linux, versions are installed under `/opt/unity-editor-$version`
|
78
|
+
* on Windows, versions are installed under `C:/Program Files/Unity_$version`
|
79
|
+
|
80
|
+
u3d should be able to find the different unity installed under those locations. If the Unity installations are not in those locations, u3d might not find them automatically.
|
81
|
+
|
82
|
+
## Sanitize / standardize Unity3d installation paths
|
83
|
+
|
84
|
+
If you have installed Unity in different locations, u3d might discover them and propose you to move them to its standard location. The procedure should be self described and easily revertible (manually). This sanitization operation is only proposed in interactive mode (i.e. if you are not using u3d unattended, e.g. in a build script on a CI server).
|
85
|
+
|
86
|
+
![u3d sanitize](https://github.com/DragonBox/u3d/raw/master/docs/assets/u3d_sanitize.png)
|
87
|
+
|
39
88
|
## Security
|
40
89
|
|
41
90
|
When you install Unity with this tool, you will have to grant it higher privileges so it can perform the installation. It means that under MacOS and Linux, you will be asked for your `sudo` password.
|
@@ -61,6 +110,19 @@ u3d available -p -o mac
|
|
61
110
|
```shell
|
62
111
|
u3d install 5.6.0f3 -p Unity,Documentation,WebPlayer
|
63
112
|
```
|
113
|
+
|
114
|
+
* Download version 5.6.0f3 of Unity without installing it:
|
115
|
+
|
116
|
+
```shell
|
117
|
+
u3d install 5.6.0f3 --no-install
|
118
|
+
```
|
119
|
+
|
120
|
+
* Install version 5.6.0f3 of Unity without downloading it:
|
121
|
+
|
122
|
+
```shell
|
123
|
+
u3d install 5.6.0f3 --no-download
|
124
|
+
```
|
125
|
+
|
64
126
|
* Run a CLI on the current project given the project's configured unity version, displaying prettified logs, while keeping the original logs under `editor.log`:
|
65
127
|
|
66
128
|
```shell
|