@Override public Map<String, GeneratedResult<byte[]>> generate() throws IOException { ImmutableMap.Builder<String, GeneratedResult<byte[]>> results = ImmutableMap.builder(); for (Map.Entry<String, byte[]> entry : resourcesExtractor.getResources().entrySet()) { GeneratedResult<byte[]> result = GeneratedResult.create(entry.getValue(), executableFilenames.contains(entry.getKey())); results.put(entry.getKey(), result); } return results.build(); } }
@Override public FileVisitResult postVisitDirectory(Path dir, IOException exc) { // Top-level dir doesn't need an __init__.py if (dir.equals(inputPath)) { return FileVisitResult.CONTINUE; } String outFile = inputPath.relativize(dir.resolve("__init__.py")).toString(); // Version directory gets an empty __init__.py if (dir.getFileName().toString().equals(apiVersion)) { docBuilder.put(outFile, GeneratedResult.create(Doc.text("\n"), false)); // All others get become namespace packages } else { docBuilder.put( outFile, GeneratedResult.create( Doc.text("__import__('pkg_resources').declare_namespace(__name__)\n"), false)); pythonNamespacePackages.add(Joiner.on(".").join(inputPath.relativize(dir).iterator())); } return FileVisitResult.CONTINUE; }
@Override public FileVisitResult visitFile(Path file, BasicFileAttributes attr) throws IOException { String filename = testDir.relativize(file).toString(); Doc doc = Doc.text(new String(Files.readAllBytes(file))); collectedFiles.put(filename, GeneratedResult.create(doc, false)); return FileVisitResult.CONTINUE; }
public Map<String, GeneratedResult<Doc>> generate(ViewModel input) { SurfaceSnippetSet snippets = SnippetSet.createSnippetInterface( SurfaceSnippetSet.class, input.resourceRoot(), input.templateFileName(), ImmutableMap.of("util", utilObject)); Doc doc = snippets.generate(input); return doc == null || doc.isWhitespace() && !allowEmptyDocs ? ImmutableMap.of() : ImmutableMap.of(input.outputPath(), GeneratedResult.create(doc, false)); }
@Override @SuppressWarnings("unchecked") public Map<String, GeneratedResult<Doc>> generate( ElementT element, String snippetFileName, CodegenContext context) { ClientConfigSnippetSet<ElementT> snippets = SnippetSet.createSnippetInterface( ClientConfigSnippetSet.class, resourceRoot, snippetFileName, ImmutableMap.of("context", context)); String outputFilename = snippets.generateFilename(element).prettyPrint(); Doc body = snippets.generateBody(element); return body == null || body.isWhitespace() ? ImmutableMap.of() : ImmutableMap.of(outputFilename, GeneratedResult.create(body, false)); } }