1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- #!/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.
- */
-
- /*
- * create a Cordova/iOS project
- *
- * USAGE
- * ./create <path_to_new_project> <package_name> <project_name>
- *
- * EXAMPLE
- * ./create ~/Desktop/radness org.apache.cordova.radness Radness
- */
-
- var path = require('path');
- var ConfigParser = require('cordova-common').ConfigParser;
- var Api = require('./templates/scripts/cordova/Api');
-
- var argv = require('nopt')({
- 'help' : Boolean,
- 'cli' : Boolean,
- 'shared' : Boolean, // alias for --link
- 'link' : Boolean
- }, { 'd' : '--verbose' });
-
- var projectPath = argv.argv.remain[0];
-
- if (argv.help || !projectPath) {
- console.log('Usage: $0 [--link] [--cli] <path_to_new_project> <package_name> <project_name> [<project_template_dir>]');
- console.log(' --link (optional): Link directly against the shared copy of the CordovaLib instead of a copy of it.');
- console.log(' --cli (optional): Use the CLI-project template.');
- console.log(' <path_to_new_project>: Path to your new Cordova iOS project');
- console.log(' <package_name>: Package name, following reverse-domain style convention');
- console.log(' <project_name>: Project name');
- console.log(' <project_template_dir>: Path to project template (override).');
- process.exit(0);
- }
-
- // use default configuration file from project template
- var config = new ConfigParser(path.resolve(__dirname, 'templates/project/__PROJECT_NAME__/config.xml'));
-
- // apply overrides (package and project names
- if (argv.argv.remain[1]) config.setPackageName(argv.argv.remain[1]);
- if (argv.argv.remain[2]) config.setName(argv.argv.remain[2]);
-
- var options = {
- cli: argv.cli,
- link: argv.link || argv.shared,
- customTemplate: argv.argv.remain[3]
- };
-
- require('./templates/scripts/cordova/loggingHelper').adjustLoggerLevel(argv);
-
- Api.createPlatform(projectPath, config, options).done();
|