See More

/* * Copyright 2023 Red Hat * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * https://www.apache.org/licenses/LICENSE-2.0 * * 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. */ ///usr/bin/env jbang "$0" "$@" ; exit $? //JAVA 25 void main(String... args) throws IOException { if (args.length != 3) { IO.println("Wrong number of arguments: Provided " + args.length + ", required 3"); IO.println("Use version.java "); System.exit(1); } String basedir = args[0]; String patternFlyJavaVersion = args[1]; String patternFlyVersion = args[2]; int dot = patternFlyVersion.indexOf('.'); String patternFlyMajor = "v" + (dot >= 0 ? patternFlyVersion.substring(0, dot) : patternFlyVersion); String packageName = "org.patternfly.core"; String className = "Version"; String target = "src/main/java"; Path targetPath = Path.of(basedir, target, packageName.replace('.', '/')); Files.createDirectories(targetPath); Path javaSource = targetPath.resolve(className + ".java"); Files.deleteIfExists(javaSource); String content = String.join("\n", "package " + packageName + ";", "", "import javax.annotation.processing.Generated;", "", "/*", " * WARNING! This class is generated. Do not modify.", " */", "@Generated(\"version.java\")", "public interface " + className + " {", "", " String PATTERN_FLY_JAVA_VERSION = \"" + patternFlyJavaVersion + "\";", " String PATTERN_FLY_VERSION = \"" + patternFlyVersion + "\";", " String PATTERN_FLY_MAJOR_VERSION = \"" + patternFlyMajor + "\";", "}", ""); Files.writeString(javaSource, content, StandardCharsets.UTF_8, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING); IO.println("Generated Version.java using " + patternFlyJavaVersion + ", " + patternFlyVersion + ", " + patternFlyMajor); }