ICU-21140 Fix cldr-to-icu tooling to work on Windows
diff --git a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java
index 7a5fe8d..ce0b642 100644
--- a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java
+++ b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/LdmlConverter.java
@@ -242,7 +242,7 @@
private static ImmutableList<String> readLinesFromResource(String name) {
try (InputStream in = LdmlConverter.class.getResourceAsStream(name)) {
- return ImmutableList.copyOf(CharStreams.readLines(new InputStreamReader(in)));
+ return ImmutableList.copyOf(CharStreams.readLines(new InputStreamReader(in, UTF_8)));
} catch (IOException e) {
throw new RuntimeException("cannot read resource: " + name, e);
}
diff --git a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/CleanOutputDirectoryTask.java b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/CleanOutputDirectoryTask.java
index ddd34ea..3c013d6 100644
--- a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/CleanOutputDirectoryTask.java
+++ b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/CleanOutputDirectoryTask.java
@@ -100,8 +100,9 @@
}
@SuppressWarnings("unused")
- public void setRoot(Path root) {
- this.root = root;
+ public void setRoot(String root) {
+ // Use String here since on some systems Ant doesn't support automatically converting Path instances.
+ this.root = Paths.get(root);
}
@SuppressWarnings("unused")
diff --git a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/ConvertIcuDataTask.java b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/ConvertIcuDataTask.java
index 4fa66fc..1a46ce4 100644
--- a/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/ConvertIcuDataTask.java
+++ b/tools/cldr/cldr-to-icu/src/main/java/org/unicode/icu/tool/cldrtoicu/ant/ConvertIcuDataTask.java
@@ -16,6 +16,7 @@
import static org.unicode.cldr.api.CldrPath.parseDistinguishingPath;
import java.nio.file.Path;
+import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -76,13 +77,15 @@
private Predicate<String> idFilter = id -> true;
@SuppressWarnings("unused")
- public void setOutputDir(Path path) {
- config.setOutputDir(path);
+ public void setOutputDir(String path) {
+ // Use String here since on some systems Ant doesn't support automatically converting Path instances.
+ config.setOutputDir(Paths.get(path));
}
@SuppressWarnings("unused")
- public void setCldrDir(Path path) {
- this.cldrPath = checkNotNull(path);
+ public void setCldrDir(String path) {
+ // Use String here since on some systems Ant doesn't support automatically converting Path instances.
+ this.cldrPath = checkNotNull(Paths.get(path));
}
@SuppressWarnings("unused")
@@ -108,8 +111,9 @@
}
@SuppressWarnings("unused")
- public void setSpecialsDir(Path path) {
- config.setSpecialsDir(path);
+ public void setSpecialsDir(String path) {
+ // Use String here since on some systems Ant doesn't support automatically converting Path instances.
+ config.setSpecialsDir(Paths.get(path));
}
@SuppressWarnings("unused")