nixenvironment 0.0.81 → 0.0.82
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/bin/nixenvironment +31 -30
- data/lib/nixenvironment/archiver.rb +7 -7
- data/lib/nixenvironment/config.rb +24 -1
- data/lib/nixenvironment/deployer.rb +50 -13
- data/lib/nixenvironment/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: 6a9ab55b6ff41beef7bead9d609d3cd498f4507c
|
4
|
+
data.tar.gz: c2d3711028fa1e74f51c585c648b58760467243e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d51e6eb9189c9e816e3c9e638cac16eeffd8b7b9957eca307bba5a8048aa7c2bc2473229732dc056150e870ac2b5b3c7de032c94497b33cfe49ac6cce59c7871
|
7
|
+
data.tar.gz: a0aa5a3216e2e21e6f940499e65496936c4361ae82939c9baa712de972ce55fea1c137ef9fb0a7e1b65586e627f4759910f46b59dcbeb26fe9d285f3897ea6e3
|
data/bin/nixenvironment
CHANGED
@@ -173,38 +173,39 @@ command :deploy do |c|
|
|
173
173
|
c.syntax = 'nixenvironment deploy'
|
174
174
|
c.description = 'Deploy built artifacts to given server'
|
175
175
|
c.option '--unity_platform TARGET PLATFORM', String, 'Select target platform for unity deploy (ios | macos | android | winphone)'
|
176
|
+
c.option '--deployment_names NAMES', String, 'Set names for mds buttons for each ipa type'
|
176
177
|
c.option '--deliver_deploy', 'Not only verify but also submit the build on iTunes Connect. (resigned_appstore builds only)'
|
177
178
|
c.action do |_args, options|
|
178
|
-
|
179
|
-
|
180
|
-
|
181
|
-
|
182
|
-
|
183
|
-
|
184
|
-
|
185
|
-
|
186
|
-
|
187
|
-
|
188
|
-
|
189
|
-
|
190
|
-
|
191
|
-
|
192
|
-
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
199
|
-
|
179
|
+
unless ENV['SKIP_DEPLOY'].present?
|
180
|
+
unity_platform = options.unity_platform
|
181
|
+
need_to_deploy_ios = false
|
182
|
+
need_to_deploy_macos_build = false
|
183
|
+
need_to_deploy_winphone_build = false
|
184
|
+
|
185
|
+
if unity_platform.present?
|
186
|
+
case unity_platform
|
187
|
+
when 'ios'
|
188
|
+
Dir.chdir(UNITY_IOS_PROJECT_PATH)
|
189
|
+
need_to_deploy_ios = true
|
190
|
+
when 'macos'
|
191
|
+
#Dir.chdir(UNITY_MACOS_PROJECT_PATH)
|
192
|
+
need_to_deploy_macos_build = true
|
193
|
+
when 'android'
|
194
|
+
system(DEPLOY_APK_SCRIPT_PATH) ? success('Unity android deploy complete!') : error('Unity android deploy error!')
|
195
|
+
when 'winphone'
|
196
|
+
#Dir.chdir(UNITY_WINPHONE_PROJECT_PATH)
|
197
|
+
need_to_deploy_winphone_build = true
|
198
|
+
else
|
199
|
+
error("Error: Unknown unity target platform '#{unity_platform}'!")
|
200
|
+
end
|
201
|
+
else
|
202
|
+
need_to_deploy_ios = true
|
200
203
|
end
|
201
|
-
else
|
202
|
-
need_to_deploy_ios = true
|
203
|
-
end
|
204
204
|
|
205
|
-
|
206
|
-
|
207
|
-
|
205
|
+
if need_to_deploy_ios || need_to_deploy_macos_build
|
206
|
+
read_config_settings
|
207
|
+
deploy(options.deliver_deploy, options.deployment_names)
|
208
|
+
end
|
208
209
|
end
|
209
210
|
end
|
210
211
|
end
|
@@ -689,7 +690,7 @@ def restore_info_plist(product_settings_path, info_plist_backup_name, descriptio
|
|
689
690
|
puts "#{description}Info.plist was restored."
|
690
691
|
end
|
691
692
|
|
692
|
-
def deploy(deliver_deploy)
|
693
|
+
def deploy(deliver_deploy, deployment_names)
|
693
694
|
deploy_host = @config_settings[DEPLOY_HOST_KEY].blank? ? ENV[DEPLOY_HOST_KEY] : @config_settings[DEPLOY_HOST_KEY]
|
694
695
|
deploy_username = @config_settings[DEPLOY_USERNAME_KEY].blank? ? ENV[DEPLOY_USERNAME_KEY] : @config_settings[DEPLOY_USERNAME_KEY]
|
695
696
|
deploy_password = @config_settings[DEPLOY_PASSWORD_KEY].blank? ? ENV[DEPLOY_PASSWORD_KEY] : @config_settings[DEPLOY_PASSWORD_KEY]
|
@@ -699,7 +700,7 @@ def deploy(deliver_deploy)
|
|
699
700
|
|
700
701
|
deploy_path = sdk_name.include?('macos') ? MACOS_PROJECTS_DEPLOY_PATH : ENV[DEPLOY_PATH_KEY]
|
701
702
|
deploy_path = @config_settings[DEPLOY_PATH_KEY] if @config_settings[DEPLOY_PATH_KEY].present?
|
702
|
-
Deployer.deploy(deploy_host, deploy_path, deploy_username, deploy_password, deploy_itunesconnect_username, deliver_deploy)
|
703
|
+
Deployer.deploy(deploy_host, deploy_path, deploy_username, deploy_password, deploy_itunesconnect_username, deliver_deploy, deployment_names)
|
703
704
|
|
704
705
|
success('Deploy complete!')
|
705
706
|
end
|
@@ -35,19 +35,19 @@ module Nixenvironment
|
|
35
35
|
|
36
36
|
class << self
|
37
37
|
def make_signed_ipa
|
38
|
-
make_ipa(PROFILE_TYPE_DEVELOPER, nil,
|
38
|
+
make_ipa(PROFILE_TYPE_DEVELOPER, nil, IPA_PRODUCT_KEY, IPA_BUNDLE_ID_KEY, NAME_FOR_DEPLOYMENT_KEY)
|
39
39
|
end
|
40
40
|
|
41
41
|
def make_resigned_ipa_for_device
|
42
|
-
make_ipa(PROFILE_TYPE_DEVELOPER, '-Resigned',
|
42
|
+
make_ipa(PROFILE_TYPE_DEVELOPER, '-Resigned', IPA_PRODUCT_RESIGNED_DEVICE_KEY, IPA_BUNDLE_ID_RESIGNED_DEVICE_KEY, NAME_FOR_DEPLOYMENT_RESIGNED_DEVICE_KEY)
|
43
43
|
end
|
44
44
|
|
45
45
|
def make_resigned_ipa_for_adhoc
|
46
|
-
make_ipa(PROFILE_TYPE_ADHOC, '-Resigned-AdHoc',
|
46
|
+
make_ipa(PROFILE_TYPE_ADHOC, '-Resigned-AdHoc', IPA_PRODUCT_RESIGNED_ADHOC_KEY, IPA_BUNDLE_ID_RESIGNED_ADHOC_KEY, NAME_FOR_DEPLOYMENT_RESIGNED_ADHOC_KEY)
|
47
47
|
end
|
48
48
|
|
49
49
|
def make_resigned_ipa_for_appstore
|
50
|
-
make_ipa(PROFILE_TYPE_APPSTORE, '-Resigned-Appstore',
|
50
|
+
make_ipa(PROFILE_TYPE_APPSTORE, '-Resigned-Appstore', IPA_PRODUCT_RESIGNED_APPSTORE_KEY, IPA_BUNDLE_ID_RESIGNED_APPSTORE_KEY, NAME_FOR_DEPLOYMENT_RESIGNED_APPSTORE_KEY)
|
51
51
|
end
|
52
52
|
|
53
53
|
def make_macos_zip
|
@@ -86,9 +86,9 @@ module Nixenvironment
|
|
86
86
|
ipa_bundle_id = get_bundle_id(File.join(app_product, 'Contents'))
|
87
87
|
|
88
88
|
system("echo \"\n
|
89
|
-
|
90
|
-
|
91
|
-
|
89
|
+
#{IPA_PRODUCT_KEY}='#{new_ipa_path}'
|
90
|
+
#{IPA_BUNDLE_ID_KEY}='#{ipa_bundle_id}'
|
91
|
+
#{NAME_FOR_DEPLOYMENT_KEY}='#{configuration}'
|
92
92
|
\" >> #{AUTOGENERATED_LAST_BUILD_VARS}")
|
93
93
|
end
|
94
94
|
|
@@ -92,24 +92,32 @@ module Nixenvironment
|
|
92
92
|
PROJECT_TO_BUILD_KEY = 'PROJECT_TO_BUILD'
|
93
93
|
PROJECT_TARGET_TO_BUILD_KEY = 'PROJECT_TARGET_TO_BUILD'
|
94
94
|
PROJECT_TARGET_TO_TEST_KEY = 'PROJECT_TARGET_TO_TEST'
|
95
|
+
|
95
96
|
WORKSPACE_TO_BUILD_KEY = 'WORKSPACE_TO_BUILD'
|
96
97
|
WORKSPACE_SCHEME_TO_BUILD_KEY = 'WORKSPACE_SCHEME_TO_BUILD'
|
97
98
|
WORKSPACE_SCHEME_TO_TEST_KEY = 'WORKSPACE_SCHEME_TO_TEST'
|
99
|
+
|
98
100
|
SDK_KEY = 'SDK'
|
99
101
|
SDK_FOR_TESTS_KEY = 'SDK_FOR_TESTS'
|
102
|
+
|
100
103
|
EXCLUDE_PATTERN_FOR_CODE_COVERAGE_KEY = 'EXCLUDE_PATTERN_FOR_CODE_COVERAGE'
|
101
104
|
EXCLUDE_PATTERN_FOR_CODE_DUPLICATION_KEY = 'EXCLUDE_PATTERN_FOR_CODE_DUPLICATION'
|
105
|
+
|
102
106
|
DEPLOY_HOST_KEY = 'DEPLOY_HOST'
|
103
107
|
DEPLOY_PATH_KEY = 'DEPLOY_PATH'
|
104
108
|
DEPLOY_USERNAME_KEY = 'DEPLOY_USERNAME'
|
105
109
|
DEPLOY_PASSWORD_KEY = 'DEPLOY_PASSWORD'
|
106
110
|
DEPLOY_ITUNESCONNECT_USERNAME_KEY = 'DEPLOY_ITUNESCONNECT_USERNAME'
|
111
|
+
|
107
112
|
ICONS_PATH_KEY = 'ICONS_PATH'
|
108
113
|
XCTEST_DESTINATION_DEVICE_KEY = 'XCTEST_DESTINATION_DEVICE'
|
109
114
|
CONFIGURATION_FILES_PATH_KEY = 'CONFIGURATION_FILES_PATH'
|
115
|
+
|
110
116
|
CODE_COVERAGE_CONFIGURATION_KEY = 'CODE_COVERAGE_CONFIGURATION'
|
111
117
|
CODE_COVERAGE_OUTPUT_DIRECTORY_KEY = 'CODE_COVERAGE_OUTPUT_DIRECTORY'
|
118
|
+
|
112
119
|
ENV_VAR_PREFIX_KEY = 'ENV_VAR_PREFIX'
|
120
|
+
|
113
121
|
BUNDLE_ID_KEY = 'BUNDLE_ID'
|
114
122
|
RESIGNED_BUNDLE_ID_KEY = 'RESIGNED_BUNDLE_ID'
|
115
123
|
RESIGNED_WATCHKIT_APP_BUNDLE_ID_KEY = 'RESIGNED_WATCHKIT_APP_BUNDLE_ID'
|
@@ -133,14 +141,29 @@ module Nixenvironment
|
|
133
141
|
CONFIGURATION_KEY = 'CONFIGURATION'
|
134
142
|
APP_PRODUCT_KEY = 'APP_PRODUCT'
|
135
143
|
SDK_NAME_KEY = 'SDK_NAME'
|
136
|
-
|
144
|
+
|
137
145
|
CURRENT_APP_VERSION_KEY = 'CURRENT_APP_VERSION'
|
138
146
|
CURRENT_BUILD_VERSION_KEY = 'CURRENT_BUILD_VERSION'
|
147
|
+
|
148
|
+
IPA_BUNDLE_ID_KEY = 'IPA_BUNDLE_ID'
|
149
|
+
IPA_BUNDLE_ID_RESIGNED_DEVICE_KEY = 'IPA_BUNDLE_ID_RESIGNED_DEVICE'
|
150
|
+
IPA_BUNDLE_ID_RESIGNED_ADHOC_KEY = 'IPA_BUNDLE_ID_RESIGNED_ADHOC'
|
151
|
+
IPA_BUNDLE_ID_RESIGNED_APPSTORE_KEY = 'IPA_BUNDLE_ID_RESIGNED_APPSTORE'
|
152
|
+
|
139
153
|
NAME_FOR_DEPLOYMENT_KEY = 'NAME_FOR_DEPLOYMENT'
|
154
|
+
NAME_FOR_DEPLOYMENT_RESIGNED_DEVICE_KEY = 'NAME_FOR_DEPLOYMENT_RESIGNED_DEVICE'
|
155
|
+
NAME_FOR_DEPLOYMENT_RESIGNED_ADHOC_KEY = 'NAME_FOR_DEPLOYMENT_RESIGNED_ADHOC'
|
156
|
+
NAME_FOR_DEPLOYMENT_RESIGNED_APPSTORE_KEY = 'NAME_FOR_DEPLOYMENT_RESIGNED_APPSTORE'
|
157
|
+
|
140
158
|
IPA_PRODUCT_KEY = 'IPA_PRODUCT'
|
159
|
+
IPA_PRODUCT_RESIGNED_DEVICE_KEY = 'IPA_PRODUCT_RESIGNED_DEVICE'
|
160
|
+
IPA_PRODUCT_RESIGNED_ADHOC_KEY = 'IPA_PRODUCT_RESIGNED_ADHOC'
|
161
|
+
IPA_PRODUCT_RESIGNED_APPSTORE_KEY = 'IPA_PRODUCT_RESIGNED_APPSTORE'
|
162
|
+
|
141
163
|
APP_DSYM_KEY = 'APP_DSYM'
|
142
164
|
SCM_USERNAME_KEY = 'SCM_USERNAME'
|
143
165
|
SCM_PASSWORD_KEY = 'SCM_PASSWORD'
|
166
|
+
|
144
167
|
WATCHKIT_EXTENSION_PRODUCT_SETTINGS_PATH_KEY = 'WATCHKIT_EXTENSION_' + PRODUCT_SETTINGS_PATH_KEY
|
145
168
|
WATCHKIT_APP_PRODUCT_SETTINGS_PATH_KEY = 'WATCHKIT_APP_' + PRODUCT_SETTINGS_PATH_KEY
|
146
169
|
WIDGET_PRODUCT_SETTINGS_PATH_KEY = 'WIDGET_' + PRODUCT_SETTINGS_PATH_KEY
|
@@ -3,31 +3,68 @@ require 'colorize'
|
|
3
3
|
|
4
4
|
module Nixenvironment
|
5
5
|
class Deployer
|
6
|
-
def self.deploy(deploy_host, deploy_dir, deploy_user, deploy_password, deploy_itunesconnect_user, deliver_deploy)
|
6
|
+
def self.deploy(deploy_host, deploy_dir, deploy_user, deploy_password, deploy_itunesconnect_user, deliver_deploy, deployment_names)
|
7
7
|
build_env_vars = BuildEnvVarsLoader.load
|
8
8
|
raise 'Error! Working copy is not clean!' unless BuildEnvVarsLoader.working_copy_is_clean?
|
9
9
|
|
10
10
|
ipa_product = build_env_vars[IPA_PRODUCT_KEY]
|
11
|
-
ipa_product_resigned_device = build_env_vars[
|
12
|
-
ipa_product_resigned_adhoc = build_env_vars[
|
13
|
-
ipa_product_resigned_appstore = build_env_vars[
|
11
|
+
ipa_product_resigned_device = build_env_vars[IPA_PRODUCT_RESIGNED_DEVICE_KEY]
|
12
|
+
ipa_product_resigned_adhoc = build_env_vars[IPA_PRODUCT_RESIGNED_ADHOC_KEY]
|
13
|
+
ipa_product_resigned_appstore = build_env_vars[IPA_PRODUCT_RESIGNED_APPSTORE_KEY]
|
14
14
|
|
15
15
|
ipa_bundle_id = build_env_vars[IPA_BUNDLE_ID_KEY]
|
16
|
-
ipa_bundle_id_resigned_device = build_env_vars[
|
17
|
-
ipa_bundle_id_resigned_adhoc = build_env_vars[
|
18
|
-
ipa_bundle_id_resigned_appstore = build_env_vars[
|
16
|
+
ipa_bundle_id_resigned_device = build_env_vars[IPA_BUNDLE_ID_RESIGNED_DEVICE_KEY]
|
17
|
+
ipa_bundle_id_resigned_adhoc = build_env_vars[IPA_BUNDLE_ID_RESIGNED_ADHOC_KEY]
|
18
|
+
ipa_bundle_id_resigned_appstore = build_env_vars[IPA_BUNDLE_ID_RESIGNED_APPSTORE_KEY]
|
19
19
|
|
20
20
|
current_app_version = build_env_vars[CURRENT_APP_VERSION_KEY]
|
21
21
|
current_build_version = build_env_vars[CURRENT_BUILD_VERSION_KEY]
|
22
22
|
|
23
23
|
name_for_deployment = build_env_vars[NAME_FOR_DEPLOYMENT_KEY]
|
24
|
-
name_for_deployment_resigned_device = build_env_vars[
|
25
|
-
name_for_deployment_resigned_adhoc = build_env_vars[
|
26
|
-
name_for_deployment_resigned_appstore = build_env_vars[
|
24
|
+
name_for_deployment_resigned_device = build_env_vars[NAME_FOR_DEPLOYMENT_RESIGNED_DEVICE_KEY]
|
25
|
+
name_for_deployment_resigned_adhoc = build_env_vars[NAME_FOR_DEPLOYMENT_RESIGNED_ADHOC_KEY]
|
26
|
+
name_for_deployment_resigned_appstore = build_env_vars[NAME_FOR_DEPLOYMENT_RESIGNED_APPSTORE_KEY]
|
27
27
|
|
28
|
-
|
29
|
-
|
30
|
-
|
28
|
+
if deployment_names.present?
|
29
|
+
names = deployment_names.scan(/(?:\w|'[^']*')+/).map! {|name| name.tr("'", '')}
|
30
|
+
|
31
|
+
ipas_count = 0
|
32
|
+
ipas_count += 1 if name_for_deployment.present?
|
33
|
+
ipas_count += 1 if name_for_deployment_resigned_device.present?
|
34
|
+
ipas_count += 1 if name_for_deployment_resigned_adhoc.present?
|
35
|
+
ipas_count += 1 if name_for_deployment_resigned_appstore.present?
|
36
|
+
|
37
|
+
raise 'Deployment names count does not match ipa files count!' if ipas_count != names.count
|
38
|
+
|
39
|
+
ipa_index = 0
|
40
|
+
|
41
|
+
if name_for_deployment.present?
|
42
|
+
deployment_name = names[ipa_index]
|
43
|
+
name_for_deployment = deployment_name if deployment_name != '_'
|
44
|
+
ipa_index += 1
|
45
|
+
end
|
46
|
+
|
47
|
+
if name_for_deployment_resigned_device.present?
|
48
|
+
deployment_name = names[ipa_index]
|
49
|
+
name_for_deployment_resigned_device = deployment_name if deployment_name != '_'
|
50
|
+
ipa_index += 1
|
51
|
+
end
|
52
|
+
|
53
|
+
if name_for_deployment_resigned_adhoc.present?
|
54
|
+
deployment_name = names[ipa_index]
|
55
|
+
name_for_deployment_resigned_adhoc = deployment_name if deployment_name != '_'
|
56
|
+
ipa_index += 1
|
57
|
+
end
|
58
|
+
|
59
|
+
if name_for_deployment_resigned_appstore.present?
|
60
|
+
deployment_name = names[ipa_index]
|
61
|
+
name_for_deployment_resigned_appstore = deployment_name if deployment_name != '_'
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
executable_name = build_env_vars[EXECUTABLE_NAME_KEY]
|
66
|
+
app_dsym = build_env_vars[APP_DSYM_KEY]
|
67
|
+
sdk = build_env_vars[SDK_NAME_KEY]
|
31
68
|
|
32
69
|
ipa_count = 0
|
33
70
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nixenvironment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.82
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Karen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-02
|
12
|
+
date: 2016-03-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cocoapods
|