fastlane-plugin-unity_exporter 1.1.0 → 1.2.0
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/README.md +22 -0
- data/lib/fastlane/plugin/unity_exporter/actions/unity_commit_version_bump.rb +2 -1
- data/lib/fastlane/plugin/unity_exporter/actions/unity_export.rb +1 -1
- data/lib/fastlane/plugin/unity_exporter/actions/unity_get_build_number.rb +44 -0
- data/lib/fastlane/plugin/unity_exporter/actions/unity_get_version_number.rb +44 -0
- data/lib/fastlane/plugin/unity_exporter/helper/generic_helper.rb +35 -0
- data/lib/fastlane/plugin/unity_exporter/helper/unity_editor_helper.rb +4 -3
- data/lib/fastlane/plugin/unity_exporter/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5f871c4202b1c52b9d5d719312834f66f9374a6a16319925a6e39d5d3f87f258
|
4
|
+
data.tar.gz: 6c74a627ee70148c1b27d52421f5bf275d5ce2405c60588db6abeee04dcded2e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e62253ae48ffaa41ee6a62ce09e91b0d10dcc610e05216ddec73414ea2f1d295263c95117289fd9ca33c0622036f98e9e7d44cddb3fedf360e4245378a569aa9
|
7
|
+
data.tar.gz: 3ce7dc870812337f11e80c9de94910697b47278dc98b31d51dbffe7b5006516bbb7b07342693269ee624d818000a931c4d31c9e4fecb4d4a9e63d6ae8e916482
|
data/README.md
CHANGED
@@ -117,6 +117,28 @@ unity_export(build_target: "...", new_version: "3.4.5", new_version_code: "0")
|
|
117
117
|
unity_commit_version_bump
|
118
118
|
```
|
119
119
|
|
120
|
+
### Using `unity_get_version_number`
|
121
|
+
|
122
|
+
```ruby
|
123
|
+
# you must first use the unity export action
|
124
|
+
unity_export(...)
|
125
|
+
|
126
|
+
# afterwards you can get the version number like so
|
127
|
+
# note that an error code will be returned if something fails
|
128
|
+
version_number = unity_get_version_number
|
129
|
+
```
|
130
|
+
|
131
|
+
### Using `unity_get_build_number`
|
132
|
+
|
133
|
+
```ruby
|
134
|
+
# you must first use the unity export action
|
135
|
+
unity_export(...)
|
136
|
+
|
137
|
+
# afterwards you can get the build number like so
|
138
|
+
# note that an error code will be returned if something fails
|
139
|
+
build_number = unity_get_build_number
|
140
|
+
```
|
141
|
+
|
120
142
|
|
121
143
|
## Example
|
122
144
|
|
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'fastlane/action'
|
2
2
|
require_relative '../helper/unity_editor_helper'
|
3
|
+
require_relative '../helper/generic_helper'
|
3
4
|
|
4
5
|
module Fastlane
|
5
6
|
module Actions
|
@@ -8,7 +9,7 @@ module Fastlane
|
|
8
9
|
# TODO: improve the commit command: currently it simply commits the ProjectSettings file
|
9
10
|
# what if there are other changes in the file and you don't want these changes to be part of the commit
|
10
11
|
|
11
|
-
log_file =
|
12
|
+
log_file = Helper::GenericHelper.instance_variable_get(:@git_log_path)
|
12
13
|
|
13
14
|
# Thank you: https://linuxize.com/post/bash-redirect-stderr-stdout/#redirecting-stderr-to-stdout
|
14
15
|
sh("echo 'UnityCommitVersionBumpAction: created file' > #{log_file} 2>&1")
|
@@ -18,7 +18,7 @@ module Fastlane
|
|
18
18
|
|
19
19
|
elsif params[:build_target]
|
20
20
|
if params[:project_path]
|
21
|
-
Helper::UnityEditorHelper.
|
21
|
+
Helper::UnityEditorHelper.instance_variable_set(:@project_path, params[:project_path])
|
22
22
|
end
|
23
23
|
|
24
24
|
# following are arguments as defined in the docs: https://docs.unity3d.com/Manual/CommandLineArguments.html
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require_relative '../helper/unity_editor_helper'
|
3
|
+
require_relative '../helper/generic_helper'
|
4
|
+
|
5
|
+
module Fastlane
|
6
|
+
module Actions
|
7
|
+
class UnityGetBuildNumberAction < Action
|
8
|
+
def self.run(params)
|
9
|
+
build_number = Helper::GenericHelper.build_exporter_build_number
|
10
|
+
if build_number == ""
|
11
|
+
return "unity_exporter_error_occurred"
|
12
|
+
end
|
13
|
+
|
14
|
+
return build_number
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.description
|
18
|
+
"Will get the build number that was used for the latest Unity export action. Therefore make sure to call the Unity export action before you use this action."
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.authors
|
22
|
+
["steft"]
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.return_value
|
26
|
+
"Returns the build number that was used for the latest Unity export action. In case of error will return 'unity_exporter_error_occurred'."
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.details
|
30
|
+
# Optional:
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.available_options
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.is_supported?(platform)
|
37
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
38
|
+
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
39
|
+
[:ios, :android].include?(platform)
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'fastlane/action'
|
2
|
+
require_relative '../helper/unity_editor_helper'
|
3
|
+
require_relative '../helper/generic_helper'
|
4
|
+
|
5
|
+
module Fastlane
|
6
|
+
module Actions
|
7
|
+
class UnityGetVersionNumberAction < Action
|
8
|
+
def self.run(params)
|
9
|
+
version_number = Helper::GenericHelper.build_exporter_version_number
|
10
|
+
if version_number == ""
|
11
|
+
return "unity_exporter_error_occurred"
|
12
|
+
end
|
13
|
+
|
14
|
+
return version_number
|
15
|
+
end
|
16
|
+
|
17
|
+
def self.description
|
18
|
+
"Will get the version number that was used for the latest Unity export action. Therefore make sure to call the Unity export action before you use this action."
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.authors
|
22
|
+
["steft"]
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.return_value
|
26
|
+
"Returns the version number that was used for the latest Unity export action. In case of error will return 'unity_exporter_error_occurred'."
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.details
|
30
|
+
# Optional:
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.available_options
|
34
|
+
end
|
35
|
+
|
36
|
+
def self.is_supported?(platform)
|
37
|
+
# Adjust this if your plugin only works for a particular platform (iOS vs. Android, for example)
|
38
|
+
# See: https://docs.fastlane.tools/advanced/#control-configuration-by-lane-and-by-platform
|
39
|
+
[:ios, :android].include?(platform)
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -1,11 +1,46 @@
|
|
1
1
|
require 'fastlane_core/ui/ui'
|
2
2
|
require 'shellwords'
|
3
|
+
require_relative './unity_editor_helper'
|
3
4
|
|
4
5
|
module Fastlane
|
5
6
|
UI = FastlaneCore::UI unless Fastlane.const_defined?("UI")
|
6
7
|
|
7
8
|
module Helper
|
8
9
|
class GenericHelper
|
10
|
+
@git_log_path = "fastlane-unity-exporter/logs/#{DateTime.now.strftime('%Y-%m-%d_%H-%M-%S-%L')}_git.log"
|
11
|
+
|
12
|
+
def self.build_exporter_versions
|
13
|
+
# this is created and updated whenever you create a build via the build exporter
|
14
|
+
build_exporter_versions_file = "#{Helper::UnityEditorHelper.unity_project_path}/BuildExporter/latest-build-version.txt"
|
15
|
+
|
16
|
+
if File.file?(build_exporter_versions_file)
|
17
|
+
return File.readlines(build_exporter_versions_file, chomp: true)
|
18
|
+
else
|
19
|
+
UI.user_error!("Versions file does not exist yet. You must execute the Unity export action beforehand.")
|
20
|
+
return []
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.build_exporter_version_number
|
25
|
+
versions = build_exporter_versions
|
26
|
+
|
27
|
+
if versions.count > 0
|
28
|
+
return versions[0]
|
29
|
+
else
|
30
|
+
return ""
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.build_exporter_build_number
|
35
|
+
versions = build_exporter_versions
|
36
|
+
|
37
|
+
if versions.count > 0
|
38
|
+
return versions[1]
|
39
|
+
else
|
40
|
+
return ""
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
9
44
|
def self.shellify(path)
|
10
45
|
if FastlaneCore::Helper.is_mac?
|
11
46
|
return Shellwords.escape(path)
|
@@ -10,11 +10,12 @@ module Fastlane
|
|
10
10
|
class UnityEditorHelper
|
11
11
|
# project path relative if following hierarchy is given: "root/{unity-project}/fastlane-build-exporter/{platform}-export/."
|
12
12
|
# p File.expand_path("../../")
|
13
|
-
|
14
|
-
|
13
|
+
@project_path_default = "../../"
|
14
|
+
@project_path = ""
|
15
15
|
|
16
16
|
def self.unity_project_path
|
17
|
-
return
|
17
|
+
return @project_path if @project_path != ""
|
18
|
+
|
18
19
|
return "../../"
|
19
20
|
end
|
20
21
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fastlane-plugin-unity_exporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ar:met
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -161,6 +161,8 @@ files:
|
|
161
161
|
- lib/fastlane/plugin/unity_exporter.rb
|
162
162
|
- lib/fastlane/plugin/unity_exporter/actions/unity_commit_version_bump.rb
|
163
163
|
- lib/fastlane/plugin/unity_exporter/actions/unity_export.rb
|
164
|
+
- lib/fastlane/plugin/unity_exporter/actions/unity_get_build_number.rb
|
165
|
+
- lib/fastlane/plugin/unity_exporter/actions/unity_get_version_number.rb
|
164
166
|
- lib/fastlane/plugin/unity_exporter/helper/generic_helper.rb
|
165
167
|
- lib/fastlane/plugin/unity_exporter/helper/unity_editor_helper.rb
|
166
168
|
- lib/fastlane/plugin/unity_exporter/helper/unity_hub_helper.rb
|