You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cordova.apache.org by "Jay Proulx (JIRA)" <ji...@apache.org> on 2014/06/17 21:27:04 UTC
[jira] [Commented] (CB-6705) platform add requires platforms and
plugins dirs to exist
[ https://issues.apache.org/jira/browse/CB-6705?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14034244#comment-14034244 ]
Jay Proulx commented on CB-6705:
--------------------------------
This has been fixed with 3.5.0, this can be closed.
> platform add requires platforms and plugins dirs to exist
> ---------------------------------------------------------
>
> Key: CB-6705
> URL: https://issues.apache.org/jira/browse/CB-6705
> Project: Apache Cordova
> Issue Type: Bug
> Components: CLI
> Affects Versions: 3.4.0
> Environment: Ubuntu 12
> Reporter: Sebastien Lorber
> Assignee: Jesse MacFadyen
> Priority: Trivial
> Original Estimate: 2h
> Remaining Estimate: 2h
>
> {code}
> sebastien@sebastien-xps:stample-Phonegap (master *+)$ cordova platform add android
> Creating android project...
> Creating Cordova project for the Android platform:
> Path: platforms/android
> Package: co.stample
> Name: stample-phonegap
> Android target: android-19
> Copying template files...
> shell.js: internal error
> Error: ENOENT, no such file or directory 'platforms/android/assets'
> at Object.fs.mkdirSync (fs.js:642:18)
> at /home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/node_modules/shelljs/src/cp.js:173:14
> at Array.forEach (native)
> at Object._cp (/home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/node_modules/shelljs/src/cp.js:156:11)
> at Object.cp (/home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/node_modules/shelljs/src/common.js:172:23)
> at /home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/lib/create.js:166:19
> at setShellFatal (/home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/lib/create.js:45:5)
> at /home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/lib/create.js:164:9
> at _fulfilled (/home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:798:54)
> at self.promiseDispatch.done (/home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/node_modules/q/q.js:827:30)
> Error: /home/sebastien/.cordova/lib/android/cordova/3.4.0/bin/create: Command failed with exit code 1
> at ChildProcess.whenDone (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/src/superspawn.js:126:23)
> at ChildProcess.EventEmitter.emit (events.js:98:17)
> at maybeClose (child_process.js:735:16)
> at Process.ChildProcess._handle.onexit (child_process.js:802:5)
> {code}
> This seems to be caused because I choose to not version control the platforms and plugins folders.
> If I do mkdir platforms I get the following error
> {code}
> sebastien@sebastien-xps:stample-Phonegap (master *+)$ mkdir platforms
> sebastien@sebastien-xps:stample-Phonegap (master *+)$ cordova platform add android
> Creating android project...
> Creating Cordova project for the Android platform:
> Path: platforms/android
> Package: co.stample
> Name: stample-phonegap
> Android target: android-19
> Copying template files...
> Running: android update project --subprojects --path "platforms/android" --target android-19 --library "CordovaLib"
> Resolved location of library project to: /home/sebastien/Desktop/stample-Phonegap/platforms/android/CordovaLib
> Updated and renamed default.properties to project.properties
> Updated local.properties
> No project name specified, using Activity name 'stamplephonegap'.
> If you wish to change it, edit the first line of build.xml.
> Added file platforms/android/build.xml
> Added file platforms/android/proguard-project.txt
> Updated project.properties
> Updated local.properties
> No project name specified, using project folder name 'CordovaLib'.
> If you wish to change it, edit the first line of build.xml.
> Added file platforms/android/CordovaLib/build.xml
> Added file platforms/android/CordovaLib/proguard-project.txt
> Project successfully created.
> Error: ENOENT, no such file or directory '/home/sebastien/Desktop/stample-Phonegap/plugins/android.json'
> at Object.fs.openSync (fs.js:427:18)
> at Object.fs.writeFileSync (fs.js:966:15)
> at Object.save_platform_json (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/plugman/src/util/config-changes.js:435:8)
> at PlatformMunger_process [as process] (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/plugman/src/util/config-changes.js:367:13)
> at Object.exports.process (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/plugman/src/util/config-changes.js:78:12)
> at Object.handlePrepare (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/plugman/src/prepare.js:73:20)
> at /home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/src/prepare.js:101:25
> at _fulfilled (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/q/q.js:798:54)
> at self.promiseDispatch.done (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/q/q.js:827:30)
> at Promise.promise.promiseDispatch (/home/sebastien/Desktop/devhome/install/node-v0.10.24-linux-x64/lib/node_modules/cordova/node_modules/q/q.js:760:13)
> {code}
> The problem is solved by doing mkdir platforms and mkdir plugins:
> {code}
> sebastien@sebastien-xps:stample-Phonegap (master *+)$ cordova platform add android
> Creating android project...
> Creating Cordova project for the Android platform:
> Path: platforms/android
> Package: co.stample
> Name: stample-phonegap
> Android target: android-19
> Copying template files...
> Running: android update project --subprojects --path "platforms/android" --target android-19 --library "CordovaLib"
> Resolved location of library project to: /home/sebastien/Desktop/stample-Phonegap/platforms/android/CordovaLib
> Updated and renamed default.properties to project.properties
> Updated local.properties
> No project name specified, using Activity name 'stamplephonegap'.
> If you wish to change it, edit the first line of build.xml.
> Added file platforms/android/build.xml
> Added file platforms/android/proguard-project.txt
> Updated project.properties
> Updated local.properties
> No project name specified, using project folder name 'CordovaLib'.
> If you wish to change it, edit the first line of build.xml.
> Added file platforms/android/CordovaLib/build.xml
> Added file platforms/android/CordovaLib/proguard-project.txt
> Project successfully created.
> {code}
> This would be better if the CLI recreated these folders in case of unexistance, or at least having a better fail-fast error message like "the platforms folder is missing" or something
> This bothers me because I create a phonegap starter app, and it forces me to version control these 2 folders, and git does not allow version control of empty folders as far as I know so I have to put an empty file here just to avoid asking the checkouters to manually create the folders themselves
> Not a big deal though but it should be easy to fix
--
This message was sent by Atlassian JIRA
(v6.2#6252)