private List<File> scanForAsciiDocFiles(DirectoryWalker directoryWalker) { return directoryWalker.scan(); }
private List<File> scanForAsciiDocFiles(DirectoryWalker directoryWalker) { return directoryWalker.scan(); }
private List<File> scanForAsciiDocFiles(DirectoryWalker directoryWalker) { final List<File> asciidoctorFiles = directoryWalker.scan(); return asciidoctorFiles; }
private URLClassLoader createUrlClassLoader(List<String> classPaths) { List<URL> cpUrls = new ArrayList<URL>(); for (String cp: classPaths) { try { DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(cp); for (File f: globDirectoryWalker.scan()) { cpUrls.add(f.toURI().toURL()); } } catch (Exception e) { System.err.println(String.format("asciidoctor: WARNING: Could not resolve classpath '%s': %s", cp, e.getMessage())); } } return new URLClassLoader(cpUrls.toArray(new URL[cpUrls.size()])); }
private URLClassLoader createUrlClassLoader(List<String> classPaths) { List<URL> cpUrls = new ArrayList<URL>(); for (String cp: classPaths) { try { DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(cp); for (File f: globDirectoryWalker.scan()) { cpUrls.add(f.toURI().toURL()); } } catch (Exception e) { System.err.println(String.format("asciidoctor: WARNING: Could not resolve classpath '%s': %s", cp, e.getMessage())); } } return new URLClassLoader(cpUrls.toArray(new URL[cpUrls.size()])); }
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 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 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 List<File> scanSourceFiles() { final List<File> asciidoctorFiles; if (sourceDocumentExtensions == null || sourceDocumentExtensions.isEmpty()) { final DirectoryWalker directoryWalker = new AsciiDocDirectoryWalker(sourceDirectory.getAbsolutePath()); asciidoctorFiles = directoryWalker.scan(); } else { final DirectoryWalker directoryWalker = new CustomExtensionDirectoryWalker(sourceDirectory.getAbsolutePath(), sourceDocumentExtensions); asciidoctorFiles = directoryWalker.scan(); } String absoluteSourceDirectory = sourceDirectory.getAbsolutePath(); for (Iterator<File> iter = asciidoctorFiles.iterator(); iter.hasNext(); ) { File f = iter.next(); do { // stop when we hit the source directory root if (absoluteSourceDirectory.equals(f.getAbsolutePath())) { break; } // skip if the filename or directory begins with _ if (f.getName().startsWith("_")) { iter.remove(); break; } } while ((f = f.getParentFile()) != null); } return asciidoctorFiles; }
@Test public void should_not_fail_with_file_in_root_dir() { final String fileNameInRootDir = "/this_file_does_not_exist.adoc"; DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(fileNameInRootDir); List<File> asciidocFiles = globDirectoryWalker.scan(); assertThat(asciidocFiles, contains(new File(fileNameInRootDir).getAbsoluteFile())); }
@Test public void should_not_fail_with_file_in_current_working_dir() { final String fileNameInCurrentWorkingDir = "this_file_does_not_exist.adoc"; DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(fileNameInCurrentWorkingDir); List<File> asciidocFiles = globDirectoryWalker.scan(); assertThat(asciidocFiles, contains(new File(fileNameInCurrentWorkingDir).getAbsoluteFile())); }
@Test public void only_asciidoc_files_should_be_returned() { DirectoryWalker abstractDirectoryWalker = new AsciiDocDirectoryWalker(classpath.getResource("src/documents").getPath()); List<File> asciidocFiles = abstractDirectoryWalker.scan(); // Converto to absolute paths, otherwise Hamcrest's matchers fails List<String> asciidocFilesPaths = new ArrayList<String>(); for (File f: asciidocFiles) { asciidocFilesPaths.add(f.getAbsolutePath()); } assertThat(asciidocFilesPaths, hasSize(4)); assertThat( asciidocFilesPaths, containsInAnyOrder( classpath.getResource("src/documents/sample.ad").getAbsolutePath(), classpath.getResource("src/documents/sample.adoc").getAbsolutePath(), classpath.getResource("src/documents/sample.asciidoc").getAbsolutePath(), classpath.getResource("src/documents/sample.asc").getAbsolutePath())); }
@Test public void no_should_be_returned_if_glob_expression_does_not_match() { File pathToWalk = classpath.getResource("src"); DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(pathToWalk.getPath() + File.separator + "**/*.a"); List<File> asciidocFiles = globDirectoryWalker.scan(); assertThat(asciidocFiles, is(empty())); }
@Test public void empty_directory_should_return_no_documents() { DirectoryWalker abstractDirectoryWalker = new AsciiDocDirectoryWalker(temporaryFolder.getRoot().getAbsolutePath()); List<File> asciidocFiles = abstractDirectoryWalker.scan(); assertThat(asciidocFiles, is(empty())); }
@Test public void none_existing_directories_should_return_no_documents() { DirectoryWalker abstractDirectoryWalker = new AsciiDocDirectoryWalker("my_udirectory"); List<File> asciidocFiles = abstractDirectoryWalker.scan(); assertThat(asciidocFiles, is(empty())); }
@Test public void all_files_with_given_extension_should_be_returned_recursively() { File pathToWalk = classpath.getResource("src"); DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(pathToWalk.getPath() + File.separator + "**/*.adoc"); List<File> asciidocFiles = globDirectoryWalker.scan(); assertThat( asciidocFiles, containsInAnyOrder( classpath.getResource("src/documents/_sample.adoc"), classpath.getResource("src/documents/sample.adoc"))); }
@Test public void all_files_with_given_extension_of_current_directory_should_be_returned() { File pathToWalk = classpath.getResource("src"); DirectoryWalker globDirectoryWalker = new GlobDirectoryWalker(pathToWalk.getPath() + File.separator + "documents/*.adoc"); List<File> asciidocFiles = globDirectoryWalker.scan(); assertThat( asciidocFiles, containsInAnyOrder( classpath.getResource("src/documents/_sample.adoc"), classpath.getResource("src/documents/sample.adoc"))); }