You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by dr...@apache.org on 2014/01/10 20:49:05 UTC

git commit: CB-5761 ios specific changes for couchdb url

Updated Branches:
  refs/heads/master 8064d2ae8 -> 6e2b04fe5


CB-5761 ios specific changes for couchdb url


Project: http://git-wip-us.apache.org/repos/asf/cordova-medic/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-medic/commit/6e2b04fe
Tree: http://git-wip-us.apache.org/repos/asf/cordova-medic/tree/6e2b04fe
Diff: http://git-wip-us.apache.org/repos/asf/cordova-medic/diff/6e2b04fe

Branch: refs/heads/master
Commit: 6e2b04fe5c9a52e467d2bcf915b8882b7c409c8b
Parents: 8064d2a
Author: David Kemp <dr...@chromium.org>
Authored: Fri Jan 10 14:47:54 2014 -0500
Committer: David Kemp <dr...@chromium.org>
Committed: Fri Jan 10 14:47:54 2014 -0500

----------------------------------------------------------------------
 build_ios.js            |  2 +-
 src/build/makers/ios.js | 94 +++++++++++++++++++-------------------------
 2 files changed, 42 insertions(+), 54 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cordova-medic/blob/6e2b04fe/build_ios.js
----------------------------------------------------------------------
diff --git a/build_ios.js b/build_ios.js
index 5b602f7..ecf0a90 100644
--- a/build_ios.js
+++ b/build_ios.js
@@ -22,7 +22,7 @@ buildinfo('ios', BRANCH, function (error, sha ) {
     if(error) {
                TEST_OK=false;
     } else {
-       ios(output_location, library_location,TOOL_DIR, sha,'', config.app.entry, config.couchdb.host, function(err){
+       ios(output_location, library_location,TOOL_DIR, sha,'', config.app.entry, config.couchdb, function(err){
            if(err) {
                console.log('iOS test prepare failed')
                TEST_OK=false;

http://git-wip-us.apache.org/repos/asf/cordova-medic/blob/6e2b04fe/src/build/makers/ios.js
----------------------------------------------------------------------
diff --git a/src/build/makers/ios.js b/src/build/makers/ios.js
index 90f24d1..f813a6f 100644
--- a/src/build/makers/ios.js
+++ b/src/build/makers/ios.js
@@ -11,12 +11,12 @@ var keychain_location = config.ios.keychainLocation;
 var keychain_password = config.ios.keychainPassword;
 
 
-module.exports = function(output,lib_location,test_dir, sha, devices, entry_point, couchdb_host, callback) {
+module.exports = function(output,lib_location,test_dir, sha, devices, entry_point, couchdb_cfg, callback) {
     function log(msg) {
         console.log('[IOS] ' + msg + ' (sha: ' + sha + ')');
     }
     if (keychain_location.length === 0 || keychain_password.length === 0) {
-        log('No keychain information. Fill that shit out in config.json if you want to build for iOS.');
+        log('No keychain information. Fill that out in config.json if you want to build for iOS.');
         callback(true);
         return;
     } else {
@@ -29,61 +29,49 @@ module.exports = function(output,lib_location,test_dir, sha, devices, entry_poin
             callback(true);
         } else {
           log('starting iOS prepare');
-          var mspec_out = path.join(output, 'www');
-          log('Modifying Cordova Mobilespec application at:'+mspec_out);
-          mspec(mspec_out,sha,devices,entry_point, function(err){
-              if(err) {
-                  error_writer('ios', sha, 'Error  modifying mobile spec application.', '');
-                  callback(true);
-              } else {
-                    try {
-                        var projectWww = path.join(output, 'www');
-                        // drop the iOS library SHA into the junit reporter
-                        // only applies to projects that use it
-                        var tempJasmine = path.join(projectWww, 'jasmine-jsreporter.js');
-                        if (fs.existsSync(tempJasmine)) {
-                            fs.writeFileSync(tempJasmine, "var library_sha = '" + sha + "';\n" + fs.readFileSync(tempJasmine, 'utf-8'), 'utf-8');
-                        }
+          try {
+            var projectWww = path.join(output, 'www');
+            // add the medic configuration (sha,host) to destination folder
+            var medic_config='{"sha":"'+sha+'","couchdb":"'+couchdb_cfg.host+'","couchdbext":"'+couchdb_cfg.exthost+'"}';
+            fs.writeFileSync(path.join(output, 'www','autotest','pages', 'medic.json'),medic_config,'utf-8');
 
-                        //  modify config.xml
-                        var configFile = path.join(output, 'mobilespec', 'config.xml');
-                        fs.writeFileSync(configFile, fs.readFileSync(configFile, 'utf-8').replace(/<content\s*src=".*"/gi, '<content src="'+entry_point+'"'), 'utf-8');
-                        // make sure the couch db server is whitelisted
-                        fs.writeFileSync(configFile, fs.readFileSync(configFile, 'utf-8').replace(/<access origin="http:..audio.ibeat.org" *.>/gi,'<access origin="http://audio.ibeat.org" /><access origin="'+couchdb_host+'" />', 'utf-8'));
+            //  modify config.xml
+            var configFile = path.join(output, 'mobilespec', 'config.xml');
+            fs.writeFileSync(configFile, fs.readFileSync(configFile, 'utf-8').replace(/<content\s*src=".*"/gi, '<content src="'+entry_point+'"'), 'utf-8');
+            // make sure the couch db server is whitelisted
+            fs.writeFileSync(configFile, fs.readFileSync(configFile, 'utf-8').replace(/<access origin="http:..audio.ibeat.org" *.>/gi,'<access origin="http://audio.ibeat.org" /><access origin="'+couchdb_cfg.host+'" />', 'utf-8'));
 
-                        // modify configuration to Release mode, i386 to armv7 and sdk to iphoneos6.0 so we can use it with fruitstrap
-                        // TODO: expose which target sdk to build for
-                        var debugScript = path.join(output, 'cordova', 'build');
-                        // note that the following has to work for 3.0.0 and later and it change just AFTER 3.0.x release
-                        fs.writeFileSync(debugScript, fs.readFileSync(debugScript, 'utf-8').replace(/PROJECT_PATH\/build"/, 'PROJECT_PATH/build/device"').replace(/i386/g,'armv7').replace(/iphonesimulator/, 'iphoneos').replace(/SDK=`.*`/, 'SDK="iphoneos"'), 'utf-8');
-                    } catch(e) {
-                        error_writer('ios', sha, 'Exception thrown modifying mobile spec application for iOS.', e.message);
-                        callback(true);
-                        return;
-                    }
-                    // compile
-                    log('Compiling.');
-                        
-                    var debug = 'cd ' + output + ' && ./cordova/build --release';
-                    var compile = shell.exec(debug, {silent:true});
-                    if (compile.code > 0) {
+            // modify configuration to Release mode, i386 to armv7 and sdk to iphoneos6.0 so we can use it with fruitstrap
+            // TODO: expose which target sdk to build for
+            var debugScript = path.join(output, 'cordova', 'build');
+            // note that the following has to work for 3.0.0 and later and it change just AFTER 3.0.x release
+            fs.writeFileSync(debugScript, fs.readFileSync(debugScript, 'utf-8').replace(/PROJECT_PATH\/build"/, 'PROJECT_PATH/build/device"').replace(/i386/g,'armv7').replace(/iphonesimulator/, 'iphoneos').replace(/SDK=`.*`/, 'SDK="iphoneos"'), 'utf-8');
+          } catch(e) {
+            error_writer('ios', sha, 'Exception thrown modifying mobile spec application for iOS.', e.message);
+            callback(true);
+            return;
+          }
+          // compile
+          log('Compiling.');
+
+          var debug = 'cd ' + output + ' && ./cordova/build --release';
+          var compile = shell.exec(debug, {silent:true});
+          if (compile.code > 0) {
                             error_writer('ios', sha, 'Compilation error.', compile.output);
                             callback(true);
-                    } else {
-                            // get list of connected devices
-                            scan(test_dir, function(err, devices) {
-                                if (err) {
-                                    error_writer('ios', sha, devices, 'No further details dude.');
-                                    callback(true);
-                                } else {
-                                    var bundle = path.join(output, 'build', 'device', 'mobilespec.app'),
-                                        bundleId = 'org.apache.mobilespec';
-                                    deploy(sha, devices, bundle, bundleId, callback);
-                                }
-                            });
-                    }
-               }
-           });
+          } else {
+             // get list of connected devices
+             scan(test_dir, function(err, devices) {
+                if (err) {
+                   error_writer('ios', sha, devices, 'No further details dude.');
+                   callback(true);
+                } else {
+                   var bundle = path.join(output, 'build', 'device', 'mobilespec.app'),
+                   bundleId = 'org.apache.mobilespec';
+                   deploy(sha, devices, bundle, bundleId, callback);
+                }
+            });
+          }
         }
     }
 }