public Map<String, Object> getAttributes() { Map<String, Object> attributeValues = new HashMap<String, Object>(); for (String attribute : this.attributes) { int equalsIndex = -1; if ((equalsIndex = attribute.indexOf(ATTRIBUTE_SEPARATOR)) > -1) { extractAttributeNameAndValue(attributeValues, attribute, equalsIndex); } else { attributeValues.put(attribute, ""); } } return attributeValues; }
private boolean isOutputStdout() { return "-".equals(getOutFile()); }
private boolean isInPlaceRequired() { return !isOutFileOption() && !isDestinationDirOption() && !isOutputStdout(); }
if (isDoctypeOption()) { optionsBuilder.docType(this.doctype); if (isOutFileOption() && !isOutputStdout()) { optionsBuilder.toFile(new File(this.outFile)); if (isOutFileOption() && isOutputStdout()) { optionsBuilder.toFile(false); if (isBaseDirOption()) { optionsBuilder.baseDir(new File(this.baseDir)); if (isTemplateEngineOption()) { optionsBuilder.templateEngine(this.templateEngine); if (isTemplateDirOption()) { for (String templateDir : this.templateDir) { optionsBuilder.templateDir(new File(templateDir)); if (isDestinationDirOption() && !isOutputStdout()) { optionsBuilder.toDir(new File(this.destinationDir)); if (isInPlaceRequired()) { optionsBuilder.inPlace(true); attributesBuilder.attributes(getAttributes()); optionsBuilder.attributes(attributesBuilder.get()); return optionsBuilder.get();
AsciidoctorCliOptions asciidoctorCliOptions = new AsciidoctorCliOptions(); JCommander jCommander = new JCommander(asciidoctorCliOptions, parameters); if (asciidoctorCliOptions.isHelp() || parameters.length == 0) { jCommander.setProgramName("asciidoctor"); jCommander.usage(); if (asciidoctorCliOptions.isVersion()) { System.out.println("AsciidoctorJ " + asciidoctor.asciidoctorVersion() + " [http://asciidoctor.org]"); Object rubyVersionString = JRubyRuntimeContext.get(asciidoctor).evalScriptlet("\"#{JRUBY_VERSION} (#{RUBY_VERSION})\""); + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file(s) '" + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); Options options = asciidoctorCliOptions.parse(); if(asciidoctorCliOptions.isRequire()) { for (String require : asciidoctorCliOptions.getRequire()) { RubyUtils.requireLibrary(asciidoctor.getRubyRuntime(), require); if (asciidoctorCliOptions.isTimings()) { Map<String, Object> optionsMap = options.map(); IRubyObject timings = (IRubyObject) optionsMap.get("timings");
public void invoke(String... parameters) { AsciidoctorCliOptions asciidoctorCliOptions = new AsciidoctorCliOptions(); JCommander jCommander = new JCommander(asciidoctorCliOptions, parameters); if (asciidoctorCliOptions.isHelp() || parameters.length == 0) { jCommander.setProgramName("asciidoctor"); jCommander.usage(); + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file(s) '" + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); Options options = asciidoctorCliOptions.parse(); String output = renderInput(options, inputFiles); if (asciidoctorCliOptions.isVerbose()) {
@Test public void api_parameters_should_be_transformed_to_cli_command() { AttributesBuilder attributesBuilder = AttributesBuilder.attributes() .attribute("myAtribute", "myValue").sectionNumbers(true) .copyCss(false); OptionsBuilder optionsBuilder = OptionsBuilder.options() .backend("docbook").templateDirs(new File("a"), new File("b")) .safe(SafeMode.UNSAFE).attributes(attributesBuilder.get()); String command = AsciidoctorUtils.toAsciidoctorCommand( optionsBuilder.asMap(), "file.adoc"); String currentDirectory = new File( "" ).getAbsolutePath() + File.separator; String parametersString = command.substring(command.indexOf(" "), command.length()); String[] parameters = parametersString.split(" "); AsciidoctorCliOptions asciidoctorCliOptions = new AsciidoctorCliOptions(); new JCommander(asciidoctorCliOptions, parameters); assertThat(asciidoctorCliOptions.getTemplateDir(), containsInAnyOrder(currentDirectory+"a", currentDirectory+"b")); assertThat(asciidoctorCliOptions.getSafeMode(), is(SafeMode.UNSAFE)); assertThat(asciidoctorCliOptions.getBackend(), is("docbook")); assertThat(asciidoctorCliOptions.getParameters(), containsInAnyOrder("file.adoc")); assertThat(asciidoctorCliOptions.getAttributes(), hasEntry("myAtribute", (Object)"myValue")); assertThat(asciidoctorCliOptions.getAttributes(), hasKey("numbered")); assertThat(asciidoctorCliOptions.getAttributes(), hasKey("copycss!")); }
private List<File> getInputFiles(AsciidoctorCliOptions asciidoctorCliOptions) { List<String> parameters = asciidoctorCliOptions.getParameters(); if (parameters.isEmpty()) { System.err.println("asciidoctor: FAILED: input file missing"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file missing"); } if (parameters.contains("-")) { System.err .println("asciidoctor: FAILED: input file is required instead of an argument."); throw new IllegalArgumentException( "asciidoctor: FAILED: input file is required instead of an argument."); } List<File> filesToBeRendered = new ArrayList<File>(); for (String globExpression : parameters) { DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(globExpression); filesToBeRendered.addAll(globDirectoryWalker.scan()); } return filesToBeRendered; }
if (isDoctypeOption()) { optionsBuilder.docType(this.doctype); if (isOutFileOption() && !isOutputStdout()) { optionsBuilder.toFile(new File(this.outFile)); if (isOutFileOption() && isOutputStdout()) { optionsBuilder.toFile(false); if (isBaseDirOption()) { optionsBuilder.baseDir(new File(this.baseDir)); if (isTemplateEngineOption()) { optionsBuilder.templateEngine(this.templateEngine); if (isTemplateDirOption()) { for (String templateDir : this.templateDir) { optionsBuilder.templateDir(new File(templateDir)); if (isDestinationDirOption() && !isOutputStdout()) { optionsBuilder.toDir(new File(this.destinationDir)); if (isInPlaceRequired()) { optionsBuilder.inPlace(true); attributesBuilder.attributes(getAttributes()); optionsBuilder.attributes(attributesBuilder.get()); return optionsBuilder.get();
AsciidoctorCliOptions asciidoctorCliOptions = new AsciidoctorCliOptions(); JCommander jCommander = new JCommander(asciidoctorCliOptions, parameters); if (asciidoctorCliOptions.isHelp() || parameters.length == 0) { jCommander.setProgramName("asciidoctor"); jCommander.usage(); if (asciidoctorCliOptions.isVersion()) { System.out.println("AsciidoctorJ " + asciidoctor.asciidoctorVersion() + " [http://asciidoctor.org]"); Object rubyVersionString = JRubyRuntimeContext.get(asciidoctor).evalScriptlet("\"#{JRUBY_VERSION} (#{RUBY_VERSION})\""); + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file(s) '" + asciidoctorCliOptions.getParameters() + "' missing or cannot be read"); Options options = asciidoctorCliOptions.parse(); if(asciidoctorCliOptions.isRequire()) { for (String require : asciidoctorCliOptions.getRequire()) { RubyUtils.requireLibrary(asciidoctor.getRubyRuntime(), require); if (asciidoctorCliOptions.isTimings()) { Map<String, Object> optionsMap = options.map(); IRubyObject timings = (IRubyObject) optionsMap.get("timings");
private List<File> getInputFiles(AsciidoctorCliOptions asciidoctorCliOptions) { List<String> parameters = asciidoctorCliOptions.getParameters(); if (parameters.isEmpty()) { System.err.println("asciidoctor: FAILED: input file missing"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file missing"); } if (parameters.contains("-")) { System.err .println("asciidoctor: FAILED: input file is required instead of an argument."); throw new IllegalArgumentException( "asciidoctor: FAILED: input file is required instead of an argument."); } List<File> filesToBeRendered = new ArrayList<File>(); for (String globExpression : parameters) { DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(globExpression); filesToBeRendered.addAll(globDirectoryWalker.scan()); } return filesToBeRendered; }
if(isOutFileOption() && !isOutputStdout()) { optionsBuilder.toFile(new File(outFile)); if(isBaseDirOption()) { optionsBuilder.baseDir(new File(this.baseDir)); if(isTemplateEngineOption()) { optionsBuilder.templateEngine(this.templateEngine); if(isTemplateDirOption()) { for (String templateDir : this.templateDir) { optionsBuilder.templateDir(new File(templateDir)); if(isDestinationDirOption() && !isOutputStdout()) { optionsBuilder.toDir(new File(this.destinationDir)); if(isInPlaceRequired()) { optionsBuilder.inPlace(true); attributesBuilder.attributes(getAttributes()); optionsBuilder.attributes(attributesBuilder.get()); return optionsBuilder.get();
private boolean isInPlaceRequired() { return !isOutFileOption() && !isDestinationDirOption() && !isOutputStdout(); }
private List<File> getInputFiles(AsciidoctorCliOptions asciidoctorCliOptions) { List<String> parameters = asciidoctorCliOptions.getParameters(); if (parameters.isEmpty()) { System.err.println("asciidoctor: FAILED: input file missing"); throw new IllegalArgumentException( "asciidoctor: FAILED: input file missing"); } if (parameters.contains("-")) { System.err .println("asciidoctor: FAILED: input file is required instead of an argument."); throw new IllegalArgumentException( "asciidoctor: FAILED: input file is required instead of an argument."); } List<File> filesToBeRendered = new ArrayList<File>(); for (String globExpression : parameters) { DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(".", globExpression); filesToBeRendered.addAll(globDirectoryWalker.scan()); } return filesToBeRendered; }
private Map<String, Object> getAttributes() { Map<String, Object> attributeValues = new HashMap<String, Object>(); for (String attribute : this.attributes) { int equalsIndex = -1; if((equalsIndex = attribute.indexOf(ATTRIBUTE_SEPARATOR)) > -1) { extractAttributeNameAndValue(attributeValues, attribute, equalsIndex); } else { attributeValues.put(attribute, ""); } } return attributeValues; }
private boolean isOutputStdout() { return "-".equals(getOutFile()); }
private boolean isInPlaceRequired() { return !isOutFileOption() && !isDestinationDirOption() && !isOutputStdout(); }
public Map<String, Object> getAttributes() { Map<String, Object> attributeValues = new HashMap<String, Object>(); for (String attribute : this.attributes) { int equalsIndex = -1; if ((equalsIndex = attribute.indexOf(ATTRIBUTE_SEPARATOR)) > -1) { extractAttributeNameAndValue(attributeValues, attribute, equalsIndex); } else { attributeValues.put(attribute, ""); } } return attributeValues; }
private boolean isOutputStdout() { return "-".equals(getOutFile()); }