diff --git a/.gitignore b/.gitignore index 4ddd189..692221b 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ /Xerces-J-src.2.12.0.tar.gz /Xerces-J-src.2.12.1.tar.gz /Xerces-J-src.2.12.1.tar.gz.asc +/Xerces-J-src.2.12.2.tar.gz diff --git a/ExperimentalTaglet.java b/ExperimentalTaglet.java new file mode 100644 index 0000000..d3350fc --- /dev/null +++ b/ExperimentalTaglet.java @@ -0,0 +1,131 @@ +/* + * 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.xerces.util; + +import java.util.Map; + +import com.sun.javadoc.Tag; +import com.sun.tools.doclets.Taglet; + +/** + * This class provides support for a 'xerces.experimental' tag + * in javadoc comments. The tag creates a warning in the generated + * html for users. + * + * @author Ankit Pasricha, IBM + */ +public class ExperimentalTaglet implements Taglet { + + private static final String NAME = "xerces.experimental"; + private static final String HEADER = "EXPERIMENTAL:"; + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inConstructor() + */ + public boolean inConstructor() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inField() + */ + public boolean inField() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inMethod() + */ + public boolean inMethod() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inOverview() + */ + public boolean inOverview() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inPackage() + */ + public boolean inPackage() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inType() + */ + public boolean inType() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#isInlineTag() + */ + public boolean isInlineTag() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#getName() + */ + public String getName() { + return NAME; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag) + */ + public String toString(Tag arg0) { + return "

" + HEADER + "

" + + "This class should not be considered stable. It is likely to be altered or replaced in the future.
" + + "" + arg0.text() + "
\n"; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag[]) + */ + public String toString(Tag[] tags) { + if (tags.length == 0) { + return null; + } + String result = "\n

" + HEADER + "

"; + result += "This class should not be considered stable. It is likely to be altered or replaced in the future."; + result += ""; + for (int i = 0; i < tags.length; i++) { + result += "
"; + result += tags[i].text(); + } + return result + "
\n"; + } + + /** + * Register this Taglet. + * @param tagletMap the map to register this tag to. + */ + public static void register(Map tagletMap) { + ExperimentalTaglet tag = new ExperimentalTaglet(); + Taglet t = (Taglet) tagletMap.get(tag.getName()); + if (t != null) { + tagletMap.remove(tag.getName()); + } + tagletMap.put(tag.getName(), tag); + } + +} diff --git a/InternalTaglet.java b/InternalTaglet.java new file mode 100644 index 0000000..54a5ca7 --- /dev/null +++ b/InternalTaglet.java @@ -0,0 +1,131 @@ +/* + * 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.xerces.util; + +import java.util.Map; + +import com.sun.javadoc.Tag; +import com.sun.tools.doclets.Taglet; + +/** + * This class provides support for a 'xerces.internal' tag + * in javadoc comments. The tag creates a warning in the generated + * html for users. + * + * @author Ankit Pasricha, IBM + */ +public class InternalTaglet implements Taglet { + + private static final String NAME = "xerces.internal"; + private static final String HEADER = "INTERNAL:"; + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inConstructor() + */ + public boolean inConstructor() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inField() + */ + public boolean inField() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inMethod() + */ + public boolean inMethod() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inOverview() + */ + public boolean inOverview() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inPackage() + */ + public boolean inPackage() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#inType() + */ + public boolean inType() { + return true; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#isInlineTag() + */ + public boolean isInlineTag() { + return false; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#getName() + */ + public String getName() { + return NAME; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag) + */ + public String toString(Tag arg0) { + return "

" + HEADER + "

" + + "Usage of this class is not supported. It may be altered or removed at any time.
" + + "" + arg0.text() + "
\n"; + } + + /* (non-Javadoc) + * @see com.sun.tools.doclets.Taglet#toString(com.sun.javadoc.Tag[]) + */ + public String toString(Tag[] tags) { + if (tags.length == 0) { + return null; + } + String result = "\n

" + HEADER + "

"; + result += "Usage of this class is not supported. It may be altered or removed at any time."; + result += ""; + for (int i = 0; i < tags.length; i++) { + result += "
"; + result += tags[i].text(); + } + return result + "
\n"; + } + + /** + * Register this Taglet. + * @param tagletMap the map to register this tag to. + */ + public static void register(Map tagletMap) { + InternalTaglet tag = new InternalTaglet(); + Taglet t = (Taglet) tagletMap.get(tag.getName()); + if (t != null) { + tagletMap.remove(tag.getName()); + } + tagletMap.put(tag.getName(), tag); + } + +} diff --git a/KEYS b/KEYS deleted file mode 100644 index f4e90d8..0000000 --- a/KEYS +++ /dev/null @@ -1,358 +0,0 @@ -This file contains the PGP keys of various Xerces developers. -Please don't use them for email unless you have to. Their main -purpose is code signing. - -This file is a shameless rip-off of the Xalan-J2 KEYS file. - -Xerces users: - If you use PGP: pgp < KEYS - If you use gpg: gpg --import < KEYS -Xerces developers: - If you use pgp: pgp -kxa and append it to this file. - If you use gpg: gpg --export -a >>KEYS should do the trick - -Name User ID -Neil Graham neilg@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.2.2 (Cygwin) - -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 -H39QDg== -=cl3K ------END PGP PUBLIC KEY BLOCK----- - -Type Bits/KeyID User ID -pub 1024/24E8BBEE Neeraj Bajaj - ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.0.0 (SunOS) -Comment: For info see http://www.gnupg.org - -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 -6RTxOw== -=tp/p ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Elena Litani elitani@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: PGPfreeware 7.0.3 for non-commercial use - -mQGiBD6B6XERBADI6/tqCOVj8iEE/aUwJ7PJEYNfsnFpSixgSUX7/mRQfSwgwXN7 -PbDdnX8eEgMS4vaqQ1/ZaU4vrkNz3Hnxx5OwFY4yWExpgiLddNM9pfbmfVfY6Myc -Q9bm+hY0m+QxaU4U0mWX+Oy/RmwjzRn0AxdStgk0p6yUq8UtGkODgPjFfwCg/1Qb -arryQeoLuBrwwtID0jvky+UEALkVZfofk6obllSbhMYEqUaXhNxUBJItwxlq/WLc -GozTKykIeJOJ6XIXrfRqHFDevzSMPKBXZ/cqddnjnfjN2Z+WQ6TUhEQ4NRqvLYKr -KExvloiM1DzhA41lT1yP2/kJikMT0ADMn2/Tz7977tpqiuXCx+4ysRJbLPmooz3T -QEwEA/9tRRb5HMQ2wxxuGvRH1cwl9iplSKlqUNvJHnSPIQEjdiSvDsDN96u7wIB7 -rMg5VjMIyutVk5PfE+HcbxUaTbwT/4bnxCJQKcE7kpt+9lEdJf0EZz3c/c9bJ07J -U+sCw2UhDKKYW2j7HtYi/jCMkiOHhaXaciRGb9wGzW5ZEUoTxLQhRWxlbmEgTGl0 -YW5pIDxlbGl0YW5pQGNhLmlibS5jb20+iQBYBBARAgAYBQI+gelxCAsDCQgHAgEK -AhkBBRsDAAAAAAoJEF5nmKh11QWsA7EAn2TK8gEg30EgMTUFxmcYELfSN/CUAJ9k -UGoD5mnueyK92OELrJBzVRXdcbkCDQQ+gelyEAgA9kJXtwh/CBdyorrWqULzBej5 -UxE5T7bxbrlLOCDaAadWoxTpj0BV89AHxstDqZSt90xkhkn4DIO9ZekX1KHTUPj1 -WV/cdlJPPT2N286Z4VeSWc39uK50T8X8dryDxUcwYc58yWb/Ffm7/ZFexwGq01ue -jaClcjrUGvC/RgBYK+X0iP1YTknbzSC0neSRBzZrM2w4DUUdD3yIsxx8Wy2O9vPJ -I8BD8KVbGI2Ou1WMuF040zT9fBdXQ6MdGGzeMyEstSr/POGxKUAYEY18hKcKctaG -xAMZyAcpesqVDNmWn6vQClCbAkbTCD1mpF1Bn5x8vYlLIhkmuquiXsNV6TILOwAC -Agf+JRs4i2DeeMXxOOP+aDNRm32IFOXvtYqtQePfdb9sbjaDM4oOp50YBq3TePHy -3Nzyfn3BN7FeaGaD6v1BYUcHGQpZG6rotY9qtkKaT3jTZxPaSK4lyHJqoMebezVY -qn5iAjKTIqiGIqwwbGYtKI+GxdE/AcOx7jUIWisKtBW0TljhGXx4jf9Rz+bVCqpy -YNXttjIMVFpCozJa+afZMUrzJRHNNcskogN3ap4IxJ/1dgdmhg3Tt5fepPCkhBfM -kROj1dQ8hxsilWBWanaGSg1J5UKC4o//msX07/OeEe9iKauSvuvacmwYen3TJJ5w -b6XqoLDw5jAPAq+DK5GHK/7MeokATAQYEQIADAUCPoHpcgUbDAAAAAAKCRBeZ5io -ddUFrNX+AKCv46VtO/gE670uvU3riSGPuu3vhwCfaZqngs2FjDhIigdV7w812RfS -ias= -=2mxx ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Michael Glavassevich mrglavas@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: PGP 8.0.3 - not licensed for commercial use: www.pgp.com - -mQGiBEAX4Q4RBAD/gIkxuOTVes5ccPoI16wPPHwwlEtar0VprlAdwqW5n+FvIvVL -cX+dkJGmWM6A2GcFLSjlV4vbvelabhasooCHzs/gMb138+xSYhBgipHgJAzo6Vw3 -iH2+ujZRwXhnt0st0ALQhNjIal8T9zB4QMXlLheYyHOTXKX26nbTIepSpwCg/w1x -EPl2yfNpB59eA5VlOAz5768D/2HmYGsADKrOopA59DzMlLRDq6f7ehPuMmHFW6It -ToY6uBzTHHdYPP+HJ1e8vBnmAfP1Tw1NIEXTa76TyLtIoYcqhajZzPNO7nIwqYrr -UOc713TFXA6m8QvWjZYwGrchkLBXjKqTwtJSSzmH9MhwfHWt902ea1OusWtyoNZD -QI7GBADNB9rWekuJ77Mds+xI12G+x0zeOshvIIL8pIerWlPdyhaVgs2GRt+/BVoD -G/e+3gT5vFV+paTu7Rh1QphEWoQXwClLWNSkivky+G9o2xTCRlURZ7KylwYI9lKd -JwEiQX7nhYyuSC8Y5FyD9S6BNohUhJTfBAAGEr1d4EHOKnZ+3rQqTWljaGFlbCBH -bGF2YXNzZXZpY2ggPG1yZ2xhdmFzQGNhLmlibS5jb20+iQBXBBARAgAXBQJAF+EO -BwsJCAcDAgoCGQEFGwMAAAAACgkQHcMB3HRezqq7jQCgm/LQ9LbfY5nag8ZWygkr -KEHGjGgAn0zQgj51GqNGaJx7aA3HgC5Z1krzuQINBEAX4Q4QCAD2Qle3CH8IF3Ki -utapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSGSfgMg71l -6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJZv8V+bv9 -kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgNRR0PfIiz -HHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv884bEpQBgR -jXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsiGSa6q6Je -w1XpMgs7AAICB/9/JpIHcuOeMW+l1jZuUQCGIW+Aa5pB/s0x6eS1xoP24eEk9xgC -NPVt3pfHRtBh9kQpcvTr5y+sU0G4o2+vrJreld1KKWMwz2NhnSmbBZ8EdQLniuKW -mRXLWpMlxq6aP5hEzqu73NsayYNZB7aWY9y0Oz7RpDJ3ggcK38U6DN49drDnfoqO -cUjMhpV3OaN/yP77dA99AgTMt4TzzCCqxH9DVmDzTsdh+GTNPC+Tv1Rm0kpgvHDf -SF4+VKmcGh1iCk5AvLaQIO8FpcnPyS68BjVPGKTkKwcWsCDhJELmrAtOWwq5MwAH -+0F+3MOa7DeROltIcLO7M5Jw6qituFd6jS/2iQBMBBgRAgAMBQJAF+EOBRsMAAAA -AAoJEB3DAdx0Xs6q9hQAoMrWVVJkcnuZ0RsbEEsaqt88V682AKChXsOpysIu7Wpw -xbl01xpkXrsTpQ== -=ONzc ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Michael Glavassevich mrglavas@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: PGP 8.1 - not licensed for commercial use: www.pgp.com - -mQGiBEK8beERBAD/AP2jAbggMPiFgeG26HijyIiDNfcWkmQomU4MyVUk3eILG3wp -d/ebNvgkThirNTr8qddRWLmjMn3uEOEF471l+seh7gya9Xuu4V1Xbet8YIgGdwA6 -hmREwjK2OqeMgr8Cz/frkMarAwDNebT2qZ7WtnGQCAlROyFRGAwcU1JrmwCg/6I/ -uMgcALMsut7OUGpA39ack+sD/2/k712eGLzqy6WHqCx2+gTki2C2ADwdH3h6/IVj -t9BH3AidO+gafz8Wv5Wu7Ok9NRXfvlpp03o+n0fCu3ZFDHrhxZpANLD7sW2nL4UH -8AzBHsQU7NCiZ+WG5yE7lCYzQNQwo00kkFonkY+o512uSDoUmhQTSe1eiWISfNSW -NKnRBAClys3dwWtfQ0MsX3OW4A7nZXq90Kxt1oMxpE48aG8MEL8oYqelsnRDYYN/ -JGSXi8JeKQyp/2rcocNJP+FaDe023rMzXRTyPOlY4GS5FVB433hU1/ZdG2Bis9f1 -szW+i3vbw22N2uHRsvmnf1dmaXBKRcxCxsO9qQRNzA4wg7Jq4rQqTWljaGFlbCBH -bGF2YXNzZXZpY2ggPG1yZ2xhdmFzQGNhLmlibS5jb20+iQBdBBARAgAdBQJCvG3h -BwsJCAcDAgoCGQEFGwMAAAAFHgEAAAAACgkQ/UnAesCSaxNzIgCcCV+HNMY5uvD8 -fgjKSzqDvpGQ3gMAoKjuemz8st3QH+6SVQ2AQP6IdtZRuQINBEK8beEQCAD2Qle3 -CH8IF3KiutapQvMF6PlTETlPtvFuuUs4INoBp1ajFOmPQFXz0AfGy0OplK33TGSG -SfgMg71l6RfUodNQ+PVZX9x2Uk89PY3bzpnhV5JZzf24rnRPxfx2vIPFRzBhznzJ -Zv8V+bv9kV7HAarTW56NoKVyOtQa8L9GAFgr5fSI/VhOSdvNILSd5JEHNmszbDgN -RR0PfIizHHxbLY7288kjwEPwpVsYjY67VYy4XTjTNP18F1dDox0YbN4zISy1Kv88 -4bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWakXUGfnHy9iUsi -GSa6q6Jew1XpMgs7AAICCADYC32Mp6Rza1Z4mTZK6Run1e+w23K8jNxSN3kRSbAd -nKlonYpBQRw/5JwbYNFXriqDtsrJYhGBb1caaRyDlegAinXWnRq6o+kkLLemZQOo -qOW1FIOjWLV6bKbQO+8/2zh8ukGm+uTiljMyOj5g5Y55h47u0hKObP9O/JX4ZTb+ -xCMNmlapOdGQqiHy0SwfYs0eB9roQeLpPF8cA6HX/CrmwjwZzmTNk5nXE63VH9fJ -DVYKr3GDajD33VSV8BMlFscKpIJSsILvfCZJY/qmZcpgSZOBfqDTDB1xQBHsR/CT -cRI6Ri6WFDmBPAavFhB/QLcwRcTfMRkIeaLc34E5tW7UiQBMBBgRAgAMBQJCvG3h -BRsMAAAAAAoJEP1JwHrAkmsTJCsAn3AT5PPocZARQWNClJxnePPSAkbdAKCaWftI -fy7m79rRrQiANKiR07P/lw== -=LVTd ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Michael Glavassevich mrglavas@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.7 (MingW32) - -mQGiBEbWMhMRBAD5U3GTlWqDDcujai7oBKzOSa6AtBAuef6hCjMaMmwbrNbqUHap -WfYizDACuCi5Rwu+yRENcEYAACnMvG6J5rR5Dxkx7Q5DxTPgiFzYhveIHkMV+CHh -SvzaDzNad6e+jDNFPkJqPNCq2LCi5yk1EpxROsU2H2OIH9ciyF5lHUrAhwCgxhyR -W2G2fsn0NKc4d4XWLal3bM0D/jCg0ZsBsHfz+V1d2ykkAafph6Tl2UisGWfOhyEf -bSZg75SciOEgWpoM2417J85M2zNFIuTsyCeHaG1Pq4tZuRm8DSSK6cIFYxZUTLhJ -udWARJoP+cxGf+a4c3meW3KoL8dCgJR8mwgDVSl/lVG31M12z0FEwAL4vrGErQiy -HbgdA/9N/ecGHenlq1JnEh2OxBg2ABHMnTI3/+OFiWVEc6AaC/YoPaPe35/zmmQS -917qv372x7I8OuG37uEKyBfVCJjUcYfrcI63rUCFke5hG8Pj2b+nWxsT5/xnLRB+ -7s4KMTatpbix9SqRuFwxj6JNAeF1CcKg0BXIMR9sbMd0JOda2rRHTWljaGFlbCBH -bGF2YXNzZXZpY2ggKEFwYWNoZSBSZWxlYXNlIFNpZ25pbmcgS2V5KSA8bXJnbGF2 -YXNAY2EuaWJtLmNvbT6IYAQTEQIAIAUCRtYyEwIbAwYLCQgHAwIEFQIIAwQWAgMB -Ah4BAheAAAoJELTgVQIKfLQtqKsAn3YKGksIZDvbodbaIaYSRNEGHEiuAJ4p4d8+ -1ju0nORgP+0PI/kS6Jz8kbkCDQRG1jITEAgAwlVpq8nJqsG9y/UYAFYBh75ez1/z -BRz6PV/eJhlE4Kp464Wp4dvcwtM9HPhPU+95N8l96iZilPlcNFnCe8n3GuKVifw7 -t+4fIYGf3KnOdTmBZ0rq3sfAFNSJao5EM0tyPgBCkJR+0nC5spVMEbbwrcPRegNV -aTZx4n2gkOl76c7GpIBtylem29Wqh5k8SLn3go0M+mnvQQVRL2khB8Qxy7hF1WQI -z/UkFcHSm+vPhPpCcva/8lmUDXxuwS2pHvLmH0ACDuX9RBBjc3xGJDMg94IW6GwO -4w92h5Bgs217+VM7lVc6T/sWLC323xo5ZjvMBE5oi1kCUhWRztWrmXCYlwADBQf+ -KuxrNev6sYDasv9NII98trfiBrGUDy4j8d/XC5ey0bNXtkzcACfcIi+tEFwmKirc -n0BjoLOOmBMzSTOyVkynn6mNJyp+uUjU86J5WtdV4jX3msM1FG4dj//XhrvJRs89 -pNCGr4Tw29bMWVNT6Wta6WdUMmS3amhyJyh3ITCeHxskr0UQbBX65oTPQS8bkpOu -0WhCt8epmndwZO9BCuk8xdz3mh8nHX2pr+74K0M5Sr/nFer9bpZQNUR0bxEBhFpL -m5hkzGEakX6PyjNawLIvHc25AUt2wmC31L72tqVBpe6oxNk8U9RFKezcr/TbPMdY -C9hoXLlS6jPNXQ1vPO1rF4hJBBgRAgAJBQJG1jITAhsMAAoJELTgVQIKfLQtDfkA -oKUN6E+lbfqj5NIpuw4/oCnzeJ+1AKCh/HyMBMwXZwVulxPNNnV8uCqc6w== -=A/7H ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Michael Glavassevich mrglavas@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.4.9 (Cygwin) - -mQINBEsh3ukBEADQTZRcZ+Fzyb4fWqhV5egIC8BTP54fjBcv9HKfC4IJxCaK5n/n -GV9uuxv37LPNtZw9WxI8MLBJh0I3lu4PnrTvbcCVgP3NXlzFvdzY5n5FKQN62i+R -6DbKehdd/QNlW0plxhVr3z6ZC2QH/EKRY0yJDcqT958Qz2BuPhXqYc+qlPtXAyPz -2vE0aWsOZ6/7CJ7inLnh+0oVo1mJdtUYAVtoVwzQ6P7zcwvJDvwUaLUG9U0or46i -46SNk2hTRK0q7KcFpEyv+6b1lbezZVWLN1tZjCITN8FHwf16cOMJF0XO/4fsCBQJ -BCtZ9x5A6eCsDlWFCPd0BMDcPVDsB83AhujZo00g5H12oWVcxNUnlxSJ5ou7zRtq -T4RJ7mpB7IM6g4zASJMgUkkuMnsQ9d+Bv8o9wC5lCDTEjN779ZxcctCmbBs6blgo -4q9hYvAJYSkBOSfx+TRPuAYk9WK4elp8yq/XIrB1k7seKfTesROSf5Td5f988OpA -jdyHhdp+HKstgktOkIvtDHQKgrsaKy5mHKqrWOA/mLL/Yw1p2IJkpBnGz8r/8mPD -ecWrenRiT0E/us+D7tpHi84DrpfTS6niPaM4FgoigbCsdK/0T6IJ6uXVOPHdbpnL -k5JDRYercy57tlaPwEHJITPe0FDP4zKJ+Jq28UYFRbPWDPcZJhPrUKA5IwARAQAB -tD1NaWNoYWVsIEdsYXZhc3NldmljaCAoQ09ERSBTSUdOSU5HIEtFWSkgPG1yZ2xh -dmFzQGFwYWNoZS5vcmc+iQI2BBMBAgAgBQJLId7pAhsDBgsJCAcDAgQVAggDBBYC -AwECHgECF4AACgkQlEOAhCOKWlZifhAAhEkzKFOPkwJ58vy47jwMQa7/iAMs3gNN -zNYcNcn6Vj3n/gTa5IlWrcjx2VnZviSW13lwry7DmudfO/qeU0JsJr4mk8Kwj5mh -GFa5r/gt+dnOW/iFy8lEaJUI4vcXVZa4QK310d+Loat4ac0i0Nkioeiomix5RaQv -A+I4m7qJpo6V112d/0/GCVJADwFm/5sbDhreUV4H8zIIkhH47YZKejEUArO3Teqn -4Ym6ES/25qv/wiDSuuQOwIBymYIHCVam42VUHdbUHEjFZF7v5A1qjvdymZBtMGK2 -nfQCLUHpX6ACq+icwShLG4CDK4+zYdN0bTwI20VbLlFzFScjVga21Dqkdaw1bIvn -cSmAXwrSKbFIdsdnsq9lnTqSszs5AyXQZ2Iq0iGk73L/CJemtgp9gwf3dp03WXQG -5LCuTiRb/MWcgAPoG2KVEHRjE3KYGxEQ/OgIHxwDiDnvyvukjkpV/O/9A9LAga+5 -f7J22ih9g0ILbSbX0N9PWpvESD0fskAT6awlcvvyFacOm4tcYveMRESyT6/ZJWAm -t/DlHcxLshX0RQZCETV/HO1C59twuds6MEbs3rTaFsKryz5Vo4/AQSsz46eDZze3 -XZ8y4FLHAkgrptHfoV39kyjJHmIMOAkx6S1YIvswTU0hF9SrxfrslyF9SwxYNuHt -Q/M+Mf7tVQ4= -=NDBw ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Ankit Pasricha ankitp@ca.ibm.com ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1.2.5 (MingW32) - -mQGiBEGP1U8RBACPJQLl8jBRDI4sVA2DHySLPIJNjdgACMLnXk3wh8o35kW0rG1g -z0H+lIk8PwG1yjIUsd/V53zIR4+FwwaGGj9NloKWzRxTXmIPeUTKuIZUSUcrgEHI -Yjn2geVK7757zyzcDccXDmKibe9c02YNxPQvLEw4fhmq8GuThmdp+p937wCgiQLl -cokwmXs1m6hO8blCG/McHY8D/R8ObwatEBTmsyAHtufQTn1jPK6mB3fQqtb/54z9 -T6pX4Qy1+c9yBo4lb/FuC+IuV85VF6bwswPlgbrDELaQcz0/F8vJZMr05WNpBFav -iU/OQzHAJjWgjW0oT307Zxo5G6RDlpaGmAx19gUVWj/m2CWlj/jVCwbTIzZ0JqKy -d4nAA/44KvN0kwTjySX7EtvnCwsj0UHUordK7YohRS9BIdSij848a1i81mfdyZEf -8D8PwpNTINCmIwllvGgTuwH46068OFKrnhLEnDv7Ij4ZwL/WB+wQQr+KgXVIXkE7 -6jrZs59lTwLjYDk9qqQIDko4o4FwYxMbV6JiyqvdfAsAJrZks7QiQW5raXQgUGFz -cmljaGEgPGFua2l0cEBjYS5pYm0uY29tPoheBBMRAgAeBQJBj9VPAhsDBgsJCAcD -AgMVAgMDFgIBAh4BAheAAAoJEI+v7Zyh+3vctP8An0cCChX7MR+LslpTe9MDa9Sg -7D6RAJ92iCJMrqUTdnntZbCl4Tn9KDXrvbkBDQRBj9VTEAQAr4VUT8kmc/7/ygmA -ajSV3QBtg6WedHfx2GwvLMmfAEZ2jiSZ0o4OUHPtRFZmcx0CwQElTeMnHbEhr82I -4HQzwxcoKh7SpMNrMBzdmUbgYpBFOaiTpMe9JTSPw/bNRPAO84CCKKJZztI05bBY -8LeF0lECV3MV7lgGeUs/2xEojEcAAwUEAJHNgiuuurfhxcegHkwSHPD+qTOT+/cW -Gfhkg8MLxAoZtZnPWhfdnRadRxW5LfRGqn+yyI6HvW4LpXU+AGxKnimmovT6nEqJ -up55DsMbuwxO+RPL09+lHgySf5h+EYiNBRogPzzPVIHDsVFsNzEBIWXY6vsfK8iC -wQTy0MP7qPXUiEkEGBECAAkFAkGP1VMCGwwACgkQj6/tnKH7e9w1MACeKZme/d9N -mXu+1q755Iu7+Ke+/LgAn2BLQWBFsDmmWyPMfJlwTPoHLC+F -=2zre ------END PGP PUBLIC KEY BLOCK----- - -Name User ID -Mukul Gandhi mukulg@apache.org ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v2.2.6 (Windows) - -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 -6CMlHiO/MH1/Ktz2a7NW -=hMIE ------END PGP PUBLIC KEY BLOCK----- diff --git a/XJavac.java b/XJavac.java index 72d10d7..012b726 100644 --- a/XJavac.java +++ b/XJavac.java @@ -46,24 +46,27 @@ public class XJavac extends Javac { * @exception BuildException if the compilation has problems. */ public void execute() throws BuildException { - if(isJDK14OrHigher()) { + Properties props = null; + try { + props = System.getProperties(); + } catch (Exception e) { + throw new BuildException("unable to determine java vendor because could not access system properties!"); + } + String currBCP = (String)props.get("sun.boot.class.path"); // this property is absent / null with JDK 9 & above + + if(isJDK14OrHigher() && !(currBCP == null)) { // maybe the right one; check vendor: - // by checking system properties: - Properties props = null; - try { - props = System.getProperties(); - } catch (Exception e) { - throw new BuildException("unable to determine java vendor because could not access system properties!"); - } + // by checking system properties: // this is supposed to be provided by all JVM's from time immemorial String vendor = ((String)props.get("java.vendor")).toUpperCase(Locale.ENGLISH); if (vendor.indexOf("IBM") >= 0) { // we're on an IBM 1.4 or higher; fiddle with the bootclasspath. setBootclasspath(createIBMJDKBootclasspath()); } - // need to do special things for Sun too and also + // need to do special things for Sun/Oracle too and also // for Apple, HP, FreeBSD, SableVM, Kaffe and Blackdown: a Linux port of Sun Java else if( (vendor.indexOf("SUN") >= 0) || + (vendor.indexOf("ORACLE") >= 0) || (vendor.indexOf("BLACKDOWN") >= 0) || (vendor.indexOf("APPLE") >= 0) || (vendor.indexOf("HEWLETT-PACKARD") >= 0) || @@ -75,8 +78,7 @@ public class XJavac extends Javac { // we must use the classpath Path bcp = createBootclasspath(); Path clPath = getClasspath(); - bcp.append(clPath); - String currBCP = (String)props.get("sun.boot.class.path"); + bcp.append(clPath); Path currBCPath = new Path(null); currBCPath.createPathElement().setPath(currBCP); bcp.append(currBCPath); @@ -94,10 +96,16 @@ public class XJavac extends Javac { Path bcp = createBootclasspath(); String javaHome = System.getProperty("java.home"); StringBuffer bcpMember = new StringBuffer(); - bcpMember.append(javaHome).append("/lib/charsets.jar:"); + bcpMember.append(javaHome).append("/bin/default/jclSC170/vm.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/ppc/default/jclSC170/vm.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/charsets.jar:"); bcp.createPathElement().setPath(bcpMember.toString()); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/core.jar:"); bcp.createPathElement().setPath(bcpMember.toString()); + bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/math.jar:"); + bcp.createPathElement().setPath(bcpMember.toString()); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/vm.jar:"); bcp.createPathElement().setPath(bcpMember.toString()); bcpMember.replace(javaHome.length(), bcpMember.length(), "/lib/java.util.jar:"); diff --git a/sources b/sources index 8ff6b2e..7ac07ed 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (Xerces-J-src.2.12.1.tar.gz) = 66dc57d01adaa7668633bda4b96d8c43aebce4170d5e7d22ecd603d4fb74d38312cfa9fd0deb143282ec6f9c71b6f96ddf8efa367a757fc48a1b8d2709946531 -SHA512 (Xerces-J-src.2.12.1.tar.gz.asc) = cca61b4b5bcd2bb750fd879c18edc7bf90efc2b6bbfafb124e7fa31578bf21a4ddb14377616cc66a480b70498e3ebdd690f7cd3fe8a6f298834c0f3a34cfeab4 +SHA512 (Xerces-J-src.2.12.2.tar.gz) = e71a692212a974ebfa39af5ffd023b433ece34425b12aceeffe89cebe04f28dd8fa46a131a56f30295dca36de115128a6d7e05172c82f5b85d914cd991f34056 diff --git a/xerces-j2-modulefix.patch b/xerces-j2-modulefix.patch deleted file mode 100644 index b895e21..0000000 --- a/xerces-j2-modulefix.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -up ./build.xml.fix2 ./build.xml ---- ./build.xml.fix2 2020-06-24 14:11:03.342338406 -0400 -+++ ./build.xml 2020-06-24 14:14:03.000100028 -0400 -@@ -447,7 +447,7 @@ Authors: - author='true' version='true' - windowtitle='XML Standard API' doctitle='XML Standard API' - bottom='${copyright}' -- additionalparam='${additional.param}' -+ additionalparam='--patch-module jdk.xml.dom=${build.src}/org/w3c/dom/html ${additional.param}' - /> - - = 1.4.01 BuildRequires: xml-commons-resolver >= 1.2 -BuildRequires: java-devel +BuildRequires: java-1.8.0-openjdk-devel Requires: xml-commons-apis >= 1.4.01 Requires: xml-commons-resolver >= 1.2 @@ -107,12 +109,11 @@ Requires: %{name} = %{version}-%{release} %setup -n xerces-%{cvs_version} %patch0 -p0 %patch1 -p0 -%patch2 -p0 # Copy the custom ant task into place mkdir -p tools/org/apache/xerces/util mkdir -p tools/bin -cp -a %{SOURCE3} tools/org/apache/xerces/util +cp -a %{SOURCE3} %{SOURCE5} %{SOURCE6} tools/org/apache/xerces/util # Make sure upstream hasn't sneaked in any jars we don't know about find . \( -name '*.class' -o -name '*.jar' \) -delete @@ -130,17 +131,17 @@ sed -i -e "s|additionalparam='|additionalparam='-Xdoclint:none |" build.xml pushd tools # Build custom ant tasks -javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java -jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class +%javac -classpath $(build-classpath ant) org/apache/xerces/util/XJavac.java +%jar cf bin/xjavac.jar org/apache/xerces/util/XJavac.class -jar cmf /dev/null serializer.jar +%jar cmf /dev/null serializer.jar ln -sf $(build-classpath xml-commons-apis) xml-apis.jar ln -sf $(build-classpath xml-commons-resolver) resolver.jar popd # Build everything export ANT_OPTS="-Xmx512m -Djava.awt.headless=true -Dbuild.sysclasspath=first -Ddisconnected=true" -ant -Djavac.source=1.8 -Djavac.target=1.8 \ +%ant -Djavac.source=1.6 -Djavac.target=1.6 \ -Dbuild.compiler=modern \ clean jars javadocs @@ -192,6 +193,10 @@ ln -sf %{name}.jar %{_javadir}/jaxp_parser_impl.jar %{_datadir}/%{name} %changelog +* Thu Apr 21 2022 Mikolaj Izdebski - 2.12.2-1 +- Update to upstream version 2.12.2 +- Resolves: CVE-2022-23437 + * Sat Feb 05 2022 Jiri Vanek - 2.12.1-7 - Rebuilt for java-17-openjdk as system jdk