Skip to content

Commit 837d2e1

Browse files
committedAug 25, 2023
8314483: Optionally override copyright header in generated source
Reviewed-by: dholmes, iris
1 parent 3201623 commit 837d2e1

File tree

4 files changed

+45
-9
lines changed

4 files changed

+45
-9
lines changed
 

‎make/ToolsJdk.gmk

+3
Original file line numberDiff line numberDiff line change
@@ -137,4 +137,7 @@ PANDOC_HTML_MANPAGE_FILTER := $(BUILDTOOLS_OUTPUTDIR)/manpages/pandoc-html-manpa
137137

138138
##########################################################################################
139139

140+
# Hook to include the corresponding custom post file, if present.
141+
$(eval $(call IncludeCustomExtension, ToolsJdk-post.gmk))
142+
140143
endif # _TOOLS_GMK

‎make/jdk/src/classes/build/tools/cldrconverter/CLDRConverter.java

+8-1
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,7 @@ public class CLDRConverter {
114114

115115
private static Set<String> AVAILABLE_TZIDS;
116116
static int copyrightYear;
117+
static String jdkHeaderTemplate;
117118
private static String zoneNameTempFile;
118119
private static String tzDataDir;
119120
private static final Map<String, String> canonicalTZMap = new HashMap<>();
@@ -229,6 +230,10 @@ public static void main(String[] args) throws Exception {
229230
tzDataDir = args[++i];
230231
break;
231232

233+
case "-jdk-header-template":
234+
jdkHeaderTemplate = Files.readString(Paths.get(args[++i]));
235+
break;
236+
232237
case "-help":
233238
usage();
234239
System.exit(0);
@@ -304,7 +309,9 @@ private static void usage() {
304309
+ "\t-year year copyright year in output%n"
305310
+ "\t-zntempfile template file for java.time.format.ZoneName.java%n"
306311
+ "\t-tzdatadir tzdata directory for java.time.format.ZoneName.java%n"
307-
+ "\t-utf8 use UTF-8 rather than \\uxxxx (for debug)%n");
312+
+ "\t-utf8 use UTF-8 rather than \\uxxxx (for debug)%n"
313+
+ "\t-jdk-header-template <file>%n"
314+
+ "\t\t override default GPL header with contents of file%n");
308315
}
309316

310317
static void info(String fmt, Object... args) {

‎make/jdk/src/classes/build/tools/cldrconverter/ResourceBundleGenerator.java

+10-2
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public void generateBundle(String packageName, String baseName, String localeID,
174174

175175
try (PrintWriter out = new PrintWriter(file, encoding)) {
176176
// Output copyright headers
177-
out.println(CopyrightHeaders.getOpenJDKCopyright(CLDRConverter.copyrightYear));
177+
out.println(getOpenJDKCopyright());
178178
out.println(CopyrightHeaders.getUnicodeCopyright());
179179

180180
if (useJava) {
@@ -294,7 +294,7 @@ public void generateMetaInfo(Map<String, SortedSet<String>> metaInfo) throws IOE
294294
CLDRConverter.info("Generating file " + file);
295295

296296
try (PrintWriter out = new PrintWriter(file, "us-ascii")) {
297-
out.printf(CopyrightHeaders.getOpenJDKCopyright(CLDRConverter.copyrightYear));
297+
out.printf(getOpenJDKCopyright());
298298

299299
out.printf("""
300300
package sun.util.%s;
@@ -448,4 +448,12 @@ private static SortedSet<String> applyLanguageAliases(SortedSet<String> tags) {
448448
});
449449
return tags;
450450
}
451+
452+
private static String getOpenJDKCopyright() {
453+
if (CLDRConverter.jdkHeaderTemplate != null) {
454+
return String.format(CLDRConverter.jdkHeaderTemplate, CLDRConverter.copyrightYear);
455+
} else {
456+
return CopyrightHeaders.getOpenJDKCopyright(CLDRConverter.copyrightYear);
457+
}
458+
}
451459
}

‎make/jdk/src/classes/build/tools/generatelsrequivmaps/EquivMapsGenerator.java

+24-6
Original file line numberDiff line numberDiff line change
@@ -53,21 +53,38 @@
5353
public class EquivMapsGenerator {
5454

5555
public static void main(String[] args) throws Exception {
56-
if (args.length != 3) {
56+
int i = 0;
57+
boolean valid = true;
58+
if (args.length != 5 && args.length !=3) {
59+
valid = false;
60+
} else if (args.length == 5) {
61+
if ("-jdk-header-template".equals(args[i])) {
62+
jdkHeaderTemplate = Files.readString(Paths.get(args[++i]));
63+
i++;
64+
} else {
65+
valid = false;
66+
}
67+
}
68+
if (!valid) {
5769
System.err.println("Usage: java EquivMapsGenerator"
70+
+ " [-jdk-header-template <file>]"
5871
+ " language-subtag-registry.txt LocaleEquivalentMaps.java copyrightYear");
5972
System.exit(1);
6073
}
61-
copyrightYear = Integer.parseInt(args[2]);
62-
readLSRfile(args[0]);
74+
String lsrFile = args[i++];
75+
String outputFile = args[i++];
76+
copyrightYear = Integer.parseInt(args[i++]);
77+
78+
readLSRfile(lsrFile);
6379
// Builds the maps from the IANA data
6480
generateEquivalentMap();
6581
// Writes the maps out to LocaleEquivalentMaps.java
66-
generateSourceCode(args[1]);
82+
generateSourceCode(outputFile);
6783
}
6884

6985
private static String LSRrevisionDate;
7086
private static int copyrightYear;
87+
private static String jdkHeaderTemplate;
7188
private static Map<String, StringBuilder> initialLanguageMap =
7289
new TreeMap<>();
7390
private static Map<String, StringBuilder> initialRegionVariantMap =
@@ -225,6 +242,7 @@ private static void generateSourceCode(String fileName) {
225242
try (BufferedWriter writer = Files.newBufferedWriter(
226243
Paths.get(fileName))) {
227244
writer.write(getOpenJDKCopyright());
245+
writer.write("\n");
228246
writer.write(HEADER_TEXT);
229247
writer.write(getMapsText());
230248
writer.write(getLSRText());
@@ -241,7 +259,8 @@ private static void generateSourceCode(String fileName) {
241259
}
242260

243261
private static String getOpenJDKCopyright() {
244-
return String.format(Locale.US, COPYRIGHT, copyrightYear);
262+
return String.format(Locale.US,
263+
(jdkHeaderTemplate != null ? jdkHeaderTemplate : COPYRIGHT), copyrightYear);
245264
}
246265

247266
private static final String COPYRIGHT =
@@ -270,7 +289,6 @@ private static String getOpenJDKCopyright() {
270289
* or visit www.oracle.com if you need additional information or have any
271290
* questions.
272291
*/
273-
274292
""";
275293

276294
private static final String HEADER_TEXT =

0 commit comments

Comments
 (0)