fastlane-plugin-unity_exporter 1.2.0 → 1.3.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 +18 -0
- data/lib/fastlane/plugin/unity_exporter/actions/unity_commit_version_bump.rb +12 -0
- data/lib/fastlane/plugin/unity_exporter/actions/unity_get_build_number.rb +14 -2
- data/lib/fastlane/plugin/unity_exporter/actions/unity_get_version_number.rb +14 -2
- data/lib/fastlane/plugin/unity_exporter/helper/build_exporter_helper.rb +44 -0
- data/lib/fastlane/plugin/unity_exporter/helper/generic_helper.rb +0 -33
- data/lib/fastlane/plugin/unity_exporter/helper/unity_editor_helper.rb +9 -10
- data/lib/fastlane/plugin/unity_exporter/version.rb +1 -1
- metadata +2 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1a1b16db5c56d81b08d0c944ddfde6d5e3295d714ec07cb0ed0155faa663ea21
|
4
|
+
data.tar.gz: f84cc70bd9024acd8df427efad57d3dbd1c58e8855fd35eed5a60643651cf10e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e126535a70b41d1a67d8d6939c7d426fcac0e5138c96d9ba13f902899ab6e02f3f4bad882e8f98b5df651fa76fa4b9a90a5ca0a30ff60978fa059b248ef5f401
|
7
|
+
data.tar.gz: 365a6cd6106ca841fc0e59baa8ca837fa3c8c3ba1bd096453950ce3895b2b23a47fe324c8182ab247d2ae66f19c90b924b9dc57326a47c1cdd3bbaceda235ff4
|
data/README.md
CHANGED
@@ -115,6 +115,12 @@ unity_export(build_target: "...", new_version: "3.4.5", new_version_code: "0")
|
|
115
115
|
|
116
116
|
# after the export is finished, we commit the version bump
|
117
117
|
unity_commit_version_bump
|
118
|
+
|
119
|
+
# another invocation example that specifies a project path
|
120
|
+
# the expected default path is in accordance with the "getting started" section of this readme
|
121
|
+
# if a custom path to the Unity project is required, it's specified this way
|
122
|
+
# note that the starting point for relative paths is the directory that contains the 'fastlane' folder
|
123
|
+
unity_commit_version_bump(project_path: "path/some-example-unity-projects-directory")
|
118
124
|
```
|
119
125
|
|
120
126
|
### Using `unity_get_version_number`
|
@@ -126,6 +132,12 @@ unity_export(...)
|
|
126
132
|
# afterwards you can get the version number like so
|
127
133
|
# note that an error code will be returned if something fails
|
128
134
|
version_number = unity_get_version_number
|
135
|
+
|
136
|
+
# another invocation example that specifies a project path
|
137
|
+
# the expected default path is in accordance with the "getting started" section of this readme
|
138
|
+
# if a custom path to the Unity project is required, it's specified this way
|
139
|
+
# note that the starting point for relative paths is the directory that contains the 'fastlane' folder
|
140
|
+
version_number = unity_get_version_number(project_path: "path/some-example-unity-projects-directory")
|
129
141
|
```
|
130
142
|
|
131
143
|
### Using `unity_get_build_number`
|
@@ -137,6 +149,12 @@ unity_export(...)
|
|
137
149
|
# afterwards you can get the build number like so
|
138
150
|
# note that an error code will be returned if something fails
|
139
151
|
build_number = unity_get_build_number
|
152
|
+
|
153
|
+
# another invocation example that specifies a project path
|
154
|
+
# the expected default path is in accordance with the "getting started" section of this readme
|
155
|
+
# if a custom path to the Unity project is required, it's specified this way
|
156
|
+
# note that the starting point for relative paths is the directory that contains the 'fastlane' folder
|
157
|
+
build_number = unity_get_build_number(project_path: "path/some-example-unity-projects-directory")
|
140
158
|
```
|
141
159
|
|
142
160
|
|
@@ -6,6 +6,10 @@ module Fastlane
|
|
6
6
|
module Actions
|
7
7
|
class UnityCommitVersionBumpAction < Action
|
8
8
|
def self.run(params)
|
9
|
+
if params[:project_path]
|
10
|
+
Helper::UnityEditorHelper.instance_variable_set(:@project_path, params[:project_path])
|
11
|
+
end
|
12
|
+
|
9
13
|
# TODO: improve the commit command: currently it simply commits the ProjectSettings file
|
10
14
|
# what if there are other changes in the file and you don't want these changes to be part of the commit
|
11
15
|
|
@@ -34,6 +38,14 @@ module Fastlane
|
|
34
38
|
end
|
35
39
|
|
36
40
|
def self.available_options
|
41
|
+
[
|
42
|
+
FastlaneCore::ConfigItem.new(key: :project_path,
|
43
|
+
env_name: "FL_UNITY_PROJECT_PATH",
|
44
|
+
description: "The path to the Unity project. The starting point for relative paths is the directory that contains the 'fastlane' folder",
|
45
|
+
optional: true,
|
46
|
+
type: String,
|
47
|
+
conflicting_options: [:arguments])
|
48
|
+
]
|
37
49
|
end
|
38
50
|
|
39
51
|
def self.is_supported?(platform)
|
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'fastlane/action'
|
2
2
|
require_relative '../helper/unity_editor_helper'
|
3
|
-
require_relative '../helper/
|
3
|
+
require_relative '../helper/build_exporter_helper'
|
4
4
|
|
5
5
|
module Fastlane
|
6
6
|
module Actions
|
7
7
|
class UnityGetBuildNumberAction < Action
|
8
8
|
def self.run(params)
|
9
|
-
|
9
|
+
if params[:project_path]
|
10
|
+
Helper::UnityEditorHelper.instance_variable_set(:@project_path, params[:project_path])
|
11
|
+
end
|
12
|
+
|
13
|
+
build_number = Helper::BuildExporterHelper.build_number
|
10
14
|
if build_number == ""
|
11
15
|
return "unity_exporter_error_occurred"
|
12
16
|
end
|
@@ -31,6 +35,14 @@ module Fastlane
|
|
31
35
|
end
|
32
36
|
|
33
37
|
def self.available_options
|
38
|
+
[
|
39
|
+
FastlaneCore::ConfigItem.new(key: :project_path,
|
40
|
+
env_name: "FL_UNITY_PROJECT_PATH",
|
41
|
+
description: "The path to the Unity project. The starting point for relative paths is the directory that contains the 'fastlane' folder",
|
42
|
+
optional: true,
|
43
|
+
type: String,
|
44
|
+
conflicting_options: [:arguments])
|
45
|
+
]
|
34
46
|
end
|
35
47
|
|
36
48
|
def self.is_supported?(platform)
|
@@ -1,12 +1,16 @@
|
|
1
1
|
require 'fastlane/action'
|
2
2
|
require_relative '../helper/unity_editor_helper'
|
3
|
-
require_relative '../helper/
|
3
|
+
require_relative '../helper/build_exporter_helper'
|
4
4
|
|
5
5
|
module Fastlane
|
6
6
|
module Actions
|
7
7
|
class UnityGetVersionNumberAction < Action
|
8
8
|
def self.run(params)
|
9
|
-
|
9
|
+
if params[:project_path]
|
10
|
+
Helper::UnityEditorHelper.instance_variable_set(:@project_path, params[:project_path])
|
11
|
+
end
|
12
|
+
|
13
|
+
version_number = Helper::BuildExporterHelper.version_number
|
10
14
|
if version_number == ""
|
11
15
|
return "unity_exporter_error_occurred"
|
12
16
|
end
|
@@ -31,6 +35,14 @@ module Fastlane
|
|
31
35
|
end
|
32
36
|
|
33
37
|
def self.available_options
|
38
|
+
[
|
39
|
+
FastlaneCore::ConfigItem.new(key: :project_path,
|
40
|
+
env_name: "FL_UNITY_PROJECT_PATH",
|
41
|
+
description: "The path to the Unity project. The starting point for relative paths is the directory that contains the 'fastlane' folder",
|
42
|
+
optional: true,
|
43
|
+
type: String,
|
44
|
+
conflicting_options: [:arguments])
|
45
|
+
]
|
34
46
|
end
|
35
47
|
|
36
48
|
def self.is_supported?(platform)
|
@@ -0,0 +1,44 @@
|
|
1
|
+
require 'fastlane_core/ui/ui'
|
2
|
+
require 'shellwords'
|
3
|
+
require_relative './unity_editor_helper'
|
4
|
+
|
5
|
+
module Fastlane
|
6
|
+
UI = FastlaneCore::UI unless Fastlane.const_defined?("UI")
|
7
|
+
|
8
|
+
module Helper
|
9
|
+
# a helper class specific to the Unity-Build-Exporter package: https://github.com/ar-met/unity-build-exporter
|
10
|
+
class BuildExporterHelper
|
11
|
+
def self.versions_file_content
|
12
|
+
# this is created and updated whenever you create a build via the build exporter
|
13
|
+
build_exporter_versions_file = "#{Helper::UnityEditorHelper.unity_project_path}/BuildExporter/latest-build-version.txt"
|
14
|
+
|
15
|
+
if File.file?(build_exporter_versions_file)
|
16
|
+
return File.readlines(build_exporter_versions_file, chomp: true)
|
17
|
+
else
|
18
|
+
UI.user_error!("Versions file does not exist yet. You must execute the Unity export action beforehand.")
|
19
|
+
return []
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.version_number
|
24
|
+
versions = versions_file_content
|
25
|
+
|
26
|
+
if versions.count > 0
|
27
|
+
return versions[0]
|
28
|
+
else
|
29
|
+
return ""
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.build_number
|
34
|
+
versions = versions_file_content
|
35
|
+
|
36
|
+
if versions.count > 0
|
37
|
+
return versions[1]
|
38
|
+
else
|
39
|
+
return ""
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
require 'fastlane_core/ui/ui'
|
2
2
|
require 'shellwords'
|
3
|
-
require_relative './unity_editor_helper'
|
4
3
|
|
5
4
|
module Fastlane
|
6
5
|
UI = FastlaneCore::UI unless Fastlane.const_defined?("UI")
|
@@ -9,38 +8,6 @@ module Fastlane
|
|
9
8
|
class GenericHelper
|
10
9
|
@git_log_path = "fastlane-unity-exporter/logs/#{DateTime.now.strftime('%Y-%m-%d_%H-%M-%S-%L')}_git.log"
|
11
10
|
|
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
|
-
|
44
11
|
def self.shellify(path)
|
45
12
|
if FastlaneCore::Helper.is_mac?
|
46
13
|
return Shellwords.escape(path)
|
@@ -14,9 +14,15 @@ module Fastlane
|
|
14
14
|
@project_path = ""
|
15
15
|
|
16
16
|
def self.unity_project_path
|
17
|
-
|
17
|
+
project_path = @project_path == "" ? "../../" : @project_path
|
18
18
|
|
19
|
-
|
19
|
+
# we verify the path to the Unity project by looking for the 'manifest.json' file
|
20
|
+
package_manifest_path = "#{project_path}/Packages/manifest.json"
|
21
|
+
unless File.file?(package_manifest_path)
|
22
|
+
UI.user_error!("Cannot find 'manifest.json' at '#{package_manifest_path}'. Make sure that the Unity project path is properly set.")
|
23
|
+
end
|
24
|
+
|
25
|
+
return project_path
|
20
26
|
end
|
21
27
|
|
22
28
|
def self.unity_editor_path
|
@@ -67,14 +73,7 @@ module Fastlane
|
|
67
73
|
end
|
68
74
|
|
69
75
|
package_manifest_path = "#{relative_path}/Packages/manifest.json"
|
70
|
-
|
71
|
-
# we verify the path to the Unity project by looking for the 'manifest.json' file
|
72
|
-
if File.file?(package_manifest_path)
|
73
|
-
return File.read(package_manifest_path)
|
74
|
-
else
|
75
|
-
UI.user_error!("Cannot find 'manifest.json' at '#{package_manifest_path}'. Make sure that the Unity project path is properly set.")
|
76
|
-
return ""
|
77
|
-
end
|
76
|
+
return File.read(package_manifest_path)
|
78
77
|
end
|
79
78
|
|
80
79
|
def self.load_unity_project_version
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- ar:met
|
@@ -163,6 +163,7 @@ files:
|
|
163
163
|
- lib/fastlane/plugin/unity_exporter/actions/unity_export.rb
|
164
164
|
- lib/fastlane/plugin/unity_exporter/actions/unity_get_build_number.rb
|
165
165
|
- lib/fastlane/plugin/unity_exporter/actions/unity_get_version_number.rb
|
166
|
+
- lib/fastlane/plugin/unity_exporter/helper/build_exporter_helper.rb
|
166
167
|
- lib/fastlane/plugin/unity_exporter/helper/generic_helper.rb
|
167
168
|
- lib/fastlane/plugin/unity_exporter/helper/unity_editor_helper.rb
|
168
169
|
- lib/fastlane/plugin/unity_exporter/helper/unity_hub_helper.rb
|