]> granicus.if.org Git - icu/commitdiff
ICU-20162 use maven to build icu4c api change tool
authorSteven R. Loomis <srl@icu-project.org>
Tue, 3 Sep 2019 20:32:03 +0000 (13:32 -0700)
committerSteven R. Loomis <srl295@gmail.com>
Mon, 9 Sep 2019 22:39:51 +0000 (18:39 -0400)
- removes three .jar files from git-lfs
- make calls ant calls maven
- have travis verify buildability
- support APIChangeReport.md (markdown)
- 'signature simplification' is no longer new, do not mark it as new.
- change (c) to © in output

20 files changed:
.travis.yml
tools/release/java/.gitignore [new file with mode: 0644]
tools/release/java/.project
tools/release/java/Makefile
tools/release/java/build.xml
tools/release/java/lib/LICENSE.txt [deleted file]
tools/release/java/lib/README.TXT [deleted file]
tools/release/java/lib/serializer.jar [deleted file]
tools/release/java/lib/xalan.jar [deleted file]
tools/release/java/lib/xercesImpl.jar [deleted file]
tools/release/java/pom.xml [new file with mode: 0644]
tools/release/java/readme.txt
tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java with 98% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/dumpAllCFunc.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCFunc.xslt with 100% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/dumpAllCFunc_xml.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCFunc_xml.xslt with 100% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt with 100% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/dumpAllCppFunc_xml.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc_xml.xslt with 100% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genReport.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/genReport.xslt with 98% similarity]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genReport_md.xslt [new file with mode: 0644]
tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genreport_xml.xslt [moved from tools/release/java/src/com/ibm/icu/dev/tools/docs/genreport_xml.xslt with 99% similarity]

index cc846ec8cdea4bae1502811fb7ba93eda0f54aa7..289f9cc0295776d6fd0acf03562de01900fd19d6 100644 (file)
@@ -134,3 +134,11 @@ matrix:
     - name: "lint"
       script:
           - perl tools/scripts/cpysearch/cpyscan.pl
+
+    - name: "j: icu4c release tools"
+      language: "java"
+      script:
+        - mvn -f tools/release/java/pom.xml package dependency:analyze
+      cache:
+        directories:
+        - $HOME/.m2
diff --git a/tools/release/java/.gitignore b/tools/release/java/.gitignore
new file mode 100644 (file)
index 0000000..2c36b17
--- /dev/null
@@ -0,0 +1,2 @@
+/target
+/.settings
index 747fdce4e02337226bafcc2d6777015629f58297..dd7be81d3beed4a7e3999c8c7b927f5f343f4630 100644 (file)
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
-# Copyright (C) 2009 IBM and Others. All Rights Reserved
+       Copyright (C) 2009 IBM and Others. All Rights Reserved
 -->
 <projectDescription>
        <name>toolsj</name>
                        <arguments>
                        </arguments>
                </buildCommand>
+               <buildCommand>
+                       <name>org.eclipse.m2e.core.maven2Builder</name>
+                       <arguments>
+                       </arguments>
+               </buildCommand>
        </buildSpec>
        <natures>
+               <nature>org.eclipse.m2e.core.maven2Nature</nature>
                <nature>org.eclipse.jdt.core.javanature</nature>
        </natures>
 </projectDescription>
index 9726c60c42146cfcd5e7d3e7512a4131855f0218..1ad3f8f9a519aeb1fbbbac0e54b6af03494045fb 100644 (file)
@@ -20,6 +20,7 @@ DOXYGEN=doxygen
 -include Makefile.local
 
 TARGET=APIChangeReport.html
+MD_TARGET=APIChangeReport.md
 
 NOTSET=
 
@@ -39,7 +40,7 @@ ifeq ($(OLD_ICU_BUILD),)
 OLD_ICU_BUILD:=$(OLD_ICU)/source
 endif
 
-all: $(TARGET) $(LOCAL_TARGET)
+all: $(TARGET) $(LOCAL_TARGET) $(MD_TARGET)
 
 # auto "build" the "old" icu into OLD_ICU_BUILD
 tmp-old: $(OLD_ICU)/source/configure
@@ -87,10 +88,14 @@ $(TARGET): check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
        echo "If you get no-changes, see the readme- may need to add xalan/xerces jars."
 
 # check-vars $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
-APIChangeReport.xml:
+APIChangeReport.xml: $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
        echo "Remember to run the non-ascii file detector if you get errors."
        $(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)_xml
 
+APIChangeReport.md: $(OLD_ICU_BUILD)/$(XML) $(NEW_ICU_BUILD)/$(XML)
+       echo "Remember to run the non-ascii file detector if you get errors."
+       $(ANT) -Dolddir="$(OLD_ICU_BUILD)/$(XML)" -Dnewdir="$(NEW_ICU_BUILD)/$(XML)" $(ANT_TARGET)_md
+
 %/doc/xml:     %/Doxyfile
 # don't care what GENERATE_XML is set to previously - set it to yes.
        @echo running doxygen ..
index 193f571c6fae9c158072961c2d3bc094bc610655..5658931d232344e6c52096fadbf97908492a850e 100644 (file)
 <project name="release-tools" default="tools" basedir="." >
     <target name="init">
         <tstamp/>
-        <property name="src.dir" value="src"/>
-        <property name="lib.dir" value="lib"/>
-        <property name="build.dir" value="classes"/>
         <property file="api-report.properties" />
-
-        <mkdir dir="${build.dir}"/>
+        <property name="apireport.jar" location="target/icu4c-apireport.jar"/>
+        <property name="rsrc.dir" location="${basedir}/src/main/resources"/>
         <echo message="java home: ${java.home}"/>
         <echo message="java version: ${java.version}"/>
         <echo message="java vendor: ${java.vm.vendor}"/>
         <echo message="ant java version: ${ant.java.version}"/>
         <echo message="${ant.version}"/>
+        <echo message="tools jar=${apireport.jar}" />
         <echo message="${basedir}"/>
+        <condition property="apireport.jar.exists">
+          <available file="${apireport.jar}" type="file"/>
+        </condition>
     </target>
 
-    <target name="tools"  depends="init" description="compile release tools">
-        <javac includeantruntime="false" includes="**/*.java"
-            srcdir="${src.dir}"
-            destdir="${build.dir}"
-            source="1.7"
-            debug="on" deprecation="off"
-            encoding="utf8"/>
+    <target name="tools"  depends="init" description="compile release tools" unless="apireport.jar.exists">
+      <exec executable="mvn" searchpath="true">
+        <arg value="package"/>
+      </exec>
     </target>
 
     <target name="clean" depends="init" description="remove all build targets">
-        <delete dir="${build.dir}"/>
+      <exec executable="mvn" searchpath="true">
+        <arg value="clean"/>
+      </exec>
     </target>
 
     <target name="apireport" depends="tools">
-        <java classname="com.ibm.icu.dev.tools.docs.StableAPI" fork="yes" failonerror="true">
-
-<!--
-            <arg value = "-DELETEME-newver"/>
-            <arg value = "4.6"/>
--->
+        <java jar="${apireport.jar}" fork="yes" failonerror="true">
 
             <arg value = "--olddir"/>
             <arg value = "${olddir}"/>
 
-<!--
-       !! Only need these if you must override. Remove the DELETEME
-            <arg value = "-DELETEME-newver"/>
-            <arg value = "${newver}"/>
--->
-
             <arg value = "--newdir"/>
             <arg value = "${newdir}"/>
 
             <arg value = "--cppxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt"/>
 
             <arg value = "--cxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/dumpAllCFunc.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCFunc.xslt"/>
 
             <arg value = "--reportxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/genReport.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/genReport.xslt"/>
 
             <arg value = "--resultfile"/>
             <arg value = "${basedir}/APIChangeReport.html"/>
 
-            <classpath>
-                <pathelement location="${build.dir}"/>
-                <pathelement path="${java.class.path}/"/>
-                <pathelement location="${lib.dir}/xalan.jar"/>
-               <fileset dir="${lib.dir}"/>
-                <pathelement location="${lib.dir}/xercesImpl.jar"/>
-                <pathelement path="."/>
-            </classpath>
         </java>
     </target>
-    <target name="apireport_xml" depends="tools">
-        <java classname="com.ibm.icu.dev.tools.docs.StableAPI" fork="yes" failonerror="true">
 
-<!--
-            <arg value = "-DELETEME-newver"/>
-            <arg value = "4.4.1"/>
+    <target name="apireport_md" depends="tools">
+        <java jar="${apireport.jar}" fork="yes" failonerror="true">
 
--->
+            <arg value = "--olddir"/>
+            <arg value = "${olddir}"/>
 
-<!--
-            <arg value = "-DELETEME-newver"/>
-            <arg value = "4.6"/>
--->
+            <arg value = "--newdir"/>
+            <arg value = "${newdir}"/>
+
+            <arg value = "--cppxslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCppFunc.xslt"/>
+
+            <arg value = "--cxslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCFunc.xslt"/>
+
+            <arg value = "--reportxslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/genReport_md.xslt"/>
+
+            <arg value = "--resultfile"/>
+            <arg value = "${basedir}/APIChangeReport.md"/>
+
+        </java>
+    </target>
+    <target name="apireport_xml" depends="tools">
+        <java jar="${apireport.jar}" fork="yes" failonerror="true">
 
             <arg value = "--olddir"/>
             <arg value = "${olddir}"/>
 
-<!--
-       !! Only need these if you must override. Remove the DELETEME
-            <arg value = "-DELETEME-newver"/>
-            <arg value = "${newver}"/>
--->
-
             <arg value = "--newdir"/>
             <arg value = "${newdir}"/>
 
             <arg value = "--cppxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/dumpAllCppFunc_xml.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCppFunc_xml.xslt"/>
 
             <arg value = "--cxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/dumpAllCFunc_xml.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/dumpAllCFunc_xml.xslt"/>
 
             <arg value = "--reportxslt"/>
-            <arg value = "${basedir}/src/com/ibm/icu/dev/tools/docs/genreport_xml.xslt"/>
+            <arg value = "${rsrc.dir}/com/ibm/icu/dev/tools/docs/genreport_xml.xslt"/>
 
             <arg value = "--resultfile"/>
             <arg value = "${basedir}/APIChangeReport.xml"/>
 
-            <classpath>
-                <pathelement location="${build.dir}"/>
-                <pathelement path="${java.class.path}/"/>
-                <pathelement location="${lib.dir}/xalan.jar"/>
-                <pathelement location="${lib.dir}/xercesImpl.jar"/>
-                <pathelement path="."/>
-            </classpath>
         </java>
     </target>
 </project>
diff --git a/tools/release/java/lib/LICENSE.txt b/tools/release/java/lib/LICENSE.txt
deleted file mode 100644 (file)
index 1032f0a..0000000
+++ /dev/null
@@ -1,693 +0,0 @@
-#
-# Copyright (C) 2017 and later: Unicode, Inc. and others.
-# License & terms of use: http://www.unicode.org/copyright.html
-#
-# Copyright (C) 2013 IBM Corporation and Others. All Rights Reserved
-
-Following license text were taken from xalan and xerces. These libraries
-are not redistributed as part of ICU.
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-
-                                 Apache License
-                           Version 2.0, January 2004
-                        http://www.apache.org/licenses/
-
-   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
-
-   1. Definitions.
-
-      "License" shall mean the terms and conditions for use, reproduction,
-      and distribution as defined by Sections 1 through 9 of this document.
-
-      "Licensor" shall mean the copyright owner or entity authorized by
-      the copyright owner that is granting the License.
-
-      "Legal Entity" shall mean the union of the acting entity and all
-      other entities that control, are controlled by, or are under common
-      control with that entity. For the purposes of this definition,
-      "control" means (i) the power, direct or indirect, to cause the
-      direction or management of such entity, whether by contract or
-      otherwise, or (ii) ownership of fifty percent (50%) or more of the
-      outstanding shares, or (iii) beneficial ownership of such entity.
-
-      "You" (or "Your") shall mean an individual or Legal Entity
-      exercising permissions granted by this License.
-
-      "Source" form shall mean the preferred form for making modifications,
-      including but not limited to software source code, documentation
-      source, and configuration files.
-
-      "Object" form shall mean any form resulting from mechanical
-      transformation or translation of a Source form, including but
-      not limited to compiled object code, generated documentation,
-      and conversions to other media types.
-
-      "Work" shall mean the work of authorship, whether in Source or
-      Object form, made available under the License, as indicated by a
-      copyright notice that is included in or attached to the work
-      (an example is provided in the Appendix below).
-
-      "Derivative Works" shall mean any work, whether in Source or Object
-      form, that is based on (or derived from) the Work and for which the
-      editorial revisions, annotations, elaborations, or other modifications
-      represent, as a whole, an original work of authorship. For the purposes
-      of this License, Derivative Works shall not include works that remain
-      separable from, or merely link (or bind by name) to the interfaces of,
-      the Work and Derivative Works thereof.
-
-      "Contribution" shall mean any work of authorship, including
-      the original version of the Work and any modifications or additions
-      to that Work or Derivative Works thereof, that is intentionally
-      submitted to Licensor for inclusion in the Work by the copyright owner
-      or by an individual or Legal Entity authorized to submit on behalf of
-      the copyright owner. For the purposes of this definition, "submitted"
-      means any form of electronic, verbal, or written communication sent
-      to the Licensor or its representatives, including but not limited to
-      communication on electronic mailing lists, source code control systems,
-      and issue tracking systems that are managed by, or on behalf of, the
-      Licensor for the purpose of discussing and improving the Work, but
-      excluding communication that is conspicuously marked or otherwise
-      designated in writing by the copyright owner as "Not a Contribution."
-
-      "Contributor" shall mean Licensor and any individual or Legal Entity
-      on behalf of whom a Contribution has been received by Licensor and
-      subsequently incorporated within the Work.
-
-   2. Grant of Copyright License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      copyright license to reproduce, prepare Derivative Works of,
-      publicly display, publicly perform, sublicense, and distribute the
-      Work and such Derivative Works in Source or Object form.
-
-   3. Grant of Patent License. Subject to the terms and conditions of
-      this License, each Contributor hereby grants to You a perpetual,
-      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
-      (except as stated in this section) patent license to make, have made,
-      use, offer to sell, sell, import, and otherwise transfer the Work,
-      where such license applies only to those patent claims licensable
-      by such Contributor that are necessarily infringed by their
-      Contribution(s) alone or by combination of their Contribution(s)
-      with the Work to which such Contribution(s) was submitted. If You
-      institute patent litigation against any entity (including a
-      cross-claim or counterclaim in a lawsuit) alleging that the Work
-      or a Contribution incorporated within the Work constitutes direct
-      or contributory patent infringement, then any patent licenses
-      granted to You under this License for that Work shall terminate
-      as of the date such litigation is filed.
-
-   4. Redistribution. You may reproduce and distribute copies of the
-      Work or Derivative Works thereof in any medium, with or without
-      modifications, and in Source or Object form, provided that You
-      meet the following conditions:
-
-      (a) You must give any other recipients of the Work or
-          Derivative Works a copy of this License; and
-
-      (b) You must cause any modified files to carry prominent notices
-          stating that You changed the files; and
-
-      (c) You must retain, in the Source form of any Derivative Works
-          that You distribute, all copyright, patent, trademark, and
-          attribution notices from the Source form of the Work,
-          excluding those notices that do not pertain to any part of
-          the Derivative Works; and
-
-      (d) If the Work includes a "NOTICE" text file as part of its
-          distribution, then any Derivative Works that You distribute must
-          include a readable copy of the attribution notices contained
-          within such NOTICE file, excluding those notices that do not
-          pertain to any part of the Derivative Works, in at least one
-          of the following places: within a NOTICE text file distributed
-          as part of the Derivative Works; within the Source form or
-          documentation, if provided along with the Derivative Works; or,
-          within a display generated by the Derivative Works, if and
-          wherever such third-party notices normally appear. The contents
-          of the NOTICE file are for informational purposes only and
-          do not modify the License. You may add Your own attribution
-          notices within Derivative Works that You distribute, alongside
-          or as an addendum to the NOTICE text from the Work, provided
-          that such additional attribution notices cannot be construed
-          as modifying the License.
-
-      You may add Your own copyright statement to Your modifications and
-      may provide additional or different license terms and conditions
-      for use, reproduction, or distribution of Your modifications, or
-      for any such Derivative Works as a whole, provided Your use,
-      reproduction, and distribution of the Work otherwise complies with
-      the conditions stated in this License.
-
-   5. Submission of Contributions. Unless You explicitly state otherwise,
-      any Contribution intentionally submitted for inclusion in the Work
-      by You to the Licensor shall be under the terms and conditions of
-      this License, without any additional terms or conditions.
-      Notwithstanding the above, nothing herein shall supersede or modify
-      the terms of any separate license agreement you may have executed
-      with Licensor regarding such Contributions.
-
-   6. Trademarks. This License does not grant permission to use the trade
-      names, trademarks, service marks, or product names of the Licensor,
-      except as required for reasonable and customary use in describing the
-      origin of the Work and reproducing the content of the NOTICE file.
-
-   7. Disclaimer of Warranty. Unless required by applicable law or
-      agreed to in writing, Licensor provides the Work (and each
-      Contributor provides its Contributions) on an "AS IS" BASIS,
-      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
-      implied, including, without limitation, any warranties or conditions
-      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
-      PARTICULAR PURPOSE. You are solely responsible for determining the
-      appropriateness of using or redistributing the Work and assume any
-      risks associated with Your exercise of permissions under this License.
-
-   8. Limitation of Liability. In no event and under no legal theory,
-      whether in tort (including negligence), contract, or otherwise,
-      unless required by applicable law (such as deliberate and grossly
-      negligent acts) or agreed to in writing, shall any Contributor be
-      liable to You for damages, including any direct, indirect, special,
-      incidental, or consequential damages of any character arising as a
-      result of this License or out of the use or inability to use the
-      Work (including but not limited to damages for loss of goodwill,
-      work stoppage, computer failure or malfunction, or any and all
-      other commercial damages or losses), even if such Contributor
-      has been advised of the possibility of such damages.
-
-   9. Accepting Warranty or Additional Liability. While redistributing
-      the Work or Derivative Works thereof, You may choose to offer,
-      and charge a fee for, acceptance of support, warranty, indemnity,
-      or other liability obligations and/or rights consistent with this
-      License. However, in accepting such obligations, You may act only
-      on Your own behalf and on Your sole responsibility, not on behalf
-      of any other Contributor, and only if You agree to indemnify,
-      defend, and hold each Contributor harmless for any liability
-      incurred by, or claims asserted against, such Contributor by reason
-      of your accepting any such warranty or additional liability.
-
-   END OF TERMS AND CONDITIONS
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-The license above applies to this Apache Xalan release of:
-  Xalan-Java 2 - XSLT Processor
-  Xalan-Java 2 - Serializer
-  
-The license above also applies to the jar files
-xalan.jar and xsltc.jar - Xalan-Java 2 - XSLT Processor from 
-Source: http://xalan.apache.org/
-  
-The license above also applies to the jar file
-serializer.jar - Xalan-Java 2 - Serializer
-Source:  http://xalan.apache.org/
-Used by: Xalan-Java 2 and Xerces-Java 2
-
-The license above also applies to the jar file
-xercesImpl.jar - Xerces-Java 2 XML Parser.
-Source:          http://xerces.apache.org/
-Used by:  Xalan-Java 2
-
-The license above also applies to the jar file
-xml-apis.jar - Xerces-Java 2 XML Parser.
-Source:   http://xerces.apache.org/
-Used by:  Xalan-Java 2 and release copy of Xerces-Java 2
-
-
-
-
-
-
-
-
-The following license applies to the included files:
-  tools/ant.jar
-  tools/antRun
-  tools/antRun.bat
-Source:         http://ant.apache.org/
-Used By: Xalan's build process: java/build.xml and test/build.xml
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-/*
- * ============================================================================
- *                   The Apache Software License, Version 1.1
- * ============================================================================
- * 
- *    Copyright (C) 1999 The Apache Software Foundation. All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without modifica-
- * tion, are permitted provided that the following conditions are met:
- * 
- * 1. Redistributions of  source code must  retain the above copyright  notice,
- *    this list of conditions and the following disclaimer.
- * 
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * 
- * 3. The end-user documentation included with the redistribution, if any, must
- *    include  the following  acknowledgment:  "This product includes  software
- *    developed  by the  Apache Software Foundation  (http://www.apache.org/)."
- *    Alternately, this  acknowledgment may  appear in the software itself,  if
- *    and wherever such third-party acknowledgments normally appear.
- * 
- * 4. The names "Ant" and  "Apache Software Foundation"  must not be used to
- *    endorse  or promote  products derived  from this  software without  prior
- *    written permission. For written permission, please contact
- *    apache@apache.org.
- * 
- * 5. Products  derived from this software may not  be called "Apache", nor may
- *    "Apache" appear  in their name,  without prior written permission  of the
- *    Apache Software Foundation.
- * 
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS  FOR A PARTICULAR  PURPOSE ARE  DISCLAIMED.  IN NO  EVENT SHALL  THE
- * APACHE SOFTWARE  FOUNDATION  OR ITS CONTRIBUTORS  BE LIABLE FOR  ANY DIRECT,
- * INDIRECT, INCIDENTAL, SPECIAL,  EXEMPLARY, OR CONSEQUENTIAL  DAMAGES (INCLU-
- * DING, BUT NOT LIMITED TO, PROCUREMENT  OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR  PROFITS; OR BUSINESS  INTERRUPTION)  HOWEVER CAUSED AND ON
- * ANY  THEORY OF LIABILITY,  WHETHER  IN CONTRACT,  STRICT LIABILITY,  OR TORT
- * (INCLUDING  NEGLIGENCE OR  OTHERWISE) ARISING IN  ANY WAY OUT OF THE  USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- * 
- * This software  consists of voluntary contributions made  by many individuals
- * on behalf of the  Apache Software Foundation.  For more  information  on the 
- * Apache Software Foundation, please see <http://www.apache.org/>.
- *
- */
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license, Apache Software License, Version 1.1,
-applies to the included BCEL.jar from Apache Jakarta
-(Byte Code Engineering Library).
-Source:  http://jakarta.apache.org/bcel
-Used By: XSLTC component of xml-xalan/java
-
-The following license, Apache Software License, Version 1.1, 
-also applies to the included regexp.jar,
-jakarta-regexp-1.2.jar from Apache Jakarta.
-Source:  http://jakarta.apache.org/regexp
-Used By: BCEL.jar which is used by XSLTC component of xml-xalan/java
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-/*
- *
- * Copyright (c) 2001 The Apache Software Foundation.  All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Apache" and "Apache Software Foundation" and 
- *    "Apache BCEL" must not be used to endorse or promote products 
- *    derived from this software without prior written permission. For 
- *    written permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    "Apache BCEL", nor may "Apache" appear in their name, without 
- *    prior written permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the DOM documentation
-for the org.w3c.dom.* packages:
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-W3C® DOCUMENT LICENSE
-http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
-Public documents on the W3C site are provided by the copyright holders 
-under the following license. By using and/or copying this document, 
-or the W3C document from which this statement is linked, you (the licensee) 
-agree that you have read, understood, and will comply with the following 
-terms and conditions:
-
-Permission to copy, and distribute the contents of this document, or the 
-W3C document from which this statement is linked, in any medium for any 
-purpose and without fee or royalty is hereby granted, provided that you include 
-the following on ALL copies of the document, or portions thereof, that you use:
-
-1. A link or URL to the original W3C document. 
-2. The pre-existing copyright notice of the original author, or if it 
-   doesn't exist, a notice (hypertext is preferred, but a textual representation
-    is permitted) of the form: "Copyright © [$date-of-document] World Wide Web
-    Consortium, (Massachusetts Institute of Technology, European Research
-    Consortium for Informatics and Mathematics, Keio University). All Rights 
-    Reserved. http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231" 
-3. If it exists, the STATUS of the W3C document. 
-
-When space permits, inclusion of the full text of this NOTICE should be provided. 
-We request that authorship attribution be provided in any software, documents, 
-or other items or products that you create pursuant to the implementation of the
-contents of this document, or any portion thereof.
-
-No right to create modifications or derivatives of W3C documents is granted pursuant
-to this license. However, if additional requirements (documented in the Copyright FAQ)
-are satisfied, the right to create modifications or derivatives is sometimes granted
-by the W3C to individuals complying with those requirements.
-
-THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS
-OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, WARRANTIES OF
-MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE;
-THAT THE CONTENTS OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE
-IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS,
-COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE PERFORMANCE
-OR IMPLEMENTATION OF THE CONTENTS THEREOF.
-
-The name and trademarks of copyright holders may NOT be used in advertising
-or publicity pertaining to this document or its contents without specific,
-written prior permission. Title to copyright in this document will at all
-times remain with copyright holders.
-
-
-----------------------------------------------------------------------------
-
-This formulation of W3C's notice and license became active on December 31 2002.
-This version removes the copyright ownership notice such that this license
-can be used with materials other than those owned by the W3C, moves information
-on style sheets, DTDs, and schemas to the Copyright FAQ, reflects that ERCIM
-is now a host of the W3C, includes references to this specific dated version
-of the license, and removes the ambiguous grant of "use". See the older
-formulation for the policy prior to this date. Please see our Copyright FAQ for
-common questions about using materials from our site, such as the translating
-or annotating specifications. Other questions about this notice can be directed
-to site-policy@w3.org.
-
-
-Joseph Reagle <mailto:site-policy@w3.org 
-Last revised by Reagle $Date: 2005-07-19 12:33:09 -0400 (Tue, 19 Jul 2005) $
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-
-The following license applies to the DOM software,
-for the org.w3c.dom.* packages in jar file xml-apis.jar:
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-W3C® SOFTWARE NOTICE AND LICENSE
-http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
-This work (and included software, documentation such as READMEs,
-or other related items) is being provided by the copyright holders
-under the following license. By obtaining, using and/or copying this
-work, you (the licensee) agree that you have read, understood, and will
-comply with the following terms and conditions.
-
-Permission to copy, modify, and distribute this software and its
-documentation, with or without modification, for any purpose and
-without fee or royalty is hereby granted, provided that you include
-the following on ALL copies of the software and documentation or
-portions thereof, including modifications:
-
-1. The full text of this NOTICE in a location viewable to users of the
-   redistributed or derivative work. 
-2. Any pre-existing intellectual property disclaimers, notices,
-   or terms and conditions. If none exist, the W3C Software Short Notice
-   should be included (hypertext is preferred, text is permitted) within
-   the body of any redistributed or derivative code. 
-3. Notice of any changes or modifications to the files, including the
-   date changes were made. (We recommend you provide URIs to the location
-   from which the code is derived.) 
-   
-THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
-MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
-NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
-PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
-ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
-
-COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENTATION.
-
-The name and trademarks of copyright holders may NOT be used in advertising
-or publicity pertaining to the software without specific, written prior
-permission. Title to copyright in this software and any associated documentation
-will at all times remain with copyright holders.
-
-
-____________________________________
-
-This formulation of W3C's notice and license became active on December 31 2002.
-This version removes the copyright ownership notice such that this license can
-be used with materials other than those owned by the W3C, reflects that ERCIM
-is now a host of the W3C, includes references to this specific dated version
-of the license, and removes the ambiguous grant of "use". Otherwise, this
-version is the same as the previous version and is written so as to preserve
-the Free Software Foundation's assessment of GPL compatibility and OSI's
-certification under the Open Source Definition. Please see our Copyright FAQ
-for common questions about using materials from our site, including specific
-terms and conditions for packages like libwww, Amaya, and Jigsaw. Other
-questions about this notice can be directed to site-policy@w3.org.
-
-Joseph Reagle <mailto:site-policy@w3.org 
-Last revised by Reagle $Date: 2005-07-19 12:33:09 -0400 (Tue, 19 Jul 2005) $
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the SAX software,
-for the org.xml.sax.* packages in jar file xml-apis.jar:
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-This module, both source code and documentation, is in the Public Domain,
-and comes with NO WARRANTY. See http://www.saxproject.org for further information. 
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the jar file 
-java_cup.jar - LALR Parser Generator for Java(TM).
-Source:  http://www.cs.princeton.edu/~appel/modern/java/CUP
-Used By: XSLTC component of xml-xalan/java
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-CUP Parser Generator Copyright Notice, License, and Disclaimer
-
-Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian 
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, provided 
-that the above copyright notice appear in all copies and that both
-the copyright notice and this permission notice and warranty disclaimer 
-appear in supporting documentation, and that the names of the authors 
-or their employers not be used in advertising or publicity pertaining 
-to distribution of the software without specific, written prior permission. 
-
-The authors and their employers disclaim all warranties with regard to 
-this software, including all implied warranties of merchantability 
-and fitness. In no event shall the authors or their employers be liable 
-for any special, indirect or consequential damages or any damages 
-whatsoever resulting from loss of use, data or profits, whether in an action 
-of contract, negligence or other tortious action, arising out of or 
-in connection with the use or performance of this software. 
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the jar file runtime.jar - Component
-of JavaCup: LALR Parser Generator for Java(TM).
-Source:  http://www.cs.princeton.edu/~appel/modern/java/CUP
-Used By: XSLTC component of xml-xalan/java
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-CUP Parser Generator Copyright Notice, License, and Disclaimer
-(runtime.jar component)
-
-Copyright 1996-1999 by Scott Hudson, Frank Flannery, C. Scott Ananian 
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, provided 
-that the above copyright notice appear in all copies and that both
-the copyright notice and this permission notice and warranty disclaimer 
-appear in supporting documentation, and that the names of the authors 
-or their employers not be used in advertising or publicity pertaining 
-to distribution of the software without specific, written prior permission. 
-
-The authors and their employers disclaim all warranties with regard to 
-this software, including all implied warranties of merchantability 
-and fitness. In no event shall the authors or their employers be liable 
-for any special, indirect or consequential damages or any damages 
-whatsoever resulting from loss of use, data or profits, whether in an action 
-of contract, negligence or other tortious action, arising out of or 
-in connection with the use or performance of this software. 
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the JLEX jar file 
-JLex.jar - A Lexical Analyzer Generator for Java(TM).
-Source:  http://www.cs.princeton.edu/~appel/modern/java/JLex
-Used By: XSLTC component of xml-xalan/java
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-JLEX COPYRIGHT NOTICE, LICENSE AND DISCLAIMER.
-
-Copyright 1996-2000 by Elliot Joel Berk and C. Scott Ananian 
-
-Permission to use, copy, modify, and distribute this software and its 
-documentation for any purpose and without fee is hereby granted, 
-provided that the above copyright notice appear in all copies and 
-that both the copyright notice and this permission notice and 
-warranty disclaimer appear in supporting documentation, and that the 
-name of the authors or their employers not be used in advertising or 
-publicity pertaining to distribution of the software without specific, 
-written prior permission. 
-
-The authors and their employers disclaim all warranties with regard 
-to this software, including all implied warranties of merchantability and 
-fitness. In no event shall the authors or their employers be liable for any
-special, indirect or consequential damages or any damages whatsoever resulting 
-from loss of use, data or profits, whether in an action of contract, 
-negligence or other tortious action, arising out of or in connection
-with the use or performance of this software. 
-
-Java is a trademark of Sun Microsystems, Inc. References to the Java 
-programming language in relation to JLex are not meant to imply that 
-Sun endorses this product. 
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-
-
-
-
-
-
-
-
-The following license applies to the jar file 
-stylebook-1.0-b3_xalan-2.jar - Tool for generating Xalan documentation. 
-Integrated with Xalan-Java 2 and Xerces 2.
-Source:  http://svn.apache.org/viewvc/xml/stylebook/
-Used by: Xalan-Java 2, Xalan-C++
-
-<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
-/*
- * The Apache Software License, Version 1.1
- *
- *
- * Copyright (c) 1999 The Apache Software Foundation.  All rights 
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer. 
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in
- *    the documentation and/or other materials provided with the
- *    distribution.
- *
- * 3. The end-user documentation included with the redistribution,
- *    if any, must include the following acknowledgment:  
- *       "This product includes software developed by the
- *        Apache Software Foundation (http://www.apache.org/)."
- *    Alternately, this acknowledgment may appear in the software itself,
- *    if and wherever such third-party acknowledgments normally appear.
- *
- * 4. The names "Xalan", "Xerces", and "Apache Software Foundation" must
- *    not be used to endorse or promote products derived from this
- *    software without prior written permission. For written 
- *    permission, please contact apache@apache.org.
- *
- * 5. Products derived from this software may not be called "Apache",
- *    nor may "Apache" appear in their name, without prior written
- *    permission of the Apache Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation and was
- * originally based on software copyright (c) 1999, International
- * Business Machines, Inc., http://www.apache.org.  For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
diff --git a/tools/release/java/lib/README.TXT b/tools/release/java/lib/README.TXT
deleted file mode 100644 (file)
index 4efeb75..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-Copyright (C) 2017 and later: Unicode, Inc. and others.
-License & terms of use: http://www.unicode.org/copyright.html
-
-Copyright (C) 2013 IBM Corporation and Others. All Rights Reserved.
-
-xalan and xerces jars are NOT redistributed as part of ICU.
-
-Note: if you have trouble (i.e. no output) try downloading xalan.jar and xercesImpl.jar into this directory from http://xalan.apache.org/xalan-j/downloads.html#latest-release
-
diff --git a/tools/release/java/lib/serializer.jar b/tools/release/java/lib/serializer.jar
deleted file mode 100644 (file)
index 58107e6..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:ad4f77f8985032367f1bcd8db398ee3b421e39d03274445c9b84ce764bbcd658
-size 278281
diff --git a/tools/release/java/lib/xalan.jar b/tools/release/java/lib/xalan.jar
deleted file mode 100644 (file)
index 8f34662..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:4508a541c8cb13f4b98c6d987b720ded36aff2d7e0b7b308cc39032aa1137ecf
-size 1760887
diff --git a/tools/release/java/lib/xercesImpl.jar b/tools/release/java/lib/xercesImpl.jar
deleted file mode 100644 (file)
index d7ba1e5..0000000
+++ /dev/null
@@ -1,3 +0,0 @@
-version https://git-lfs.github.com/spec/v1
-oid sha256:9c55051d9473f1a8d27b00eeeb139fd89983cd93a8b8da187abad53eaa84c3d4
-size 1223877
diff --git a/tools/release/java/pom.xml b/tools/release/java/pom.xml
new file mode 100644 (file)
index 0000000..a91f281
--- /dev/null
@@ -0,0 +1,130 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+* © 2016 and later: Unicode, Inc. and others.
+* License & terms of use: http://www.unicode.org/copyright.html#License
+*******************************************************************************
+* Copyright (C) 2010-2016, International Business Machines Corporation and    *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+-->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+
+  <groupId>org.unicode.icu</groupId>
+  <artifactId>icu4c-apireport</artifactId>
+  <version>1.0-SNAPSHOT</version>
+
+  <name>icu4c-apireport</name>
+  <url>http://icu-project.org</url>
+
+  <properties>
+    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <maven.compiler.source>1.8</maven.compiler.source>
+    <maven.compiler.target>1.8</maven.compiler.target>
+  </properties>
+
+  <dependencies>
+
+    <dependency>
+      <groupId>xml-apis</groupId>
+      <artifactId>xml-apis</artifactId>
+      <version>1.4.01</version>
+      <scope>compile</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>xerces</groupId>
+      <artifactId>xercesImpl</artifactId>
+      <version>2.12.0</version>
+      <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>serializer</artifactId>
+      <version>2.7.2</version>
+      <scope>runtime</scope>
+    </dependency>
+
+    <dependency>
+      <groupId>xalan</groupId>
+      <artifactId>xalan</artifactId>
+      <version>2.7.2</version>
+      <scope>runtime</scope>
+    </dependency>
+
+
+
+  </dependencies>
+
+  <build>
+    <pluginManagement>
+      <plugins>
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>3.1.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>3.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>3.8.0</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.22.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>3.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.5.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.8.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>3.7.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-project-info-reports-plugin</artifactId>
+          <version>3.0.0</version>
+        </plugin>
+      </plugins>
+    </pluginManagement>
+    <plugins>
+        <plugin>
+          <!-- we use the shade plugin to generate a self-contained icu4c-apireport.jar -->
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-shade-plugin</artifactId>
+          <version>3.2.1</version>
+          <executions>
+            <execution>
+              <phase>package</phase>
+              <goals>
+                <goal>shade</goal>
+              </goals>
+              <configuration>
+                <finalName>${project.name}</finalName> <!-- drop the 'with dependencies' from .jar name -->
+                <shadedArtifactAttached>true</shadedArtifactAttached>
+                <shadedClassifierName>jar-with-dependencies</shadedClassifierName>
+                <transformers>
+                  <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
+                    <mainClass>com.ibm.icu.dev.tools.docs.StableAPI</mainClass>
+                  </transformer>
+                </transformers>
+              </configuration>
+            </execution>
+          </executions>
+        </plugin>
+      </plugins>
+  </build>
+</project>
index 8f1303659fc4426ef3f061096b9d20c6f8d11bd5..70bb98efc3bd6959991fbd8120aa155f283c4585 100644 (file)
@@ -10,11 +10,11 @@ A tool to generate a report of API status changes between two ICU4C releases.
 Requirements:
   - Everything needed to build ICU4C from a command line (UNIX) environment
   - Doxygen (for generating docs).
-     Doxygen 1.8.13 or newer is recommended for ICU API docs, 
+     Doxygen 1.8.13 or newer is recommended for ICU API docs,
      but an older Doxygen may work for the API Change Report.
-  - Java JDK 1.7+
+  - Java JDK 1.8+
   - Apache Ant
-  - Note: if you have trouble with null output, put xalan.jar and xercesImpl.jar from <http://xalan.apache.org/xalan-j/downloads.html#latest-release> into ./lib/
+  - Maven
 
 To use the utility:
  1. Put both old and new ICU source trees on your system
@@ -28,6 +28,9 @@ To use the utility:
            indicating the build location:
                         OLD_ICU_BUILD=/xsrl/E/icu-build-m48
                         NEW_ICU_BUILD=/xsrl/E/icu-build
- 4. from this directory, (tools/release/java/) run Make to build docs:
+ 4. from this directory, (tools/release/java/) run Make to build docs: (the tool will be built automatically)
             make
  5. This will create an 'APIChangeReport.html' file in this directory. Look it over, and then check it in to ${NEW_ICU}/APIChangeReport.html (parent of icu/source).
+
+Note: the ant build and makefile do not attempt to rebuild the jar. Run 'mvn package' separately if
+developing on the Java tool.
similarity index 98%
rename from tools/release/java/src/com/ibm/icu/dev/tools/docs/StableAPI.java
rename to tools/release/java/src/main/java/com/ibm/icu/dev/tools/docs/StableAPI.java
index f596384082b45e5b78e282e3583c8b018c7b285c..5585e0dedd28a35b207a1efae3680d01b1fa164b 100644 (file)
@@ -144,11 +144,11 @@ public class StableAPI {
         Set<JoinedFunction> full = new TreeSet<JoinedFunction>();
 
         System.err.println("Reading C++...");
-        Set<JoinedFunction> setCpp = this.getFullList(dumpCppXsltStream, CPPXSLT);
+        Set<JoinedFunction> setCpp = this.getFullList(dumpCppXsltStream, dumpCppXslt.getName());
         full.addAll(setCpp);
         System.out.println("read "+setCpp.size() +" C++.  Reading C:");
 
-        Set<JoinedFunction> setC = this.getFullList(dumpCXsltStream, CXSLT);
+        Set<JoinedFunction> setC = this.getFullList(dumpCXsltStream, dumpCXslt.getName());
         full.addAll(setC);
 
         System.out.println("read "+setC.size() +" C. Setting node:");
@@ -218,7 +218,8 @@ public class StableAPI {
        InputStream stream = null;
        if(argFile != null) {
                try {
-                       stream = new FileInputStream(argFile);
+                stream = new FileInputStream(argFile);
+                System.out.println("Loaded file " + argFile.getName());
                } catch (IOException ioe) {
                        throw new RuntimeException("Error: Could not load " + argName +" " + argFile.getPath() + " - " + ioe.toString(), ioe);
                }
@@ -519,7 +520,8 @@ public class StableAPI {
                                               "[ ]*,", ", ",                         // No spaces preceding commas.
                                               "[ ]*\\*[ ]*", "* ",                   // No spaces preceding '*'.
                                               "[ ]*=[ ]*0[ ]*$", "=0 ",              // No spaces in " = 0".
-                                              "[ ]{2,}", " ",                        // Multiple spaces collapse to single.
+                                              "[ ]{2,}", " ",   
+                                              "\n", " "                     // Multiple spaces collapse to single.
                                                        };
 
         /**
@@ -529,7 +531,9 @@ public class StableAPI {
             "[ ]*=[ ]*0[ ]*$", "",      // remove pure virtual - TODO: notify about this difference, separately
             "[ ]*U_NOEXCEPT", "",       // remove U_NOEXCEPT (this was fixed in Doxyfile, but fixing here so it is retroactive)
             "[ ]*U_OVERRIDE", "",       // remove U_OVERRIDE
-            "\\s+$", ""                 // remove trailing spaces.
+            "^([^\\* ]+)\\*(.*)::(clone|safeClone|cloneAsThawed|freeze|createBufferClone)\\((.*)", "void*$2::$3($4",
+            "\\s+$", "",                 // remove trailing spaces.
+            "^U_NAMESPACE_END ", "" // Bug in processing of uspoof.h
         };
 
         /**
similarity index 98%
rename from tools/release/java/src/com/ibm/icu/dev/tools/docs/genReport.xslt
rename to tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genReport.xslt
index c369c310c7c37a03e28e359409cd3b61091b1f0f..90bc080fbf0d0b7026c9d66f92b64d611646730c 100644 (file)
@@ -30,7 +30,7 @@ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
   <xsl:template match="/">
     <html>
        <xsl:comment>
-     Copyright (C) 2016 and later: Unicode, Inc. and others.
+     Copyright © <xsl:value-of select="$ourYear" />: Unicode, Inc. and others.
      License &amp; terms of use: http://www.unicode.org/copyright.html
        </xsl:comment>
     <head>
@@ -52,7 +52,7 @@ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
                <li><a href="#promoted">Promoted to stable in <xsl:value-of select="$rightVer" /></a></li>
                <li><a href="#added">Added in <xsl:value-of select="$rightVer" /></a></li>
                <li><a href="#other">Other existing drafts in <xsl:value-of select="$rightVer" /></a></li>
-               <li><a href="#purevirtual">Signature Simplifications</a> <sup style='background-color: yellow; font-size: smallest;'>(new)</sup></li>
+               <li><a href="#simplifications">Signature Simplifications</a></li>
            </ul>
            <hr />
        </div>
@@ -101,7 +101,7 @@ doctype-system="http://www.w3.org/TR/html4/loose.dtd"
     </div>
     <P/><a href="#_top">(jump back to top)</a><hr/>
 
-    <a name="purevirtual"></a>
+    <a name="simplifications"></a>
     <h2>Signature Simplifications</h2>
     <i>This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by
        all possible variations in "original" form.</i>
diff --git a/tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genReport_md.xslt b/tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genReport_md.xslt
new file mode 100644 (file)
index 0000000..6e7d079
--- /dev/null
@@ -0,0 +1,237 @@
+<!--
+* © 2017 and later: Unicode, Inc. and others.
+* License & terms of use: http://www.unicode.org/copyright.html#License
+-->
+<!--
+/*
+*******************************************************************************
+* Copyright (C) 2016 and later: Unicode, Inc. and others.
+* License & terms of use: http://www.unicode.org/copyright.html
+* Copyright (C) 2008-2013, International Business Machines Corporation and         *
+* others. All Rights Reserved.                                                *
+*******************************************************************************
+* This is the XSLT for the API Report.
+*/
+-->
+<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
+  <xsl:param name="leftVer" />
+  <xsl:param name="rightVer" />
+  <xsl:param name="dateTime" />
+  <xsl:param name="rightMilestone" />
+  <xsl:param name="leftMilestone" />
+  <xsl:param name="notFound" />
+  <xsl:param name="ourYear" />
+  <xsl:output method="text" indent="no" omit-xml-declaration="yes" />
+  <xsl:template match="/">
+<![CDATA[<!--]]>
+ Copyright © <xsl:value-of select="$ourYear" />: Unicode, Inc. and others.
+ License &amp; terms of use: http://www.unicode.org/copyright.html
+<![CDATA[-->]]>
+
+# ICU4C API Comparison: <xsl:value-of select="$leftVer"/><xsl:value-of select="$leftMilestone" /> with <xsl:value-of select="$rightVer" /><xsl:value-of select="$rightMilestone" />
+
+> _Note_ Markdown format of this document is new for ICU 65.
+
+- [Removed from <xsl:value-of select="$leftVer"/>](#removed)
+- [Deprecated or Obsoleted in <xsl:value-of select="$rightVer" />](#deprecated)
+- [Changed in  <xsl:value-of select="$rightVer" />](#changed)
+- [Promoted to stable in <xsl:value-of select="$rightVer" />](#promoted)
+- [Added in <xsl:value-of select="$rightVer" />](#added)
+- [Other existing drafts in <xsl:value-of select="$rightVer" />](#other)
+- [Signature Simplifications](#simplifications)
+
+## Removed
+
+Removed from <xsl:value-of select="$leftVer"/>
+<xsl:call-template name="genTable">
+    <xsl:with-param name="nodes" select="/list/func[@rightStatus=$notFound]"/>
+</xsl:call-template>
+
+## Deprecated
+
+Deprecated or Obsoleted in <xsl:value-of select="$rightVer" />
+
+<xsl:call-template name="genTable">
+    <xsl:with-param name="nodes" select="/list/func[(@rightStatus='Deprecated' and @leftStatus!='Deprecated') or (@rightStatus='Obsolete' and @leftStatus!='Obsolete')]"/>
+</xsl:call-template>
+
+## Changed
+
+Changed in  <xsl:value-of select="$rightVer" /> (old, new)
+
+<xsl:call-template name="genTable">
+    <xsl:with-param name="nodes" select="/list/func[(@leftStatus != $notFound) and (@rightStatus != $notFound) and ( (@leftStatus != @rightStatus) or (@leftVersion != @rightVersion) ) and not ( (@leftStatus = 'Draft') and (@rightStatus = 'Stable') and (@rightVersion = $rightVer) )]"/>
+</xsl:call-template>
+
+## Promoted
+
+Promoted to stable in <xsl:value-of select="$rightVer" />
+
+<xsl:call-template name="genTable">
+    <xsl:with-param name="nodes" select="/list/func[@leftStatus != 'Stable' and  @rightStatus = 'Stable']"/>
+</xsl:call-template>
+
+## Added
+
+Added in <xsl:value-of select="$rightVer" />
+
+<xsl:call-template name="genTable">
+    <xsl:with-param name="nodes" select="/list/func[@leftStatus=$notFound]"/>
+</xsl:call-template>
+
+## Other
+
+Other existing drafts in <xsl:value-of select="$rightVer" />
+
+<xsl:call-template name="infoTable"> <!--  note: note genTable -->
+    <xsl:with-param name="nodes" select="/list/func[@rightStatus = 'Draft' and @rightVersion != $rightVer]"/>
+</xsl:call-template>
+
+## Simplifications
+
+This section shows cases where the signature was "simplified" for the sake of comparison. The simplified form is in bold, followed by
+    all possible variations in "original" form.
+<xsl:for-each select="/list/simplifications/simplification">
+- **`<xsl:value-of select="base" />`**<xsl:for-each select="change">
+  - `<xsl:value-of select="text()" />`</xsl:for-each>
+</xsl:for-each>
+
+## Colophon
+
+Contents generated by StableAPI tool on <xsl:value-of select="$dateTime" />
+
+Copyright (C) 2016-<xsl:value-of select="$ourYear" />, Unicode, Inc. and others.
+License &amp; terms of use: http://www.unicode.org/copyright.html
+  </xsl:template>
+
+  <!-- almost all sutables are generated by this -->
+  <xsl:template name="genTable"><xsl:param name="nodes" />
+  
+| <xsl:value-of select="'File'" /> | <xsl:value-of select="'API'" /> | <xsl:value-of select="$leftVer" /> | <xsl:value-of select="$rightVer" /> |
+|---|---|---|---|<xsl:for-each select="$nodes"><xsl:sort select="@file" />
+<!--
+            <xsl:comment>
+              @prototype: <xsl:value-of select="@prototype" />
+              @leftStatus: <xsl:value-of select="@leftStatus" />
+              @leftVersion: <xsl:value-of select="@leftVersion" />
+              @rightStatus: <xsl:value-of select="@rightStatus" />
+              @rightVersion: <xsl:value-of select="@rightVersion" />
+            </xsl:comment>
+-->| <xsl:value-of select="@file" /> | <xsl:value-of disable-output-escaping="yes" select="@prototype" /> | <!-- <xsl:if 
+    test ="@leftStatus = 'Stable'">
+                                <xsl:value-of select="'stabchange'" />
+                        </xsl:if>
+                    </xsl:attribute>
+                       <xsl:if  test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion">
+                           <xsl:attribute name="colspan">2</xsl:attribute>
+                           <xsl:attribute name="align">center</xsl:attribute>
+                       </xsl:if> --> <xsl:value-of select="@leftStatus" /> <xsl:if 
+                        test = "@leftStatus = 'Draft' and @rightStatus = 'Stable' and @leftVersion = @rightVersion">&#x2192;Stable</xsl:if><xsl:if
+                         test="@leftVersion != '' and @leftVersion != '.'"> <xsl:value-of select="@leftVersion" />  </xsl:if><xsl:if
+                          test="@leftStatus = '' and @leftVersion = ''"> _untagged _ </xsl:if><xsl:if 
+                           test = "@leftStatus != 'Draft' or @rightStatus != 'Stable' or @leftVersion != @rightVersion"> | <xsl:value-of select="@rightStatus" /> <!--
+                        <xsl:attribute name="class">
+                            <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightVersion != '.'">
+                                <xsl:value-of select="'verchange'" />
+                            </xsl:if>
+                        </xsl:attribute>--><xsl:if test="@rightVersion != '.'"><xsl:value-of select="@rightVersion" /></xsl:if><xsl:if 
+                        test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightStatus = 'Stable' and not ( (@leftStatus = 'Draft') and (@rightStatus = 'Stable') and (@rightVersion = $rightVer) )">
+                            *(changed)*
+                        </xsl:if>
+                        <xsl:if test ="@rightStatus = 'Draft' and @rightVersion != $rightVer">
+                            *(should be <xsl:value-of select="$rightVer"/>)*
+                        </xsl:if>
+                        <xsl:if test="@leftStatus = $notFound and @rightVersion = '' and @rightStatus != 'Internal' and @rightStatus != 'Deprecated'">
+                               *(untagged)*
+                        </xsl:if>
+           </xsl:if><xsl:if  test = "@rightStatus = 'Stable' and @rightVersion = $rightVer">| *(Born Stable)* |</xsl:if></xsl:for-each>
+  </xsl:template>
+
+    <xsl:template name="infoTable">
+    <xsl:param name="nodes" />
+
+| <xsl:value-of select="'File'" /> | <xsl:value-of select="'API'" /> | <xsl:value-of select="$leftVer" /> | <xsl:value-of select="$rightVer" /> |
+|---|---|---|---|<xsl:for-each select="$nodes"><xsl:sort select="@file" 
+    />
+| <xsl:value-of select="@file" /> |  <xsl:value-of disable-output-escaping="yes" select="@prototype" /> | <xsl:if 
+ test = "@leftStatus = @rightStatus and @leftVersion = @rightVersion"> <xsl:value-of select="@leftStatus" /> <xsl:value-of select="@leftVersion" /> | <xsl:if test = "@leftStatus != @rightStatus or @leftVersion != @rightVersion"> <xsl:value-of 
+ select="@rightStatus" /> <xsl:if 
+ test = "@rightVersion != '.'"><xsl:value-of select="@rightVersion" /></xsl:if></xsl:if></xsl:if></xsl:for-each>
+  </xsl:template>
+
+
+    <xsl:template name="pureVirtualTable">
+    <xsl:param name="nodes" />
+    <!--
+    <THEAD>
+        <tr>
+            <th> <xsl:value-of select="'File'" /> </th>
+            <th> <xsl:value-of select="'API'" /> </th>
+            <th> <xsl:value-of select="$leftVer" /> </th>
+            <th> <xsl:value-of select="$rightVer" /> </th>
+        </tr>
+    </THEAD>
+    -->
+
+        <xsl:for-each select="$nodes">
+            <xsl:sort select="@file" />
+
+            <tr>
+                <xsl:attribute name="class">
+                    <xsl:value-of select="'row'"/>
+                    <xsl:value-of select="(position() mod 2)"/>
+                    <!--
+                    <xsl:choose>
+                        <xsl:when test="(position() mod 2) = 0"><xsl:value-of select="row0" /></xsl:when>
+                        <xsl:otherwise><xsl:value-of select="row1" /></xsl:otherwise>
+                    </xsl:choose>
+                    -->
+                </xsl:attribute>
+                <td class='file'> <xsl:value-of select="@file" /> </td>
+                <td class='proto'> <xsl:value-of disable-output-escaping="yes" select="@prototype" /> </td>
+                <td>
+                    <xsl:attribute name="class">
+                        <xsl:if test ="@leftStatus = 'Stable'">
+                                <xsl:value-of select="'stabchange'" />
+                        </xsl:if>
+                    </xsl:attribute>
+
+                       <xsl:if  test = "@leftStatus = @rightStatus and @leftVersion = @rightVersion">
+                           <xsl:attribute name="colspan">2</xsl:attribute>
+                           <xsl:attribute name="align">center</xsl:attribute>
+                       </xsl:if>
+
+                    <xsl:value-of select="@leftStatus" />
+                    <br/> <xsl:value-of select="@leftVersion" />
+                </td>
+                <xsl:if test = "@leftStatus != @rightStatus or @leftVersion != @rightVersion">
+                <td> <xsl:value-of select="@rightStatus" />
+                    <br/>
+                    <span>
+                        <xsl:attribute name="class">
+                            <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != ''">
+                                <xsl:value-of select="'verchange'" />
+                            </xsl:if>
+                        </xsl:attribute>
+                        <span>
+                            <xsl:value-of select="@rightVersion" />
+                        </span>
+                   <!--
+                        <xsl:if test ="@leftVersion != @rightVersion and @leftVersion != '' and @rightVersion != '' and @rightStatus = 'Stable'">
+                            <br/><b title='A stable API changed version.' class='bigwarn'>(changed)</b>
+                        </xsl:if>
+                        <xsl:if test ="@rightStatus = 'Draft' and @rightVersion != $rightVer">
+                            <br/><b title='A draft API has the wrong version.' class='bigwarn'>(should be <xsl:value-of select="$rightVer"/>)</b>
+                        </xsl:if>
+                        <xsl:if test="@leftStatus = $notFound and @rightVersion = ''">
+                               <br/><b title='A new API was introduced that was not tagged.' class='bigwarn'>(untagged)</b>
+                        </xsl:if>
+                     -->
+                    </span>
+                </td>
+                </xsl:if>
+            </tr>
+        </xsl:for-each>
+  </xsl:template>
+
+</xsl:stylesheet>
similarity index 99%
rename from tools/release/java/src/com/ibm/icu/dev/tools/docs/genreport_xml.xslt
rename to tools/release/java/src/main/resources/com/ibm/icu/dev/tools/docs/genreport_xml.xslt
index c483c76ad9a6faaecc0aeffbd00b94161f0ae6f9..a05700d03de787195fd96be1a1469fed03a4fccb 100644 (file)
@@ -29,7 +29,7 @@
 
   <xsl:template match="/">
     <xsl:comment>
-      Copyright (C)  <xsl:value-of select="$ourYear" />: Unicode, Inc. and others.
+      Copyright © <xsl:value-of select="$ourYear" />: Unicode, Inc. and others.
       License &amp; terms of use: http://www.unicode.org/copyright.html
     </xsl:comment>
     <changeReport>