class OptionsParser
Public Class Methods
all_options()
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 223 def self.all_options [ Option.new('t', 'token=TOKEN', nil, String, I18n.t('options.token'), :token), Option.new('l', 'language=LANG', 'ruby', String, I18n.t('options.language'), :language), Option.new('f', 'framework=FRAMEWORK', '', String, I18n.t('options.framework'), :framework), Option.new('o', 'output-directory=PATH', '.', String, I18n.t('options.output_directory'), :output_directory), Option.new(nil, 'filename-pattern=PATTERN', nil, String, I18n.t('options.filename_pattern'), :filename_pattern), Option.new('c', 'config-file=PATH', nil, String, I18n.t('options.config'), :config), Option.new(nil, 'overriden-templates=PATH', '', String, I18n.t('options.overriden_templates'), :overriden_templates), Option.new(nil, 'overriden-language-configs=PATH', '', String, I18n.t('options.overriden_language_configs'), :overriden_language_configs), Option.new(nil, 'test-run-id=ID', '', String, I18n.t('options.test_run_id'), :test_run_id), Option.new(nil, 'test-run-name=NAME', '', String, I18n.t('options.test_run_name'), :test_run_name), Option.new(nil, 'only=CATEGORIES', nil, String, I18n.t('options.only'), :only), Option.new(nil, 'without=CATEGORIES', nil, String, I18n.t('options.without'), :without), Option.new('x', 'xml-file=PROJECT_XML', nil, String, I18n.t('options.xml_file'), :xml_file), Option.new(nil, 'cache-dir=PATH', self.default_cache_directory, String, I18n.t('options.cache_dir'), :cache_dir), Option.new(nil, 'cache-duration=DURATION', 60, Integer, I18n.t('options.cache_duration'), :cache_duration), Option.new(nil, 'tests-only', false, nil, I18n.t('options.tests_only'), :tests_only), Option.new(nil, 'actionwords-only', false, nil, I18n.t('options.actionwords_only'), :actionwords_only), Option.new(nil, 'actionwords-signature', false, nil, I18n.t('options.actionwords_signature'), :actionwords_signature), Option.new(nil, 'show-actionwords-diff', false, nil, I18n.t('options.actionwords_diff'), :actionwords_diff), Option.new(nil, 'show-actionwords-diff-as-json', false, nil, I18n.t('options.actionwords_diff_json'), :actionwords_diff_json), Option.new(nil, 'show-actionwords-deleted', false, nil, I18n.t('options.aw_deleted'), :aw_deleted), Option.new(nil, 'show-actionwords-created', false, nil, I18n.t('options.aw_created'), :aw_created), Option.new(nil, 'show-actionwords-renamed', false, nil, I18n.t('options.aw_renamed'), :aw_renamed), Option.new(nil, 'show-actionwords-signature-changed', false, nil, I18n.t('options.aw_signature_changed'), :aw_signature_changed), Option.new(nil, 'show-actionwords-definition-changed', false, nil, I18n.t('options.aw_definition_changed'), :aw_definition_changed), Option.new(nil, 'library-name=LIBRARY_NAME', nil, String, I18n.t('options.library_name'), :library_name), Option.new(nil, 'with-folders', false, nil, I18n.t('options.with_folders'), :with_folders), Option.new(nil, 'empty-folders', false, nil, I18n.t('options.empty_folders'), :empty_folders), Option.new(nil, 'split-scenarios', false, nil, I18n.t('options.split_scenarios'), :split_scenarios), Option.new(nil, 'leafless-export', false, nil, I18n.t('options.leafless_export'), :leafless_export), Option.new('s', 'site=SITE', 'https://studio.cucumber.io', String, I18n.t('options.site'), :site), Option.new(nil, 'http-proxy=PROXY_URL', nil, String, I18n.t('options.http_proxy'), :http_proxy), Option.new('p', 'push=FILE.TAP', '', String, I18n.t('options.push'), :push), Option.new(nil, 'global-failure-on-missing-reports', false, nil, I18n.t('options.global_failure_on_missing_reports'), :global_failure_on_missing_reports), Option.new(nil, 'push-format=tap', 'tap', String, I18n.t('options.push_format'), :push_format), Option.new(nil, 'execution-environment=NAME', '', String, I18n.t('options.execution_environment'), :execution_environment), Option.new(nil, 'build-id=ID', '', String, I18n.t('options.build_id'), :build_id), Option.new(nil, 'build-name=NAME', '', String, I18n.t('options.build_name'), :build_name), Option.new(nil, 'sort=[id,order,alpha]', 'order', String, I18n.t('options.sort'), :sort), Option.new(nil, '[no-]uids', false, nil, I18n.t('options.uids'), :uids), Option.new(nil, '[no-]parent-folder-tags', true, nil, I18n.t('options.parent_folder_tags'), :parent_folder_tags), Option.new(nil, 'parameter-delimiter=DELIMITER', '"', EmptiableString, I18n.t('options.parameter_delimiter'), :parameter_delimiter), Option.new(nil, 'with-dataset-names', false, nil, I18n.t('options.with_dataset_names'), :with_dataset_names), Option.new(nil, 'keep-filenames', false, nil, I18n.t('options.keep_filenames'), :keep_filenames), Option.new(nil, 'keep-foldernames', false, nil, I18n.t('options.keep_foldernames'), :keep_foldernames), Option.new(nil, 'filter-on-scenario-ids=IDS', '', String, I18n.t('options.filter_on_scenario_ids'), :filter_on_scenario_ids), Option.new(nil, 'filter-on-folder-ids=IDS', '', String, I18n.t('options.filter_on_folder_ids'), :filter_on_folder_ids), Option.new(nil, 'filter-on-scenario-name=NAME', '', String, I18n.t('options.filter_on_scenario_name'), :filter_on_scenario_name), Option.new(nil, 'filter-on-folder-name=NAME', '', String, I18n.t('options.filter_on_folder_name'), :filter_on_folder_name), Option.new(nil, 'filter-on-tags=TAGS', '', String, I18n.t('options.filter_on_tags'), :filter_on_tags), Option.new(nil, 'filter-on-status=STATUS', '', String, I18n.t('options.filter_on_status'), :filter_on_status), Option.new(nil, 'not-recursive', false, nil, I18n.t('options.not_recursive'), :not_recursive), Option.new(nil, 'meta=META', '', String, I18n.t('options.meta'), :meta), Option.new(nil, 'check-version', false, nil, I18n.t('options.check_version'), :check_version), Option.new(nil, 'force', false, nil, I18n.t('options.force_overwrite'), :force_overwrite), Option.new(nil, '[no-]color', nil, nil, I18n.t('options.color'), :color), Option.new('v', 'verbose', false, nil, I18n.t('options.verbose'), :verbose), Option.new(nil, 'indentation=INDENTATION', nil, EmptiableString, I18n.t('options.indentation'), :indent) ] end
default_cache_directory()
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 286 def self.default_cache_directory home_dir = begin Dir.home rescue '.' end File.join(home_dir, '.hiptest-publisher', 'cache') end
languages()
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 200 def self.languages # First framework is default framework { 'Ruby' => ['Rspec', 'MiniTest'], 'Cucumber' => ['Ruby', 'Java', 'Javascript', 'Groovy', 'TypeScript'], 'Cucumber_Legacy' => ['Java', 'Groovy', 'TypeScript'], 'Java' => ['JUnit', 'Test NG', 'Espresso'], 'Python' => ['Unittest'], 'Robot Framework' => [''], 'Selenium IDE' => [''], 'Javascript' => ['qUnit', 'Jasmine', 'Mocha', 'Protractor', 'CodeceptJS'], 'CSharp' => ['NUnit'], 'PHP' => ['PHPUnit'], 'SpecFlow' => [''], 'Behave' => [''], 'Behat' => [''], 'Groovy' => ['Spock'], 'JBehave' => [''], 'Swift' => ['XCTest'] } end
make_language_option(lang, framework = '')
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 327 def self.make_language_option(lang, framework = '') lang_opt = "--language=#{lang.downcase.gsub(' ', '')}" framework_opt = "--framework=#{framework.downcase.gsub(' ', '')}" framework.empty? ? lang_opt : "#{lang_opt} #{framework_opt}" end
parse(args, reporter)
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 296 def self.parse(args, reporter) options = CliOptions.new opt_parser = OptionParser.new do |opts| opts.version = hiptest_publisher_version if hiptest_publisher_version opts.banner = I18n.t('help.header') opts.separator I18n.t("help.description") opts.accept(EmptiableString, /.*/m) { |s,*| s } all_options.each {|o| o.register(opts, options)} opts.on("-H", "--languages-help", I18n.t('options.languages_help')) do self.show_languages exit end opts.on_tail("-h", "--help", I18n.t('options.help')) do puts opts exit end end args << "--help" if args.empty? opt_parser.parse!(args) reporter.add_listener(ConsoleFormatter.new(options.verbose, color: options.color)) FileConfigParser.update_options(options, reporter) reporter.show_options(options.marshal_dump) options.normalize!(reporter) options end
show_languages()
click to toggle source
# File lib/hiptest-publisher/options_parser.rb, line 334 def self.show_languages puts I18n.t('help.languages.supported_languages') languages.each do |language, frameworks| puts "#{language}:" if frameworks.empty? puts I18n.t('help.languages.no_framework_available', language: make_language_option(language, '')) else frameworks.each_with_index do |fw, index| if index == 0 puts " - #{fw} [#{I18n.t(:default)}] #{make_language_option(language, '')}" else puts " - #{fw} #{make_language_option(language, fw)}" end end end end end