/** * Merges release levels from a PackageMetadataConfig and a GapicProductConfig. The * GapicProductConfig always overrides the PackageMetadataConfig if its release level is set. */ public ReleaseLevel getMergedReleaseLevel( PackageMetadataConfig packageConfig, GapicProductConfig productConfig) { return productConfig.getReleaseLevel() == ReleaseLevel.UNSET_RELEASE_LEVEL ? packageConfig.releaseLevel() : productConfig.getReleaseLevel(); }
/** The version the client library package. E.g., "0.14.0". Configured per language. */ public VersionBound generatedPackageVersionBound(TargetLanguage language) { if (releaseLevel() == ReleaseLevel.GA && generatedGAPackageVersionBound() != null && generatedGAPackageVersionBound().containsKey(language)) { return generatedGAPackageVersionBound().get(language); } else { // Default to non-GA version since not all languages config GA version explicitly. return generatedNonGAPackageVersionBound().get(language); } }
public List<PackageMetadataView> transform(ApiModel model, PackageMetadataConfig config) { ArrayList<PackageMetadataView> views = new ArrayList<>(); PythonSurfaceNamer surfaceNamer = new PythonSurfaceNamer(config.packageName()); PackageMetadataTransformer transformer = new PackageMetadataTransformer(); for (String snippetFilename : SNIPPETS) { PackageMetadataView view = transformer .generateMetadataView( new PackageMetadataNamer(), config, model, snippetFilename, outputPath(snippetFilename), TargetLanguage.PYTHON, PROTO_PACKAGE_DEPENDENCY_WHITELIST) .namespacePackages(copierResult.namespacePackages()) .developmentStatus(surfaceNamer.getReleaseAnnotation(config.releaseLevel())) .build(); views.add(view); } return views; }