This is an automated email from the ASF dual-hosted git repository. markt pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/tomcat.git
commit 050c6bdf79442931a5cfed5ff0b4931735929ba2 Author: Mark Thomas <ma...@apache.org> AuthorDate: Wed Aug 14 11:17:05 2019 +0100 Add a tool for back-porting English translations --- .../buildutil/translate/BackportEnglish.java | 71 ++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/java/org/apache/tomcat/buildutil/translate/BackportEnglish.java b/java/org/apache/tomcat/buildutil/translate/BackportEnglish.java new file mode 100644 index 0000000..180be8f --- /dev/null +++ b/java/org/apache/tomcat/buildutil/translate/BackportEnglish.java @@ -0,0 +1,71 @@ +/* +* Licensed to the Apache Software Foundation (ASF) under one or more +* contributor license agreements. See the NOTICE file distributed with +* this work for additional information regarding copyright ownership. +* The ASF licenses this file to You 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 +* +* http://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. +*/ +package org.apache.tomcat.buildutil.translate; + +import java.io.File; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.Properties; + +/** + * Generates a set of English property files to back-port updates to a previous + * version. Where a key exists in the source and target versions the value is + * copied from the source to the target, overwriting the value in the target. + * The expectation is that the changes will be manually reviewed before + * committing them. + */ +public class BackportEnglish { + + private static final Map<String,Properties> sourceTranslations = new HashMap<>(); + private static final Map<String,Properties> targetTranslations = new HashMap<>(); + + public static void main(String... args) throws IOException { + if (args.length != 1) { + throw new IllegalArgumentException("Missing back-port target"); + } + File targetRoot = new File(args[0]); + + if (!targetRoot.isDirectory()) { + throw new IllegalArgumentException("Back-port target not a directory"); + } + + File sourceRoot = new File("."); + for (String dir : Constants.SEARCH_DIRS) { + File directory = new File(dir); + Utils.processDirectory(sourceRoot, directory, sourceTranslations); + } + + for (String dir : Constants.SEARCH_DIRS) { + File directory = new File(targetRoot, dir); + Utils.processDirectory(targetRoot, directory, targetTranslations); + } + + Properties sourceEnglish = sourceTranslations.get(""); + Properties targetEnglish = targetTranslations.get(""); + + for (Object key : sourceEnglish.keySet()) { + if (targetEnglish.containsKey(key)) { + targetEnglish.put(key, sourceEnglish.get(key)); + } + } + + File storageDir = new File(targetRoot, Constants.STORAGE_DIR); + + Utils.export("", targetEnglish, storageDir); + } +} --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org