@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(); } }
/** * Converts a map of results (body plus properties) to a map of bodies (stripping properties). * * @param results results map to convert * @param <T> class which represents result body */ public static <T> Map<String, T> extractBodies(Map<String, GeneratedResult<T>> results) { ImmutableMap.Builder<String, T> extractedResults = ImmutableMap.builder(); for (Map.Entry<String, GeneratedResult<T>> entry : results.entrySet()) { extractedResults.put(entry.getKey(), Objects.requireNonNull(entry.getValue().getBody())); } return extractedResults.build(); }
Map<String, ? extends GeneratedResult<?>> generatorResult = generator.generate(); for (Map.Entry<String, ? extends GeneratedResult<?>> entry : generatorResult.entrySet()) { outputFiles.put(entry.getKey(), entry.getValue().getBody()); if (entry.getValue().isExecutable()) { executables.add(entry.getKey());
public int run() throws Exception { String discoveryDocPath = options.get(DISCOVERY_DOC); List<String> configFileNames = options.get(GENERATOR_CONFIG_FILES); String packageConfig2File = options.get(PACKAGE_CONFIG2_FILE); String languageStr = options.get(LANGUAGE); List<String> enabledArtifacts = options.get(ENABLED_ARTIFACTS); List<CodeGenerator<?>> generators = getGenerators( discoveryDocPath, configFileNames, packageConfig2File, null, languageStr, enabledArtifacts, artifactType); Map<String, Object> outputFiles = Maps.newHashMap(); for (CodeGenerator<?> generator : generators) { outputFiles.putAll(GeneratedResult.extractBodies(generator.generate())); } writeCodeGenOutput(outputFiles, options.get(OUTPUT_FILE)); return 0; }
@Override protected void process() throws Exception { model.establishStage(Merged.KEY); if (model.getDiagReporter().getDiagCollector().getErrorCount() > 0) { for (Diag diag : model.getDiagReporter().getDiagCollector().getDiags()) { System.err.println(diag.toString()); } return; } Map<String, GeneratedResult<Doc>> results = generate(model); ToolUtil.writeFiles(GeneratedResult.extractBodies(results), options.get(OUTPUT_DIR)); }
@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; }
Files.walkFileTree(Paths.get(outFile), collector); return new ImmutableMap.Builder<String, Doc>() .putAll(GeneratedResult.extractBodies(generatedDocs)) .putAll(GeneratedResult.extractBodies(collector.getResults())) .build(); } else { return new ImmutableMap.Builder<String, Doc>() .putAll(GeneratedResult.extractBodies(generatedDocs)) .build();
@Override protected Map<String, ?> run() throws IOException { Map<String, Object> output = new LinkedHashMap<>(); for (CodeGenerator<?> generator : discoGapicGenerators) { Map<String, ? extends GeneratedResult<?>> out = generator.generate(); for (Map.Entry<String, ? extends GeneratedResult<?>> entry : out.entrySet()) { Object value = (entry.getValue().getBody() instanceof byte[]) ? "Static or binary file content is not shown." : entry.getValue().getBody(); output.put(entry.getKey(), value); } } return output; }
@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; }
private Map<String, Doc> generateConfig(String outputPath) { Document document = setupDocument(options.get(DiscoGapicGeneratorApp.DISCOVERY_DOC), getDiagCollector()); ViewModel viewModel = new DiscoConfigTransformer().generateConfig(new DiscoApiModel(document, ""), outputPath); Map<String, GeneratedResult<Doc>> generatedConfig = new CommonSnippetSetRunner(new CommonRenderingUtil(), true).generate(viewModel); return GeneratedResult.extractBodies(generatedConfig); }
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)); } }