nixenvironment 0.0.70 → 0.0.71
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/bin/nixenvironment +39 -102
- data/lib/nixenvironment.rb +2 -0
- data/lib/nixenvironment/archiver.rb +43 -50
- data/lib/nixenvironment/build_env_vars_loader.rb +69 -6
- data/lib/nixenvironment/config.rb +9 -5
- data/lib/nixenvironment/deployer.rb +129 -0
- data/lib/nixenvironment/scm.rb +179 -0
- data/lib/nixenvironment/version.rb +1 -1
- data/lib/nixenvironment/xcodebuild.rb +6 -0
- data/nixenvironment.gemspec +2 -1
- metadata +20 -13
- data/legacy/CleanWorkingCopy.sh +0 -69
- data/legacy/DeployIPA.sh +0 -125
- data/legacy/DetectSCM.sh +0 -11
- data/legacy/LoadBuildEnvVars.sh +0 -123
- data/legacy/MakeTag.sh +0 -94
- data/legacy/SaveRevision.sh +0 -122
- data/legacy/VerifyBinarySigning.py +0 -80
- data/legacy/svn-clean.pl +0 -246
- data/legacy/svncopy.pl +0 -1134
data/nixenvironment.gemspec
CHANGED
@@ -26,7 +26,8 @@ Gem::Specification.new do |spec|
|
|
26
26
|
spec.add_dependency 'colorize'
|
27
27
|
spec.add_dependency 'CFPropertyList', '= 2.2.8'
|
28
28
|
spec.add_dependency 'pilot', '~> 1.0.0'
|
29
|
-
spec.add_dependency 'nokogiri', '= 1.6.7.
|
29
|
+
spec.add_dependency 'nokogiri', '= 1.6.7.rc3'
|
30
|
+
spec.add_dependency 'net-scp'
|
30
31
|
|
31
32
|
# Development only
|
32
33
|
spec.add_development_dependency 'bundler'
|
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.71
|
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: 2015-11-
|
12
|
+
date: 2015-11-23 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: cocoapods
|
@@ -115,14 +115,28 @@ dependencies:
|
|
115
115
|
requirements:
|
116
116
|
- - '='
|
117
117
|
- !ruby/object:Gem::Version
|
118
|
-
version: 1.6.7.
|
118
|
+
version: 1.6.7.rc3
|
119
119
|
type: :runtime
|
120
120
|
prerelease: false
|
121
121
|
version_requirements: !ruby/object:Gem::Requirement
|
122
122
|
requirements:
|
123
123
|
- - '='
|
124
124
|
- !ruby/object:Gem::Version
|
125
|
-
version: 1.6.7.
|
125
|
+
version: 1.6.7.rc3
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: net-scp
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - '>='
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: '0'
|
133
|
+
type: :runtime
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - '>='
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: '0'
|
126
140
|
- !ruby/object:Gem::Dependency
|
127
141
|
name: bundler
|
128
142
|
requirement: !ruby/object:Gem::Requirement
|
@@ -211,30 +225,23 @@ files:
|
|
211
225
|
- bin/Config
|
212
226
|
- bin/nixenvironment
|
213
227
|
- gemify.sh
|
214
|
-
- legacy/CleanWorkingCopy.sh
|
215
228
|
- legacy/Deploy.sh
|
216
229
|
- legacy/DeployAPK.py
|
217
|
-
- legacy/DeployIPA.sh
|
218
|
-
- legacy/DetectSCM.sh
|
219
230
|
- legacy/GenerateCodeCoverageForXCTests.sh
|
220
231
|
- legacy/GenerateCodeDuplicationReport.sh
|
221
|
-
- legacy/LoadBuildEnvVars.sh
|
222
|
-
- legacy/MakeTag.sh
|
223
|
-
- legacy/SaveRevision.sh
|
224
232
|
- legacy/UnityBuildAndroid.py
|
225
233
|
- legacy/UnityBuildAutomationScripts/CommandLineReader.cs
|
226
234
|
- legacy/UnityBuildAutomationScripts/NIXBuilder.cs
|
227
235
|
- legacy/UnityBuildEnvVars.py
|
228
|
-
- legacy/VerifyBinarySigning.py
|
229
|
-
- legacy/svn-clean.pl
|
230
|
-
- legacy/svncopy.pl
|
231
236
|
- lib/nixenvironment.rb
|
232
237
|
- lib/nixenvironment/archiver.rb
|
233
238
|
- lib/nixenvironment/build_env_vars_loader.rb
|
234
239
|
- lib/nixenvironment/cmd_executor.rb
|
235
240
|
- lib/nixenvironment/config.rb
|
241
|
+
- lib/nixenvironment/deployer.rb
|
236
242
|
- lib/nixenvironment/git.rb
|
237
243
|
- lib/nixenvironment/plist.rb
|
244
|
+
- lib/nixenvironment/scm.rb
|
238
245
|
- lib/nixenvironment/version.rb
|
239
246
|
- lib/nixenvironment/xcodebuild.rb
|
240
247
|
- nixenvironment.gemspec
|
data/legacy/CleanWorkingCopy.sh
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
#!/bin/sh -e
|
2
|
-
|
3
|
-
# Created by Yuri Govorushchenko on 22/05/2013.
|
4
|
-
# Copyright 2013 nix. All rights reserved.
|
5
|
-
|
6
|
-
# Script reverts all changes in working copy and removes unversioned files.
|
7
|
-
|
8
|
-
currentScriptDir=$(cd "$(dirname "$0")"; pwd)
|
9
|
-
SCM_TYPE=$("${currentScriptDir}/DetectSCM.sh")
|
10
|
-
|
11
|
-
cleanAll=$1
|
12
|
-
|
13
|
-
CLEAN_ALL=0
|
14
|
-
if [ "${cleanAll}" == "all" ]; then
|
15
|
-
echo "--- Clean all specified"
|
16
|
-
CLEAN_ALL=1
|
17
|
-
fi
|
18
|
-
|
19
|
-
# Subversion
|
20
|
-
if [[ "${SCM_TYPE}" = "svn" ]]; then
|
21
|
-
echo "SVN working copy detected, cleaning..."
|
22
|
-
|
23
|
-
# revert all changes
|
24
|
-
svn revert --depth=infinity "./"
|
25
|
-
|
26
|
-
# revert all changes in external directories
|
27
|
-
for i in $(svn status | grep ^Performing | cut -d\' -f 2)
|
28
|
-
do
|
29
|
-
svn revert -R $i
|
30
|
-
done
|
31
|
-
|
32
|
-
# wipe out unversioned files
|
33
|
-
perl "${currentScriptDir}/svn-clean.pl" "./"
|
34
|
-
|
35
|
-
# git
|
36
|
-
elif [[ "${SCM_TYPE}" = "git" ]]; then
|
37
|
-
echo "GIT working copy detected, cleaning..."
|
38
|
-
|
39
|
-
# revert all changes
|
40
|
-
git reset --hard
|
41
|
-
|
42
|
-
if [ ${CLEAN_ALL} -eq 1 ]; then
|
43
|
-
# wipe out unversioned files (force, remove whole directories, remove ignored files)
|
44
|
-
git clean -fdx
|
45
|
-
else
|
46
|
-
# wipe out unversioned files (force, remove whole directories)
|
47
|
-
git clean -fd
|
48
|
-
fi
|
49
|
-
|
50
|
-
# mercurial
|
51
|
-
elif [[ "${SCM_TYPE}" = "mercurial" ]]; then
|
52
|
-
echo "Mercurial working copy detected, cleaning..."
|
53
|
-
|
54
|
-
# revert all changes
|
55
|
-
hg revert --all
|
56
|
-
|
57
|
-
if [ ${CLEAN_ALL} -eq 1 ]; then
|
58
|
-
# wipe out unversioned files
|
59
|
-
hg --config extensions.purge= clean --all
|
60
|
-
else
|
61
|
-
# wipe out unversioned files (except ignored files)
|
62
|
-
hg --config extensions.purge= clean
|
63
|
-
fi
|
64
|
-
|
65
|
-
# undefined SCM
|
66
|
-
else
|
67
|
-
echo "error: script must be run from working copy" 1>&2
|
68
|
-
exit 1
|
69
|
-
fi
|
data/legacy/DeployIPA.sh
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
#!/bin/sh -e
|
2
|
-
|
3
|
-
# Created by Yaroslav on 10/21/11.
|
4
|
-
# Copyright 2011 nix. All rights reserved.
|
5
|
-
|
6
|
-
# Script uploads IPA product. Creates appropriate subdirectories.
|
7
|
-
|
8
|
-
if [[ $# < 6 ]]; then
|
9
|
-
echo "usage: $0 DEPLOY_HOST DEPLOY_DIR DEPLOY_USER DEPLOY_PASSWORD DEPLOY_ITUNESCONNECT_USER DELIVER_DEPLOY"
|
10
|
-
exit 1
|
11
|
-
fi
|
12
|
-
|
13
|
-
function zipDSYM {
|
14
|
-
if [ -d "${APP_DSYM}" ]; then
|
15
|
-
cd "${BUILT_PRODUCTS_DIR}"
|
16
|
-
zip -r "$1" "${EXECUTABLE_NAME}.app.dSYM"
|
17
|
-
cd "${currentScriptDir}"
|
18
|
-
fi
|
19
|
-
}
|
20
|
-
|
21
|
-
DEPLOY_HOST=$1
|
22
|
-
DEPLOY_DIR=$2
|
23
|
-
DEPLOY_USER=$3
|
24
|
-
DEPLOY_PASS=$4
|
25
|
-
DEPLOY_ITUNESCONNECT_USER=$5
|
26
|
-
DELIVER_DEPLOY=$6
|
27
|
-
|
28
|
-
# load variables
|
29
|
-
currentScriptDir=$(cd "$(dirname "$0")"; pwd)
|
30
|
-
source "${currentScriptDir}/LoadBuildEnvVars.sh"
|
31
|
-
|
32
|
-
checkWorkingCopyIsClean
|
33
|
-
|
34
|
-
if [[ ! -f "${IPA_PRODUCT}" ]] && [[ ! -f "${IPA_PRODUCT_RESIGNED_DEVICE}" ]] && [[ ! -f "${IPA_PRODUCT_RESIGNED_ADHOC}" ]] && [[ ! -f "${IPA_PRODUCT_RESIGNED_APPSTORE}" ]]; then
|
35
|
-
echo "error: Nothing to upload. Generate ipa first."
|
36
|
-
exit 1
|
37
|
-
fi
|
38
|
-
|
39
|
-
# ********************
|
40
|
-
# 1) resigned_appstore
|
41
|
-
# ********************
|
42
|
-
|
43
|
-
if [[ -f "${IPA_PRODUCT_RESIGNED_APPSTORE}" ]]; then
|
44
|
-
LOCAL_PATH_TO_APP="/tmp/${IPA_BUNDLE_ID_RESIGNED_APPSTORE}"
|
45
|
-
LOCAL_PATH_TO_BUILD="${LOCAL_PATH_TO_APP}/v.${CURRENT_APP_VERSION}_${CURRENT_BUILD_VERSION}"
|
46
|
-
rm -rf "${LOCAL_PATH_TO_BUILD}" | true # cleanup in case of previous releases
|
47
|
-
mkdir -p "${LOCAL_PATH_TO_BUILD}"
|
48
|
-
|
49
|
-
CONFIGURATION_FULL_PATH="${LOCAL_PATH_TO_BUILD}/${NAME_FOR_DEPLOYMENT_RESIGNED_APPSTORE}"
|
50
|
-
mkdir "${CONFIGURATION_FULL_PATH}"
|
51
|
-
cp "${IPA_PRODUCT_RESIGNED_APPSTORE}" "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.ipa"
|
52
|
-
|
53
|
-
echo "Starting deliver..."
|
54
|
-
|
55
|
-
if [ "${DEPLOY_ITUNESCONNECT_USER}" == "unknown" ]; then
|
56
|
-
echo "DEPLOY_ITUNESCONNECT_USER isn't specified, skipping deliver..."
|
57
|
-
else
|
58
|
-
if [ "${DELIVER_DEPLOY}" == 1 ]; then
|
59
|
-
pilot upload -i "${IPA_PRODUCT_RESIGNED_APPSTORE}" -u "${DEPLOY_ITUNESCONNECT_USER}"
|
60
|
-
else
|
61
|
-
pilot upload -i "${IPA_PRODUCT_RESIGNED_APPSTORE}" -u "${DEPLOY_ITUNESCONNECT_USER}" --skip_submission
|
62
|
-
fi
|
63
|
-
fi
|
64
|
-
|
65
|
-
zipDSYM "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.app.dSYM.zip"
|
66
|
-
|
67
|
-
${currentScriptDir}/Deploy.sh "${DEPLOY_HOST}" "${DEPLOY_DIR}" "${DEPLOY_USER}" "${DEPLOY_PASS}" "${LOCAL_PATH_TO_APP}"
|
68
|
-
fi
|
69
|
-
|
70
|
-
# *********
|
71
|
-
# 2) device
|
72
|
-
# *********
|
73
|
-
|
74
|
-
if [[ -f "${IPA_PRODUCT}" ]]; then
|
75
|
-
LOCAL_PATH_TO_APP="/tmp/${IPA_BUNDLE_ID}"
|
76
|
-
LOCAL_PATH_TO_BUILD="${LOCAL_PATH_TO_APP}/v.${CURRENT_APP_VERSION}_${CURRENT_BUILD_VERSION}"
|
77
|
-
rm -rf "${LOCAL_PATH_TO_BUILD}" | true # cleanup in case of previous releases
|
78
|
-
mkdir -p "${LOCAL_PATH_TO_BUILD}"
|
79
|
-
|
80
|
-
CONFIGURATION_FULL_PATH="${LOCAL_PATH_TO_BUILD}/${NAME_FOR_DEPLOYMENT}"
|
81
|
-
mkdir "${CONFIGURATION_FULL_PATH}"
|
82
|
-
cp "${IPA_PRODUCT}" "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.ipa"
|
83
|
-
|
84
|
-
zipDSYM "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.app.dSYM.zip"
|
85
|
-
|
86
|
-
${currentScriptDir}/Deploy.sh "${DEPLOY_HOST}" "${DEPLOY_DIR}" "${DEPLOY_USER}" "${DEPLOY_PASS}" "${LOCAL_PATH_TO_APP}"
|
87
|
-
fi
|
88
|
-
|
89
|
-
# ******************
|
90
|
-
# 3) resigned_device
|
91
|
-
# ******************
|
92
|
-
|
93
|
-
if [[ -f "${IPA_PRODUCT_RESIGNED_DEVICE}" ]]; then
|
94
|
-
LOCAL_PATH_TO_APP="/tmp/${IPA_BUNDLE_ID_RESIGNED_DEVICE}"
|
95
|
-
LOCAL_PATH_TO_BUILD="${LOCAL_PATH_TO_APP}/v.${CURRENT_APP_VERSION}_${CURRENT_BUILD_VERSION}"
|
96
|
-
rm -rf "${LOCAL_PATH_TO_BUILD}" | true # cleanup in case of previous releases
|
97
|
-
mkdir -p "${LOCAL_PATH_TO_BUILD}"
|
98
|
-
|
99
|
-
CONFIGURATION_FULL_PATH="${LOCAL_PATH_TO_BUILD}/${NAME_FOR_DEPLOYMENT_RESIGNED_DEVICE}"
|
100
|
-
mkdir "${CONFIGURATION_FULL_PATH}"
|
101
|
-
cp "${IPA_PRODUCT_RESIGNED_DEVICE}" "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.ipa"
|
102
|
-
|
103
|
-
zipDSYM "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.app.dSYM.zip"
|
104
|
-
|
105
|
-
${currentScriptDir}/Deploy.sh "${DEPLOY_HOST}" "${DEPLOY_DIR}" "${DEPLOY_USER}" "${DEPLOY_PASS}" "${LOCAL_PATH_TO_APP}"
|
106
|
-
fi
|
107
|
-
|
108
|
-
# *****************
|
109
|
-
# 4) resigned_adhoc
|
110
|
-
# *****************
|
111
|
-
|
112
|
-
if [[ -f "${IPA_PRODUCT_RESIGNED_ADHOC}" ]]; then
|
113
|
-
LOCAL_PATH_TO_APP="/tmp/${IPA_BUNDLE_ID_RESIGNED_ADHOC}"
|
114
|
-
LOCAL_PATH_TO_BUILD="${LOCAL_PATH_TO_APP}/v.${CURRENT_APP_VERSION}_${CURRENT_BUILD_VERSION}"
|
115
|
-
rm -rf "${LOCAL_PATH_TO_BUILD}" | true # cleanup in case of previous releases
|
116
|
-
mkdir -p "${LOCAL_PATH_TO_BUILD}"
|
117
|
-
|
118
|
-
CONFIGURATION_FULL_PATH="${LOCAL_PATH_TO_BUILD}/${NAME_FOR_DEPLOYMENT_RESIGNED_ADHOC}"
|
119
|
-
mkdir "${CONFIGURATION_FULL_PATH}"
|
120
|
-
cp "${IPA_PRODUCT_RESIGNED_ADHOC}" "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.ipa"
|
121
|
-
|
122
|
-
zipDSYM "${CONFIGURATION_FULL_PATH}/${EXECUTABLE_NAME}.app.dSYM.zip"
|
123
|
-
|
124
|
-
${currentScriptDir}/Deploy.sh "${DEPLOY_HOST}" "${DEPLOY_DIR}" "${DEPLOY_USER}" "${DEPLOY_PASS}" "${LOCAL_PATH_TO_APP}"
|
125
|
-
fi
|
data/legacy/DetectSCM.sh
DELETED
data/legacy/LoadBuildEnvVars.sh
DELETED
@@ -1,123 +0,0 @@
|
|
1
|
-
#!/bin/sh -e
|
2
|
-
|
3
|
-
# Created by Yuri Govorushchenko on 7/5/11.
|
4
|
-
# Copyright 2010 nix. All rights reserved.
|
5
|
-
|
6
|
-
# Script loads variables specified in _last_revision.sh and _last_build_vars.sh and checks that all specified files and dirs exist.
|
7
|
-
|
8
|
-
#############
|
9
|
-
|
10
|
-
function checkFileExists {
|
11
|
-
if [ ! -f "$1" ]; then
|
12
|
-
echo "error: file '$1' must exist ($2)." 1>&2
|
13
|
-
exit 1
|
14
|
-
fi
|
15
|
-
}
|
16
|
-
|
17
|
-
function checkDirExists {
|
18
|
-
if [ ! -d "$1" ]; then
|
19
|
-
echo "error: directory '$1' must exist ($2)." 1>&2
|
20
|
-
exit 1
|
21
|
-
fi
|
22
|
-
}
|
23
|
-
|
24
|
-
function checkAppOrIPAProductExists {
|
25
|
-
if [ ! -d "${APP_PRODUCT}" ]; then
|
26
|
-
if [ ! -f "${IPA_PRODUCT}" ]; then
|
27
|
-
echo "error: app product directory '${APP_PRODUCT}' or ipa file '${IPA_PRODUCT}' must exist." 1>&2
|
28
|
-
exit 1
|
29
|
-
fi
|
30
|
-
fi
|
31
|
-
}
|
32
|
-
|
33
|
-
#############
|
34
|
-
|
35
|
-
function checkWorkingCopyIsClean {
|
36
|
-
if [ ${WORKING_COPY_IS_CLEAN} -eq 1 ]; then
|
37
|
-
echo "Working copy is clean. Continuing..."
|
38
|
-
else
|
39
|
-
echo "error: working copy must not have local modifications." 1>&2
|
40
|
-
echo "You must add following files and folders to .gitignore:"
|
41
|
-
echo "$(git status --porcelain)"
|
42
|
-
exit 1
|
43
|
-
fi
|
44
|
-
}
|
45
|
-
|
46
|
-
#############
|
47
|
-
|
48
|
-
# set some default values to vars to catch errors quickly:
|
49
|
-
REVISION="unknown_revision"
|
50
|
-
PROJECT="unknown_project"
|
51
|
-
BUILT_PRODUCTS_DIR="unknown_build_prodcuts_dir"
|
52
|
-
OBJECTS_NORMAL_DIR="unknown_objects_normal_dir"
|
53
|
-
EXECUTABLE_NAME="unknown_executable_name"
|
54
|
-
APP_PRODUCT="unknown_app_product"
|
55
|
-
IPA_PRODUCT="unknown_ipa_product"
|
56
|
-
APP_DSYM="unknown_app_dsym"
|
57
|
-
APP_INFOPLIST_FILE="unknown_app_infoplist_file"
|
58
|
-
EMBEDDED_PROFILE="unknown_embedded_profile"
|
59
|
-
TARGET_NAME="unknown_target_name"
|
60
|
-
CONFIGURATION="unknown_configuration"
|
61
|
-
SDK_NAME="unknown_sdk_name"
|
62
|
-
IPA_BUNDLE_ID="unknwon_ipa_bundle_id"
|
63
|
-
RESIGNED_BUNDLE_ID="unknown_resigned_bundle_id"
|
64
|
-
RESIGNED_BUNDLE_NAME="unknown_resigned_bundle_name"
|
65
|
-
RESIGNED_ENTITLEMENTS_PATH="unknown_resigned_entitlements_path"
|
66
|
-
NAME_FOR_DEPLOYMENT="unknown_name_for_deployment"
|
67
|
-
|
68
|
-
# these files should be already generated
|
69
|
-
LAST_REVISION_FILE="_last_revision.sh"
|
70
|
-
LAST_BUILD_VARS_FILE="_last_build_vars.sh"
|
71
|
-
|
72
|
-
checkFileExists ${LAST_REVISION_FILE}
|
73
|
-
checkFileExists ${LAST_BUILD_VARS_FILE}
|
74
|
-
|
75
|
-
source ${LAST_REVISION_FILE}
|
76
|
-
source ${LAST_BUILD_VARS_FILE}
|
77
|
-
|
78
|
-
echo "REVISION = ${REVISION}"
|
79
|
-
echo "MONOTONIC_REVISION = ${MONOTONIC_REVISION}"
|
80
|
-
echo "PROJECT = ${PROJECT}"
|
81
|
-
echo "BUILT_PRODUCTS_DIR = ${BUILT_PRODUCTS_DIR}"
|
82
|
-
echo "OBJECTS_NORMAL_DIR = ${OBJECTS_NORMAL_DIR}"
|
83
|
-
echo "EXECUTABLE_NAME = ${EXECUTABLE_NAME}"
|
84
|
-
echo "APP_PRODUCT = ${APP_PRODUCT}"
|
85
|
-
echo "WATCHKIT_APP_RELATIVE_PRODUCT = ${WATCHKIT_APP_RELATIVE_PRODUCT}"
|
86
|
-
echo "WATCHKIT_EXTENSION_RELATIVE_PRODUCT = ${WATCHKIT_EXTENSION_RELATIVE_PRODUCT}"
|
87
|
-
echo "WIDGET_RELATIVE_PRODUCT = ${WIDGET_RELATIVE_PRODUCT}"
|
88
|
-
echo "IPA_PRODUCT = ${IPA_PRODUCT}"
|
89
|
-
echo "APP_DSYM = ${APP_DSYM}"
|
90
|
-
echo "APP_INFOPLIST_FILE = ${APP_INFOPLIST_FILE}"
|
91
|
-
echo "EMBEDDED_PROFILE = ${EMBEDDED_PROFILE}"
|
92
|
-
echo "TARGET_NAME = ${TARGET_NAME}"
|
93
|
-
echo "CONFIGURATION = ${CONFIGURATION}"
|
94
|
-
echo "SDK_NAME = ${SDK_NAME}"
|
95
|
-
echo "IPA_BUNDLE_ID = ${IPA_BUNDLE_ID}"
|
96
|
-
echo "RESIGNED_BUNDLE_ID = ${RESIGNED_BUNDLE_ID}"
|
97
|
-
echo "RESIGNED_WATCHKIT_APP_BUNDLE_ID = ${RESIGNED_WATCHKIT_APP_BUNDLE_ID}"
|
98
|
-
echo "RESIGNED_WATCHKIT_EXTENSION_BUNDLE_ID = ${RESIGNED_WATCHKIT_EXTENSION_BUNDLE_ID}"
|
99
|
-
echo "RESIGNED_WIDGET_BUNDLE_ID = ${RESIGNED_WIDGET_BUNDLE_ID}"
|
100
|
-
echo "RESIGNED_BUNDLE_NAME = ${RESIGNED_BUNDLE_NAME}"
|
101
|
-
echo "RESIGNED_ENTITLEMENTS_PATH = ${RESIGNED_ENTITLEMENTS_PATH}"
|
102
|
-
echo "RESIGNED_WATCHKIT_EXTENSION_ENTITLEMENTS_PATH = ${RESIGNED_WATCHKIT_EXTENSION_ENTITLEMENTS_PATH}"
|
103
|
-
echo "RESIGNED_WIDGET_ENTITLEMENTS_PATH = ${RESIGNED_WIDGET_ENTITLEMENTS_PATH}"
|
104
|
-
echo "NAME_FOR_DEPLOYMENT = ${NAME_FOR_DEPLOYMENT}"
|
105
|
-
|
106
|
-
checkDirExists "${BUILT_PRODUCTS_DIR}" "build products dir"
|
107
|
-
checkAppOrIPAProductExists
|
108
|
-
checkFileExists "${APP_INFOPLIST_FILE}" "app info plist"
|
109
|
-
|
110
|
-
if [ -f "${EMBEDDED_PROFILE}" ]; then
|
111
|
-
# get name of embedded provisioning profile; see http://stackoverflow.com/questions/2327257/name-of-provisioning-profile-used-to-sign-an-iphone-app
|
112
|
-
EMBEDDED_PROFILE_NAME=$(security cms -D -i "${EMBEDDED_PROFILE}" > /tmp/tmp.plist && /usr/libexec/PlistBuddy -c 'Print :Name' /tmp/tmp.plist)
|
113
|
-
else
|
114
|
-
EMBEDDED_PROFILE_NAME="SIMULATOR"
|
115
|
-
fi
|
116
|
-
|
117
|
-
echo "EMBEDDED_PROFILE_NAME = ${EMBEDDED_PROFILE_NAME}"
|
118
|
-
|
119
|
-
CURRENT_APP_VERSION="`/usr/libexec/PlistBuddy -c 'Print CFBundleShortVersionString' "${APP_INFOPLIST_FILE}"`"
|
120
|
-
CURRENT_BUILD_VERSION=${MONOTONIC_REVISION}
|
121
|
-
|
122
|
-
echo "CURRENT_APP_VERSION = ${CURRENT_APP_VERSION}"
|
123
|
-
echo "CURRENT_BUILD_VERSION = ${CURRENT_BUILD_VERSION}"
|
data/legacy/MakeTag.sh
DELETED
@@ -1,94 +0,0 @@
|
|
1
|
-
#!/bin/sh -e
|
2
|
-
|
3
|
-
# Created by Yuri Govorushchenko on 11/15/10.
|
4
|
-
# Copyright 2010 nix. All rights reserved.
|
5
|
-
|
6
|
-
# Script creates SVN/git tag
|
7
|
-
# Note that the SVN source code snapshot will be taken from the repository, not the working copy
|
8
|
-
|
9
|
-
if [[ $# < 2 ]]; then
|
10
|
-
echo "usage: $0 USERNAME PASSWORD (specify empty username and password in order to indicate that script must use default credentials)"
|
11
|
-
exit 1
|
12
|
-
fi
|
13
|
-
|
14
|
-
# load variables
|
15
|
-
username=$1
|
16
|
-
password=$2
|
17
|
-
|
18
|
-
USE_DEFAULT_CREDENTIALS=0
|
19
|
-
if [ "${username}" == "" -a "${password}" == "" ]; then
|
20
|
-
echo "--- Username and password are not specified, using default SCM credentials"
|
21
|
-
USE_DEFAULT_CREDENTIALS=1
|
22
|
-
fi
|
23
|
-
|
24
|
-
currentScriptDir=$(cd "$(dirname "$0")"; pwd)
|
25
|
-
source "${currentScriptDir}/LoadBuildEnvVars.sh"
|
26
|
-
|
27
|
-
# make sure developer tags the same source snapshot as in the working copy
|
28
|
-
checkWorkingCopyIsClean
|
29
|
-
|
30
|
-
TAG_NAME="${PROJECT}-${CURRENT_APP_VERSION}b${CURRENT_BUILD_VERSION}"
|
31
|
-
|
32
|
-
SCM_TYPE=$("${currentScriptDir}/DetectSCM.sh")
|
33
|
-
|
34
|
-
# Subversion
|
35
|
-
if [[ "${SCM_TYPE}" = "svn" ]]; then
|
36
|
-
SVN_URL="$(svn info | grep '^URL:' | sed -e 's/^URL: //')"
|
37
|
-
SVN_ROOT_URL="$(svn info | grep '^URL:' | sed -e 's/^URL: //' | (sed -e 's/\/branches\/.*//' | sed -e 's/\/trunk\/.*//'))"
|
38
|
-
TAG_DIR="${SVN_ROOT_URL}/tags/${TAG_NAME}"
|
39
|
-
|
40
|
-
echo "--- Check if tag exists at '${TAG_DIR}'"
|
41
|
-
|
42
|
-
if [ ${USE_DEFAULT_CREDENTIALS} == 0 ]; then
|
43
|
-
TAG_CONTENTS=$(svn list "${TAG_DIR}" --username="${username}" --password="${password}" 2>/dev/null || true)
|
44
|
-
else
|
45
|
-
TAG_CONTENTS=$(svn list "${TAG_DIR}" 2>/dev/null || true)
|
46
|
-
fi
|
47
|
-
|
48
|
-
if [ "${TAG_CONTENTS}" == "" ]; then
|
49
|
-
echo "--- Make tag at '${TAG_DIR}'"
|
50
|
-
|
51
|
-
if [ ${USE_DEFAULT_CREDENTIALS} == 0 ]; then
|
52
|
-
perl "${currentScriptDir}/svncopy.pl" --revision "${REVISION}" --tag --verbose "${SVN_URL}" "${TAG_DIR}" --username="${username}" --password="${password}"
|
53
|
-
else
|
54
|
-
perl "${currentScriptDir}/svncopy.pl" --revision "${REVISION}" --tag --verbose "${SVN_URL}" "${TAG_DIR}"
|
55
|
-
fi
|
56
|
-
|
57
|
-
echo "--- Tag from branch '${SVN_URL}' was created at '${TAG_DIR}'"
|
58
|
-
else
|
59
|
-
echo "--- Tag from branch '${SVN_URL}' already exists at '${TAG_DIR}'"
|
60
|
-
fi
|
61
|
-
|
62
|
-
# git
|
63
|
-
elif [[ "${SCM_TYPE}" = "git" ]]; then
|
64
|
-
GIT_ORIGINAL_REMOTE_URL="$(git remote -v | head -n1 | sed 's/.*http/http/; s/ .*//')"
|
65
|
-
GIT_ROOT_URL="$(echo $GIT_ORIGINAL_REMOTE_URL | sed 's/.*\/\///; s/ .*//')"
|
66
|
-
|
67
|
-
if [ ${USE_DEFAULT_CREDENTIALS} == 0 ]; then
|
68
|
-
# set remote url credentials
|
69
|
-
git config remote.origin.url https://${username}:${password}@${GIT_ROOT_URL}
|
70
|
-
|
71
|
-
# original username and password must be restored
|
72
|
-
trap 'git config remote.origin.url "${GIT_ORIGINAL_REMOTE_URL}"' EXIT
|
73
|
-
fi
|
74
|
-
|
75
|
-
BRANCH_NAME="$(git rev-parse --abbrev-ref HEAD)"
|
76
|
-
PROJECT_TAGS="$(git ls-remote --tags)"
|
77
|
-
|
78
|
-
if [[ "${PROJECT_TAGS}" != *"${TAG_NAME}"* ]]; then
|
79
|
-
git tag -a ${TAG_NAME} "${REVISION}" -m 'create tag ${TAG_NAME}'
|
80
|
-
git push --tags
|
81
|
-
|
82
|
-
echo "--- Tag '${TAG_NAME}' from branch '${BRANCH_NAME}' with revision '${REVISION}' was created"
|
83
|
-
else
|
84
|
-
echo "--- Tag '${TAG_NAME}' from branch '${BRANCH_NAME}' with revision '${REVISION}' already exists"
|
85
|
-
fi
|
86
|
-
|
87
|
-
# mercurial
|
88
|
-
elif [[ "${SCM_TYPE}" = "mercurial" ]]; then
|
89
|
-
echo "make tag doesn't work for mercurial"
|
90
|
-
|
91
|
-
else
|
92
|
-
echo "error: tag was not created, because script must be run from a working copy" 1>&2
|
93
|
-
exit 1
|
94
|
-
fi
|