| #!/usr/bin/env node |
| |
| /* |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| */ |
| |
| var path = require('path'); |
| var ConfigParser = require('cordova-common').ConfigParser; |
| var Api = require('../template/cordova/Api'); |
| |
| var argv = require('nopt')({ |
| 'help' : Boolean, |
| 'guid': String |
| }); |
| |
| if (argv.help || argv.argv.remain.length === 0) { |
| console.log('Usage: create PathToProject [ PackageName [ AppName [ CustomTemplate ] ] ] [--guid=<GUID string>]'); |
| console.log(' PathToProject : The path to where you wish to create the project'); |
| console.log(' PackageName : The namespace for the project (default is Cordova.Example)'); |
| console.log(' AppName : The name of the application (default is CordovaAppProj)'); |
| console.log(' CustomTemplate: The path to project template overrides'); |
| console.log(' (will be copied over default platform template files)'); |
| console.log(' --guid : The App\'s GUID (default is random generated)'); |
| console.log('examples:'); |
| console.log(' create C:\\Users\\anonymous\\Desktop\\MyProject'); |
| console.log(' create C:\\Users\\anonymous\\Desktop\\MyProject io.Cordova.Example AnApp'); |
| process.exit(1); |
| } |
| |
| var config = new ConfigParser(path.resolve(__dirname, '../template/config.xml')); |
| |
| if (argv.argv.remain[1]) config.setPackageName(argv.argv.remain[1]); |
| if (argv.argv.remain[2]) config.setName(argv.argv.remain[2]); |
| |
| var options = { |
| guid: argv.guid, |
| customTemplate: argv.argv.remain[3] |
| }; |
| |
| Api.createPlatform(argv.argv.remain[0], config, options).done(); |