public ProtoInterfaceModel(Interface protoInterface) { this.protoInterface = protoInterface; apiModel = new ProtoApiModel(protoInterface.getModel()); }
@Override public Map<String, GeneratedResult<Doc>> generate() { ImmutableMap.Builder<String, GeneratedResult<Doc>> results = new ImmutableMap.Builder<>(); ProtoApiModel apiModel = new ProtoApiModel(model); List<PackageMetadataView> metadataViews = transformer.transform(apiModel, config); for (PackageMetadataView view : metadataViews) { CommonSnippetSetRunner runner = new CommonSnippetSetRunner(view, false); results.putAll(runner.generate(view)); } return results.build(); } }
public ConfigNode mergeConfig(Model model, String fileName) { ConfigMerger configMerger = createMerger(model, fileName); if (configMerger == null) { return null; } return configMerger.mergeConfig(new ProtoApiModel(model)); }
@Override public Map<String, GeneratedResult<Doc>> generate() throws IOException { ImmutableMap.Builder<String, GeneratedResult<Doc>> results = new ImmutableMap.Builder<>(); ArrayList<PackageMetadataView> metadataViews = new ArrayList<>(); PythonPackageCopier copier = new PythonPackageCopier(); PythonPackageCopierResult copierResult = copier.run(options, config); results.putAll(copierResult.results()); PythonGrpcPackageTransformer pythonTransformer = new PythonGrpcPackageTransformer(copierResult); ProtoApiModel apiModel = new ProtoApiModel(model); metadataViews.addAll(pythonTransformer.transform(apiModel, config)); for (PackageMetadataView view : metadataViews) { CommonSnippetSetRunner runner = new CommonSnippetSetRunner(view, false); results.putAll(runner.generate(view)); } return results.build(); } }
@Override public Map<String, GeneratedResult<Doc>> generate() { // Establish required stage for generation. model.establishStage(Merged.KEY); if (model.getDiagReporter().getDiagCollector().getErrorCount() > 0) { return null; } List<ViewModel> surfaceDocs = modelToViewTransformer.transform(new ProtoApiModel(model), productConfig); if (model.getDiagReporter().getDiagCollector().getErrorCount() > 0) { return null; } Map<String, GeneratedResult<Doc>> results = new TreeMap<>(); for (ViewModel surfaceDoc : surfaceDocs) { results.putAll(snippetSetRunner.generate(surfaceDoc)); } return results; }
private ViewModel generateDoc(ProtoFile file, GapicProductConfig productConfig) { ModelTypeTable typeTable = new ModelTypeTable( new RubyTypeTable(productConfig.getPackageName()), new RubyModelTypeNameConverter(productConfig.getPackageName())); // Use file path for package name to get file-specific package instead of package for the API. SurfaceNamer namer = new RubySurfaceNamer(typeTable.getFullNameFor(file)); String subPath = pathMapper.getOutputPath(file.getFullName(), productConfig); String baseFilename = namer.getProtoFileName(file.getSimpleName()); GrpcDocView.Builder doc = GrpcDocView.newBuilder(); doc.templateFileName(DOC_TEMPLATE_FILENAME); doc.outputPath(subPath + "/doc/" + baseFilename); doc.fileHeader( fileHeaderTransformer.generateFileHeader( productConfig, ImportSectionView.newBuilder().build(), namer)); doc.elementDocs( elementDocTransformer.generateElementDocs(productConfig, typeTable, namer, file)); doc.modules( generateModuleViews( new ProtoApiModel(file.getModel()), productConfig, namer, isSourceApiInterfaceFile(file) ? file : null)); return doc.build(); }