@SuppressWarnings("unchecked") public PythonPackageCopierResult run(ToolOptions options, PackageMetadataConfig config) throws IOException { // Copy files from dir into map, and fill in namespace result // Run __init__ snippet in each dir that deserves it PythonPackageFileVisitor visitor = new PythonPackageFileVisitor( Paths.get(options.get(PackageGeneratorApp.INPUT_DIR)), Paths.get(options.get(PackageGeneratorApp.OUTPUT_DIR)), config.apiVersion()); Files.walkFileTree(Paths.get(options.get(PackageGeneratorApp.INPUT_DIR)), visitor); List<String> pythonNamespacePackages = visitor.getNamespacePackages(); ImmutableMap.Builder<String, GeneratedResult<Doc>> docBuilder = visitor.getDocBuilder(); return PythonPackageCopierResult.createPython(pythonNamespacePackages, docBuilder.build()); } }
private List<ViewModel> generateDocFiles(ApiModel model, GapicProductConfig productConfig) { PackageMetadataNamer namer = new PackageMetadataNamer(); SurfaceNamer surfaceNamer = new PythonSurfaceNamer(productConfig.getPackageName()); String docsGapicPath = docsGapicPath(packageConfig.apiVersion()); String typesOutputPath = String.format("docs/%s/types.rst", docsGapicPath); String apiOutputPath = String.format("docs/%s/api.rst", docsGapicPath); return ImmutableList.<ViewModel>builder() .add( generateMetadataView( model, productConfig, TYPES_DOC_TEMPLATE_FILE, namer, surfaceNamer, typesOutputPath) .build()) .add( generateMetadataView( model, productConfig, API_DOC_TEMPLATE_FILE, namer, surfaceNamer, apiOutputPath) .build()) .build(); }
private List<ClientTestFileView> createUnitTestViews( ApiModel model, GapicProductConfig productConfig) { ImmutableList.Builder<ClientTestFileView> views = ImmutableList.builder(); SurfaceNamer namer = new RubySurfaceNamer(productConfig.getPackageName()); for (InterfaceModel apiInterface : model.getInterfaces()) { if (!productConfig.hasInterfaceConfig(apiInterface)) { continue; } GapicInterfaceContext context = createContext(apiInterface, productConfig); String testClassName = namer.getUnitTestClassName(context.getInterfaceConfig()); String outputPath = unitTestPathMapper.getOutputPath( context.getInterfaceModel().getFullName(), productConfig); ImportSectionView importSection = importSectionTransformer.generateTestImportSection(context); views.add( ClientTestFileView.newBuilder() .templateFileName(UNIT_TEST_TEMPLATE_FILE) .outputPath(namer.getSourceFilePath(outputPath, testClassName)) .testClass(createUnitTestClassView(context, model.hasMultipleServices())) .fileHeader( fileHeaderTransformer.generateFileHeader(productConfig, importSection, namer)) .apiVersion(packageConfig.apiVersion()) .build()); } return views.build(); }
.apiVersion(packageConfig.apiVersion()) .requireViews(requireViews.build()) .requireTypes(ImmutableList.copyOf(requireTypes))
private ClientTestClassView createUnitTestClassView( GapicInterfaceContext context, boolean packageHasMultipleServices) { SurfaceNamer namer = context.getNamer(); String apiSettingsClassName = namer.getNotImplementedString( "RubyGapicSurfaceTestTransformer.generateUnitTestClassView - apiSettingsClassName"); String testClassName = namer.getNotImplementedString( "RubyGapicSurfaceTestTransformer.generateUnitTestClassView - name"); ImmutableList.Builder<ClientInitParamView> clientInitOptionalParams = ImmutableList.builder(); if (RubyUtil.hasMajorVersion(context.getProductConfig().getPackageName())) { clientInitOptionalParams.add( ClientInitParamView.newBuilder() .key("version") .value(":" + packageConfig.apiVersion()) .build()); } return ClientTestClassView.newBuilder() .apiSettingsClassName(apiSettingsClassName) .apiClassName(namer.getFullyQualifiedApiWrapperClassName(context.getInterfaceConfig())) .name(testClassName) .testCases(createUnitTestCaseViews(context, packageHasMultipleServices)) .missingDefaultServiceAddress(!context.getInterfaceConfig().hasDefaultServiceAddress()) .missingDefaultServiceScopes(!context.getInterfaceConfig().hasDefaultServiceScopes()) .mockCredentialsClassName(namer.getMockCredentialsClassName(context.getInterface())) .fullyQualifiedCredentialsClassName(namer.getFullyQualifiedCredentialsClassName()) .clientInitOptionalParams(clientInitOptionalParams.build()) .mockServices(ImmutableList.<MockServiceUsageView>of()) .build(); }
.apiVersion(packageConfig.apiVersion()) .requireViews(requireViews.build()) .templateFileName(VERSION_INDEX_TEMPLATE_FILE)
.build(); String version = packageConfig.apiVersion(); String filename = surfacePackageNamer.classFileNameBase(Name.upperCamel(testClassName).join(version))
metadataTransformer.getMergedReleaseLevel(packageConfig, productConfig))) .clientModules(clientModules(surfaceNamer)) .apiModules(apiModules(packageConfig.apiVersion())) .typeModules(typesModules(surfaceNamer)) .gapicPackageName(gapicPackageName) .hasMultipleServices(false) .gapicPackageName(gapicPackageName) .majorVersion(packageConfig.apiVersion()) .developmentStatusTitle( metadataNamer.getReleaseAnnotation(
public ReadmeMetadataView.Builder generateReadmeMetadataView( ApiModel model, GapicProductConfig productConfig, RubyPackageMetadataNamer namer) { return ReadmeMetadataView.newBuilder() .identifier(namer.getMetadataIdentifier()) .shortName(packageConfig.shortName()) .fullName(model.getTitle()) .apiSummary(model.getDocumentationSummary()) .gapicPackageName("gapic-" + packageConfig.packageName()) .majorVersion(packageConfig.apiVersion()) .hasMultipleServices(false) .developmentStatusTitle( namer.getReleaseAnnotation( metadataTransformer.getMergedReleaseLevel(packageConfig, productConfig))) .targetLanguage("Ruby") .mainReadmeLink(GITHUB_REPO_HOST + MAIN_README_PATH) .libraryDocumentationLink("") .authDocumentationLink(GITHUB_DOC_HOST + AUTH_DOC_PATH) .versioningDocumentationLink(GITHUB_REPO_HOST + VERSIONING_DOC_PATH) .exampleMethods(generateExampleMethods(model, productConfig)); }
String name = namer.getSmokeTestClassName(context.getInterfaceConfig()); String version = packageConfig.apiVersion(); String filename = namer.classFileNameBase(Name.upperCamel(name).join(version)) + ".py"; String outputPath =
.hasMultipleServices(model.hasMultipleServices()) .gapicPackageName("gapic-" + packageConfig.packageName()) .majorVersion(packageConfig.apiVersion()) .developmentStatusTitle( namer.getReleaseAnnotation(
xapiClass.apiVersion(packageConfig.apiVersion());
apiMethodView.initCode(), context.getNamer())); testClass.projectIdVariableName(metadataNamer.getProjectVariable(true)); testClass.apiVersion(packageConfig.apiVersion());
.protoPackageName("proto-" + packageConfig.packageName()) .gapicPackageName("gapic-" + packageConfig.packageName()) .majorVersion(packageConfig.apiVersion()) .author(packageConfig.author()) .email(packageConfig.email())