org.openrewrite.jenkins.github.ArtifactIdTeamNameGenerator Maven / Gradle / Ivy
Show all versions of rewrite-jenkins Show documentation
/*
* Copyright 2024 the original author or authors.
*
* Licensed under the Moderne Source Available License (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://docs.moderne.io/licensing/moderne-source-available-license
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.openrewrite.jenkins.github;
import java.io.IOException;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import java.util.Properties;
class ArtifactIdTeamNameGenerator implements TeamNameGenerator {
private static final String EXCLUDE = "EXCLUDE";
private static final String ORG = "@jenkinsci/";
private final Map artifactIdAdvice = loadAdvice();
@Override
public String generate(TeamNameInput input) {
String artifactId = input.getArtifactId();
String advice = artifactIdAdvice.get(artifactId);
if (EXCLUDE.equalsIgnoreCase(advice)) {
return "";
}
if (advice != null) {
return ORG + advice;
}
String withoutParent = artifactId;
if (artifactId.endsWith("-parent") || artifactId.endsWith("-plugin")) {
withoutParent = artifactId.substring(0, artifactId.lastIndexOf('-'));
}
return (ORG + (withoutParent + "-plugin-developers")).toLowerCase(Locale.ROOT);
}
private static Map loadAdvice() {
Properties p = new Properties();
try (InputStream is = ArtifactIdTeamNameGenerator.class.getResourceAsStream("teams.properties")) {
Map o = new HashMap<>();
p.load(is);
for (Map.Entry