/** * Transforms entries of the input map into TargetLanguage, taking into account an optional * default setting. */ static <V> Map<TargetLanguage, V> buildMapWithDefault(Map<String, V> inputMap) { Map<TargetLanguage, V> outputMap = new HashMap<>(); if (inputMap == null) { return outputMap; } Set<TargetLanguage> configuredLanguages = new HashSet<>(); V defaultValue = null; for (Map.Entry<String, V> entry : inputMap.entrySet()) { if (entry.getKey().equals(CONFIG_KEY_DEFAULT)) { defaultValue = entry.getValue(); } else { TargetLanguage targetLanguage = TargetLanguage.fromString(entry.getKey()); configuredLanguages.add(targetLanguage); outputMap.put(targetLanguage, entry.getValue()); } for (TargetLanguage language : TargetLanguage.values()) { if (!configuredLanguages.contains(language)) { outputMap.put(language, defaultValue); } } } return outputMap; } }
public DiscoGapicTestBase( TargetLanguage language, String name, String discoveryDocFileName, String[] gapicConfigFileNames, String packageConfigFileName) { this.language = language; this.name = name; this.discoveryDocFileName = discoveryDocFileName; this.gapicConfigFileNames = gapicConfigFileNames; this.packageConfigFileName = packageConfigFileName; String dir = language.toString().toLowerCase(); getTestDataLocator().addTestDataSource(getClass(), "testdata"); getTestDataLocator().addTestDataSource(getClass(), "testdata/" + dir); }
List<LanguageSettingView> generateLanguageSettings(String packageName) { ImmutableList.Builder<LanguageSettingView> languageSettings = ImmutableList.builder(); for (Map.Entry<TargetLanguage, LanguageFormatter> entry : LANGUAGE_FORMATTERS.entrySet()) { LanguageFormatter languageFormatter = entry.getValue(); languageSettings.add( LanguageSettingView.newBuilder() .language(entry.getKey().name().toLowerCase()) .packageName(languageFormatter.getFormattedPackageName(packageName)) .build()); } return languageSettings.build(); } }
language = TargetLanguage.fromString(languageStr.toUpperCase()); } else { languageStr = configProto.getLanguage(); "Language not set by --language option or by gapic config."); language = TargetLanguage.fromString(languageStr.toUpperCase());
if (language.equals(JAVA)) { if (artifactFlags.surfaceGeneratorEnabled()) { if (artifactFlags.codeFilesEnabled()) {
language = TargetLanguage.fromString(options.get(LANGUAGE).toUpperCase()); } else { if (configProto == null || Strings.isNullOrEmpty(configProto.getLanguage())) { "Language not set by --language option or by gapic config."); language = TargetLanguage.fromString(configProto.getLanguage().toUpperCase());
if (language.equals(CSHARP)) { String packageName = productConfig.getPackageName(); } else if (language.equals(GO)) { if (artifactFlags.surfaceGeneratorEnabled()) { CodeGenerator generator = } else if (language.equals(JAVA)) { Function<ModelToViewTransformer<ProtoApiModel>, CodeGenerator> newJavaGenerator = transformer -> } else if (language.equals(NODEJS)) { if (artifactFlags.surfaceGeneratorEnabled()) { GapicCodePathMapper nodeJSPathMapper = new NodeJSCodePathMapper(); } else if (language.equals(PHP)) { if (artifactFlags.surfaceGeneratorEnabled()) { GapicCodePathMapper phpPathMapper = generators.add(testGenerator); } else if (language.equals(PYTHON)) { if (artifactFlags.surfaceGeneratorEnabled()) { GapicCodePathMapper pythonPathMapper = } else if (language.equals(RUBY)) { if (artifactFlags.surfaceGeneratorEnabled()) { GapicCodePathMapper rubyPathMapper =
String commonResourceName = null; if (language != null) { String languageStr = language.toString().toLowerCase(); for (CollectionLanguageOverridesProto override : collectionConfigProto.getLanguageOverridesList()) {
protected Map<String, GeneratedResult<Doc>> generate(Model model) throws IOException { TargetLanguage language = TargetLanguage.fromString(options.get(LANGUAGE));
public ConfigNode mergeLanguageSettings( final String packageName, ConfigNode configNode, ConfigNode prevNode) { FieldConfigNode languageSettingsNode = MissingFieldTransformer.insert("language_settings", configNode, prevNode).generate(); if (NodeFinder.hasContent(languageSettingsNode.getChild())) { return languageSettingsNode; } ConfigNode languageSettingsValueNode = ListTransformer.generateList( LANGUAGE_FORMATTERS.entrySet(), languageSettingsNode, (startLine, entry) -> { ConfigNode languageNode = new FieldConfigNode(startLine, entry.getKey().name().toLowerCase()); mergeLanguageSetting(languageNode, entry.getValue(), packageName); return languageNode; }); return languageSettingsNode .setChild(languageSettingsValueNode) .setComment(new DefaultComment("The settings of generated code in a specific language.")); }
interfaceConfigProto.getLangDoc().get(language.toString().toLowerCase())) .trim();
new PackageGeneratorApp(options, dependenciesYamlUrl).generate(model); if (TargetLanguage.fromString(language) == TargetLanguage.PYTHON) { OutputCollector collector = new OutputCollector(Paths.get(outFile)); Files.walkFileTree(Paths.get(outFile), collector);
public GapicTestBase2( TargetLanguage language, String[] gapicConfigFileNames, String packageConfigFileName, List<String> snippetNames, String baselineFile, String protoPackage, String clientPackage) { this.language = language; this.gapicConfigFileNames = gapicConfigFileNames; this.packageConfigFileName = packageConfigFileName; this.snippetNames = ImmutableList.copyOf(snippetNames); this.baselineFile = baselineFile; this.clientPackage = clientPackage; // Represents the test value for the --package flag. this.protoPackage = protoPackage; String dir = language.toString().toLowerCase(); if ("python".equals(dir)) { dir = "py"; } getTestDataLocator().addTestDataSource(CodegenTestUtil.class, dir); getTestDataLocator().addTestDataSource(getClass(), "testdata/" + dir); getTestDataLocator().addTestDataSource(CodegenTestUtil.class, "testsrc/common"); }
interfaceConfigProto.getLangDoc().get(language.toString().toLowerCase())) .trim();
protected void setupDiscovery() { for (String fileName : gapicConfigFileNames) { this.gapicConfigFilePaths.add(getTestDataLocator().findTestData(fileName).getFile()); } try { discoGapicGenerators = DiscoGapicGeneratorApp.getGenerators( getTestDataLocator().findTestData(discoveryDocFileName).getPath(), gapicConfigFilePaths, getTestDataLocator().findTestData(packageConfigFileName).getPath(), getTestDataLocator() .findTestData("com/google/api/codegen/testsrc/common/frozen_dependencies.yaml") .getPath(), language.toString().toLowerCase(), Collections.emptyList(), ArtifactType.LEGACY_DISCOGAPIC_AND_PACKAGE); } catch (IOException e) { throw new IllegalArgumentException("Problem creating DiscoGapic generator.", e); } config = CodegenTestUtil.readConfig( new SimpleDiagCollector(), getTestDataLocator(), gapicConfigFileNames); if (config == null) { throw new IllegalArgumentException("Problem fetching or parsing Gapic config files."); } }
language.toString().toLowerCase() + "_" + apiName + gapic_config_missing + ".baseline"; baseNames = Lists.asList(apiName, baseNames).toArray(new String[0]);
configProto.getLanguageSettingsMap().get(language.toString().toLowerCase()); if (settings == null) { settings = LanguageSettingsProto.getDefaultInstance();
ReleaseLevel releaseLevel = ReleaseLevel.ALPHA; for (SurfaceTreatmentProto treatment : methodConfigProto.getSurfaceTreatmentsList()) { if (!treatment.getIncludeLanguagesList().contains(language.toString().toLowerCase())) { continue;
ReleaseLevel releaseLevel = ReleaseLevel.GA; for (SurfaceTreatmentProto treatment : methodConfigProto.getSurfaceTreatmentsList()) { if (!treatment.getIncludeLanguagesList().contains(language.toString().toLowerCase())) { continue;