diff --git a/.cpyskip.txt b/.cpyskip.txt index 3e955177de69..e74ee2e50598 100644 --- a/.cpyskip.txt +++ b/.cpyskip.txt @@ -110,7 +110,7 @@ icu4j/perf-tests/data/collation/ulyss10.txt icu4j/perf-tests/data/collation/2drvb10.txt icu4j/perf-tests/data/collation/vfear11a.txt icu4j/perf-tests/data/collation/nvsbl10.txt -icu4j/tools/build/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js +icu4j/tools/errorprone_report/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js # # docs # diff --git a/.github/workflows/icu4j.yml b/.github/workflows/icu4j.yml index 248a1337ad2c..b43c66d723fe 100644 --- a/.github/workflows/icu4j.yml +++ b/.github/workflows/icu4j.yml @@ -134,8 +134,8 @@ jobs: grep '^\[ERROR\] ' /tmp/errorprone.log # We need to build this sub-project. If maven fails in a previous sub-project the # whole build stops and we never get to build the report tool, so we can't run it. - mvn install -f icu4j/tools/build/ -q - mvn exec:java -f icu4j/tools/build/ -P errorprone_report -DlogFile=/tmp/errorprone.log + mvn install -f icu4j/tools/errorprone_report/ -q + mvn exec:java -f icu4j/tools/errorprone_report/ -DlogFile=/tmp/errorprone.log # Output messages and the error-prone report as workflow job summary echo '**Run this command locally and fix all errors:**' >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY diff --git a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeMapBoilerplateTest.java b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeMapBoilerplateTest.java index 45fe729e2ffd..0fad956a68e4 100644 --- a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeMapBoilerplateTest.java +++ b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeMapBoilerplateTest.java @@ -11,14 +11,15 @@ import com.ibm.icu.impl.UnicodeMap; import java.util.List; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** Moved from UnicodeMapTest */ +@RunWith(JUnit4.class) public class UnicodeMapBoilerplateTest extends TestBoilerplate> { private static String[] TEST_VALUES = {"A", "B", "C", "D", "E", "F"}; - public void TestUnicodeMapBoilerplate() throws Exception {} - @Test public void test() throws Exception { _test(); diff --git a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeSetBoilerplateTest.java b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeSetBoilerplateTest.java index 9909239f85a1..63e23f71e62e 100644 --- a/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeSetBoilerplateTest.java +++ b/icu4j/main/core/src/test/java/com/ibm/icu/dev/test/UnicodeSetBoilerplateTest.java @@ -11,12 +11,13 @@ import com.ibm.icu.text.UnicodeSet; import java.util.List; import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; /** Moved from UnicodeMapTest */ +@RunWith(JUnit4.class) public class UnicodeSetBoilerplateTest extends TestBoilerplate { - public void TestUnicodeSetBoilerplate() throws Exception {} - @Test public void test() throws Exception { _test(); diff --git a/icu4j/tools/build/manifest-utilities.stub b/icu4j/tools/build/manifest-utilities.stub deleted file mode 100644 index fda53579ead5..000000000000 --- a/icu4j/tools/build/manifest-utilities.stub +++ /dev/null @@ -1,17 +0,0 @@ -Manifest-Version: 1.0 -Specification-Title: International Components for Unicode for Java Utilities -Specification-Version: @SPECVERSION@ -Specification-Vendor: Unicode, Inc. -Implementation-Title: International Components for Unicode for Java Utilities -Implementation-Version: @IMPLVERSION@ -Implementation-Vendor: Unicode, Inc. -Implementation-Vendor-Id: org.unicode -Bundle-ManifestVersion: 2 -Bundle-Name: ICU4JUtilities -Bundle-Description: International Components for Unicode for Java Utilities -Bundle-SymbolicName: com.ibm.icu.utilities -Bundle-Version: @IMPLVERSION@ -Bundle-Vendor: Unicode, Inc. -Bundle-Copyright: @COPYRIGHT@ -Bundle-RequiredExecutionEnvironment: @EXECENV@ -Automatic-Module-Name: com.ibm.icu.utilities diff --git a/icu4j/tools/build/pom.xml b/icu4j/tools/build/pom.xml index 6862bb8a5879..1157c26913c4 100644 --- a/icu4j/tools/build/pom.xml +++ b/icu4j/tools/build/pom.xml @@ -13,68 +13,11 @@ tools_build - - - /tmp/errorprone.log - ${project.build.directory}/errorprone_report - https://github.com/unicode-org/icu/blob/main/ - - - - com.google.errorprone - error_prone_core - commons-cli commons-cli - - - - errorprone_report - - - - org.codehaus.mojo - exec-maven-plugin - - - - java - - - - - com.ibm.icu.dev.tool.errorprone.Main - - --logFile - ${logFile} - --srcBaseUrl - ${srcBaseUrl} - --outDir - ${outDir} - - - - - - - - diff --git a/icu4j/tools/errorprone_report/pom.xml b/icu4j/tools/errorprone_report/pom.xml new file mode 100644 index 000000000000..c3dbe4dbc27c --- /dev/null +++ b/icu4j/tools/errorprone_report/pom.xml @@ -0,0 +1,80 @@ + + + + 4.0.0 + + com.ibm.icu + icu4j-tools + 79.0.1-SNAPSHOT + + + errorprone_report + + + + /tmp/errorprone.log + ${project.build.directory}/errorprone_report + https://github.com/unicode-org/icu/blob/main/ + + + + + com.google.errorprone + error_prone_core + + + commons-cli + commons-cli + + + + + + + errorprone_report + + + + org.codehaus.mojo + exec-maven-plugin + + + + java + + + + + com.ibm.icu.dev.tool.errorprone.Main + + --logFile + ${logFile} + --srcBaseUrl + ${srcBaseUrl} + --outDir + ${outDir} + + + + + + + + + diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneEntry.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneEntry.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneEntry.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneEntry.java diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneReport.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneReport.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneReport.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneReport.java diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneUtils.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneUtils.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneUtils.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ErrorProneUtils.java diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/HtmlUtils.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/HtmlUtils.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/HtmlUtils.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/HtmlUtils.java diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/Main.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/Main.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/Main.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/Main.java diff --git a/icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ParseMavenOutForErrorProne.java b/icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ParseMavenOutForErrorProne.java similarity index 100% rename from icu4j/tools/build/src/main/java/com/ibm/icu/dev/tool/errorprone/ParseMavenOutForErrorProne.java rename to icu4j/tools/errorprone_report/src/main/java/com/ibm/icu/dev/tool/errorprone/ParseMavenOutForErrorProne.java diff --git a/icu4j/tools/build/src/main/resources/com/ibm/icu/dev/tool/errorprone/errorprone.css b/icu4j/tools/errorprone_report/src/main/resources/com/ibm/icu/dev/tool/errorprone/errorprone.css similarity index 100% rename from icu4j/tools/build/src/main/resources/com/ibm/icu/dev/tool/errorprone/errorprone.css rename to icu4j/tools/errorprone_report/src/main/resources/com/ibm/icu/dev/tool/errorprone/errorprone.css diff --git a/icu4j/tools/build/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js b/icu4j/tools/errorprone_report/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js similarity index 100% rename from icu4j/tools/build/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js rename to icu4j/tools/errorprone_report/src/main/resources/com/ibm/icu/dev/tool/errorprone/sorttable.js diff --git a/icu4j/tools/pom.xml b/icu4j/tools/pom.xml index cfb1ebd53105..31ecd000c3d2 100644 --- a/icu4j/tools/pom.xml +++ b/icu4j/tools/pom.xml @@ -21,4 +21,17 @@ pmd + + + requires_jdk21 + + + [21,) + + + errorprone_report + + + + diff --git a/pom.xml b/pom.xml index 9f28c022e694..97669a0c0718 100644 --- a/pom.xml +++ b/pom.xml @@ -53,9 +53,17 @@ - versions:set-property https://www.mojohaus.org/versions/versions-maven-plugin/set-property-mojo.html --> + + 3.9.0 + [11,) + [21,) + 1.11.0 - 2.25.0 + 2.49.0 2.13.2 33.5.0-jre 1.37 @@ -438,14 +446,10 @@ - - 3.9.0 + ${enforcer.requireMavenVersion} - [11,) + ${enforcer.requireJavaVersion} @@ -656,6 +660,9 @@ mvn clean test -DskipTests -DskipITs -P errorprone --> errorprone + + ${enforcer.requireJavaToolsVersion} + @@ -668,11 +675,13 @@ -XDcompilePolicy=simple + -XDaddTypeAnnotationsToSymbol=true + --should-stop=ifError=FLOW - -Xplugin:ErrorProne -Xep:UnicodeEscape:OFF -Xep:InvalidBlockTag:OFF + -Xplugin:ErrorProne -Xep:UnicodeEscape:OFF -Xep:InvalidBlockTag:OFF -Xep:LabelledBreakTarget:WARN -Xmaxerrs 10000 -Xmaxwarns @@ -710,6 +719,9 @@ You can then inspect the content of the errorprone.log file, or the reports in the target folder (errorprone*.html, errorprone.md, errorprone.tsv) --> errorprone-all + + ${enforcer.requireJavaToolsVersion} + @@ -723,6 +735,8 @@ -XDcompilePolicy=simple + -XDaddTypeAnnotationsToSymbol=true + --should-stop=ifError=FLOW