| #!/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. |
| */ |
| /*jslint node:true, nomen: true */ |
| |
| var generator = require('../lib/docs_generator'); |
| var yargs = require('yargs') |
| .describe('dev', 'Generate dev version of English docs') |
| .count("verbose") |
| .alias('v', 'verbose') |
| .describe('timing', 'Species level of timing measurements. If level not provided level 0 is used.') |
| .describe('verbose', 'Increase verbosity level of produced output') |
| .describe('source', 'Path to the documentation sources. Default: docs') |
| .describe('out', 'Path where documentation would be generated. Default: public') |
| .example('./bin/genjs --out public/test en', 'Generates English docs in the directory public/test') |
| .example('./bin/genjs --timing', 'Basic timing measurements') |
| .example('./bin/genjs --timing 1', 'Detailed timing measurements') |
| .usage('Usage: $0 [-v] [...options] [--dev] [lang] [version]\n' + |
| ' <lang>: Language for which generate docs. If not specified then generate for all languages.\n' + |
| ' <version>: Version for which generate docs. If not specified then generate all versions.'); |
| var argv = yargs.argv; |
| |
| if (argv.help) { |
| yargs.showHelp(); |
| process.exit(1); |
| } |
| |
| var language = null; |
| var version = null; |
| if (argv.dev) { |
| language = "en"; |
| version = "dev"; |
| } else { |
| var argumentsCount = argv._.length; |
| if (argumentsCount !== 0) { |
| if (argumentsCount === 2) { |
| language = argv._[0]; |
| version = argv._[1]; |
| } else { |
| var data = argv._[0]; |
| if (data.length === 2) { |
| language = data; |
| } else { |
| version = data; |
| } |
| } |
| } |
| } |
| |
| new generator(argv.source, argv.out).run(language, version, argv.verbose, argv.timing); |