You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by sh...@apache.org on 2016/10/04 22:54:23 UTC
[1/4] ios commit: CB-11860 - Add post-archive step to unpack the .ipa
Repository: cordova-ios
Updated Branches:
refs/heads/master c6587cffe -> c609c35c0
CB-11860 - Add post-archive step to unpack the .ipa
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/70612218
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/70612218
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/70612218
Branch: refs/heads/master
Commit: 7061221863d409110190f38353457c4314df7e9b
Parents: 861cac8
Author: Shazron Abdullah <sh...@apache.org>
Authored: Fri Sep 30 13:02:37 2016 -0700
Committer: Darryl Pogue <da...@ayogo.com>
Committed: Fri Sep 30 17:33:16 2016 -0700
----------------------------------------------------------------------
bin/templates/scripts/cordova/lib/build.js | 28 ++++++++++++++++++++++++-
1 file changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/70612218/bin/templates/scripts/cordova/lib/build.js
----------------------------------------------------------------------
diff --git a/bin/templates/scripts/cordova/lib/build.js b/bin/templates/scripts/cordova/lib/build.js
index ee03891..e173235 100644
--- a/bin/templates/scripts/cordova/lib/build.js
+++ b/bin/templates/scripts/cordova/lib/build.js
@@ -116,8 +116,34 @@ module.exports.run = function (buildOpts) {
return spawn('xcodebuild', xcodearchiveArgs, projectPath);
}
+ function unpackIPA() {
+ var ipafile = path.join(buildOutputDir, projectName + '.ipa');
+
+ // unpack the existing platform/ios/build/device/appname.ipa (zipfile), will create a Payload folder
+ return spawn('unzip', [ '-o', '-qq', ipafile ], buildOutputDir);
+ }
+
+ function moveApp() {
+ var appFileInflated = path.join(buildOutputDir, 'Payload', projectName + '.app');
+ var appFile = path.join(buildOutputDir, projectName + '.app');
+ var payloadFolder = path.join(buildOutputDir, 'Payload');
+
+ // delete the existing platform/ios/build/device/appname.app
+ return spawn('rm', [ '-rf', appFile ], buildOutputDir)
+ .then(function() {
+ // move the platform/ios/build/device/Payload/appname.app to parent
+ return spawn('mv', [ '-f', appFileInflated, buildOutputDir ], buildOutputDir);
+ })
+ .then(function() {
+ // delete the platform/ios/build/device/Payload folder
+ return spawn('rm', [ '-rf', payloadFolder ], buildOutputDir);
+ });
+ }
+
return Q.nfcall(fs.writeFile, exportOptionsPath, exportOptionsPlist, 'utf-8')
- .then(packageArchive);
+ .then(packageArchive)
+ .then(unpackIPA)
+ .then(moveApp);
});
};
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org
[2/4] ios commit: CB-11860 - Fix ios-sim tests on Xcode 8
Posted by sh...@apache.org.
CB-11860 - Fix ios-sim tests on Xcode 8
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/861cac84
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/861cac84
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/861cac84
Branch: refs/heads/master
Commit: 861cac84f5d1e3d04d7dd587610a8d5a7e0d4e76
Parents: 249db30
Author: Darryl Pogue <da...@ayogo.com>
Authored: Fri Sep 16 16:15:13 2016 -0700
Committer: Darryl Pogue <da...@ayogo.com>
Committed: Fri Sep 30 17:33:16 2016 -0700
----------------------------------------------------------------------
.../CordovaLibTests.xcodeproj/project.pbxproj | 14 --------------
1 file changed, 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/861cac84/tests/CordovaLibTests/CordovaLibTests.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --git a/tests/CordovaLibTests/CordovaLibTests.xcodeproj/project.pbxproj b/tests/CordovaLibTests/CordovaLibTests.xcodeproj/project.pbxproj
index dcc6d7f..319b682 100644
--- a/tests/CordovaLibTests/CordovaLibTests.xcodeproj/project.pbxproj
+++ b/tests/CordovaLibTests/CordovaLibTests.xcodeproj/project.pbxproj
@@ -208,7 +208,6 @@
686357A4141002F100DF4CF2 /* Sources */,
686357A5141002F100DF4CF2 /* Frameworks */,
686357A6141002F100DF4CF2 /* Resources */,
- 686357A7141002F100DF4CF2 /* ShellScript */,
);
buildRules = (
);
@@ -290,19 +289,6 @@
shellScript = "cp ../../CordovaLib/cordova.js \"$BUILT_PRODUCTS_DIR/$FULL_PRODUCT_NAME/www/cordova.js\"";
showEnvVarsInLog = 0;
};
- 686357A7141002F100DF4CF2 /* ShellScript */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "# Run the unit tests in this test bundle.\n\"${SYSTEM_DEVELOPER_DIR}/Tools/RunUnitTests\"\n";
- };
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org
[4/4] ios commit: CB-11860 - Remove build/device folder before
building
Posted by sh...@apache.org.
CB-11860 - Remove build/device folder before building
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/c609c35c
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/c609c35c
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/c609c35c
Branch: refs/heads/master
Commit: c609c35c03629dc38cde960b1ae957553008f712
Parents: 7061221
Author: Shazron Abdullah <sh...@apache.org>
Authored: Mon Oct 3 19:07:12 2016 -0700
Committer: Darryl Pogue <da...@ayogo.com>
Committed: Tue Oct 4 10:19:36 2016 -0700
----------------------------------------------------------------------
bin/templates/scripts/cordova/lib/build.js | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/c609c35c/bin/templates/scripts/cordova/lib/build.js
----------------------------------------------------------------------
diff --git a/bin/templates/scripts/cordova/lib/build.js b/bin/templates/scripts/cordova/lib/build.js
index e173235..cfe017e 100644
--- a/bin/templates/scripts/cordova/lib/build.js
+++ b/bin/templates/scripts/cordova/lib/build.js
@@ -89,8 +89,15 @@ module.exports.run = function (buildOpts) {
events.emit('log','\tConfiguration: ' + configuration);
events.emit('log','\tPlatform: ' + (buildOpts.device ? 'device' : 'emulator'));
- var xcodebuildArgs = getXcodeBuildArgs(projectName, projectPath, configuration, buildOpts.device);
- return spawn('xcodebuild', xcodebuildArgs, projectPath);
+ var buildOutputDir = path.join(projectPath, 'build', 'device');
+
+ // remove the build/device folder before building
+ return spawn('rm', [ '-rf', buildOutputDir ], projectPath)
+ .then(function() {
+ var xcodebuildArgs = getXcodeBuildArgs(projectName, projectPath, configuration, buildOpts.device);
+ return spawn('xcodebuild', xcodebuildArgs, projectPath);
+ });
+
}).then(function () {
if (!buildOpts.device || buildOpts.noSign) {
return;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org
[3/4] ios commit: CB-11860 - Update packaging strategy for Xcode 8
Posted by sh...@apache.org.
CB-11860 - Update packaging strategy for Xcode 8
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/249db303
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/249db303
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/249db303
Branch: refs/heads/master
Commit: 249db303e258237479cd16b94c1349f2be65978b
Parents: c6587cf
Author: Darryl Pogue <da...@ayogo.com>
Authored: Thu Sep 15 16:58:21 2016 -0700
Committer: Darryl Pogue <da...@ayogo.com>
Committed: Fri Sep 30 17:33:16 2016 -0700
----------------------------------------------------------------------
bin/templates/scripts/cordova/build | 1 +
bin/templates/scripts/cordova/lib/build.js | 63 ++++++++++++++++++-------
2 files changed, 48 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/249db303/bin/templates/scripts/cordova/build
----------------------------------------------------------------------
diff --git a/bin/templates/scripts/cordova/build b/bin/templates/scripts/cordova/build
index f5b7935..133fd94 100755
--- a/bin/templates/scripts/cordova/build
+++ b/bin/templates/scripts/cordova/build
@@ -43,6 +43,7 @@ var buildOpts = nopt({
'codeSignResourceRules': String,
'provisioningProfile': String,
'developmentTeam': String,
+ 'packageType': String,
'buildConfig' : String,
'noSign' : Boolean
}, { '-r': '--release', 'd' : '--verbose' }, args);
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/249db303/bin/templates/scripts/cordova/lib/build.js
----------------------------------------------------------------------
diff --git a/bin/templates/scripts/cordova/lib/build.js b/bin/templates/scripts/cordova/lib/build.js
index a0d7668..ee03891 100644
--- a/bin/templates/scripts/cordova/lib/build.js
+++ b/bin/templates/scripts/cordova/lib/build.js
@@ -24,7 +24,8 @@ var Q = require('q'),
shell = require('shelljs'),
spawn = require('./spawn'),
check_reqs = require('./check_reqs'),
- fs = require('fs');
+ fs = require('fs'),
+ plist = require('plist');
var events = require('cordova-common').events;
@@ -54,7 +55,7 @@ module.exports.run = function (buildOpts) {
var buildType = buildOpts.release ? 'release' : 'debug';
var config = buildConfig.ios[buildType];
if(config) {
- ['codeSignIdentity', 'codeSignResourceRules', 'provisioningProfile', 'developmentTeam'].forEach(
+ ['codeSignIdentity', 'codeSignResourceRules', 'provisioningProfile', 'developmentTeam', 'packageType'].forEach(
function(key) {
buildOpts[key] = buildOpts[key] || config[key];
});
@@ -88,25 +89,35 @@ module.exports.run = function (buildOpts) {
events.emit('log','\tConfiguration: ' + configuration);
events.emit('log','\tPlatform: ' + (buildOpts.device ? 'device' : 'emulator'));
- var xcodebuildArgs = getXcodeArgs(projectName, projectPath, configuration, buildOpts.device);
+ var xcodebuildArgs = getXcodeBuildArgs(projectName, projectPath, configuration, buildOpts.device);
return spawn('xcodebuild', xcodebuildArgs, projectPath);
}).then(function () {
if (!buildOpts.device || buildOpts.noSign) {
return;
}
- var buildOutputDir = path.join(projectPath, 'build', 'device');
- var pathToApp = path.join(buildOutputDir, projectName + '.app');
- var pathToIpa = path.join(buildOutputDir, projectName + '.ipa');
- var xcRunArgs = ['-sdk', 'iphoneos', 'PackageApplication',
- pathToApp,
- '-o', pathToIpa];
- if (buildOpts.codeSignIdentity) {
- xcRunArgs.concat('--sign', buildOpts.codeSignIdentity);
+
+ var exportOptions = {'compileBitcode': false, 'method': 'development'};
+
+ if (buildOpts.packageType) {
+ exportOptions.method = buildOpts.packageType;
}
- if (buildOpts.provisioningProfile) {
- xcRunArgs.concat('--embed', buildOpts.provisioningProfile);
+
+ if (buildOpts.developmentTeam) {
+ exportOptions.teamID = buildOpts.developmentTeam;
}
- return spawn('xcrun', xcRunArgs, projectPath);
+
+ var exportOptionsPlist = plist.build(exportOptions);
+ var exportOptionsPath = path.join(projectPath, 'exportOptions.plist');
+
+ var buildOutputDir = path.join(projectPath, 'build', 'device');
+
+ function packageArchive() {
+ var xcodearchiveArgs = getXcodeArchiveArgs(projectName, projectPath, buildOutputDir, exportOptionsPath);
+ return spawn('xcodebuild', xcodearchiveArgs, projectPath);
+ }
+
+ return Q.nfcall(fs.writeFile, exportOptionsPath, exportOptionsPlist, 'utf-8')
+ .then(packageArchive);
});
};
@@ -143,7 +154,7 @@ module.exports.findXCodeProjectIn = findXCodeProjectIn;
* @param {Boolean} isDevice Flag that specify target for package (device/emulator)
* @return {Array} Array of arguments that could be passed directly to spawn method
*/
-function getXcodeArgs(projectName, projectPath, configuration, isDevice) {
+function getXcodeBuildArgs(projectName, projectPath, configuration, isDevice) {
var xcodebuildArgs;
if (isDevice) {
xcodebuildArgs = [
@@ -152,7 +163,8 @@ function getXcodeArgs(projectName, projectPath, configuration, isDevice) {
'-scheme', projectName,
'-configuration', configuration,
'-destination', 'generic/platform=iOS',
- 'build',
+ '-archivePath', projectName + '.xcarchive',
+ 'archive',
'CONFIGURATION_BUILD_DIR=' + path.join(projectPath, 'build', 'device'),
'SHARED_PRECOMPS_DIR=' + path.join(projectPath, 'build', 'sharedpch')
];
@@ -172,6 +184,25 @@ function getXcodeArgs(projectName, projectPath, configuration, isDevice) {
return xcodebuildArgs;
}
+
+/**
+ * Returns array of arguments for xcodebuild
+ * @param {String} projectName Name of xcode project
+ * @param {String} projectPath Path to project file. Will be used to set CWD for xcodebuild
+ * @param {String} outputPath Output directory to contain the IPA
+ * @param {String} exportOptionsPath Path to the exportOptions.plist file
+ * @return {Array} Array of arguments that could be passed directly to spawn method
+ */
+function getXcodeArchiveArgs(projectName, projectPath, outputPath, exportOptionsPath) {
+ return [
+ '-exportArchive',
+ '-archivePath', projectName + '.xcarchive',
+ '-exportOptionsPlist', exportOptionsPath,
+ '-exportPath', outputPath
+ ];
+}
+
+
// help/usage function
module.exports.help = function help() {
console.log('');
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org