diff options
author | Vlastimil Babka <caster@gentoo.org> | 2010-02-28 14:35:45 +0000 |
---|---|---|
committer | Vlastimil Babka <caster@gentoo.org> | 2010-02-28 14:35:45 +0000 |
commit | e96238250fea4c74d7059b6bad993aa69abea220 (patch) | |
tree | f59448afaafd48f1012e6bfb8c4944d26a3c52cb /dev-java | |
parent | Version bump, fix for bug #299478 and add ~amd64 (diff) | |
download | gentoo-2-e96238250fea4c74d7059b6bad993aa69abea220.tar.gz gentoo-2-e96238250fea4c74d7059b6bad993aa69abea220.tar.bz2 gentoo-2-e96238250fea4c74d7059b6bad993aa69abea220.zip |
Revbump to apply prefix changes from bug #306425 by Fabian Groffen <grobian@gentoo.org>. Put everything from FILESDIR into the gentoo distfiles.
(Portage version: 2.2_rc63/cvs/Linux x86_64)
Diffstat (limited to 'dev-java')
-rw-r--r-- | dev-java/ant-core/ChangeLog | 13 | ||||
-rw-r--r-- | dev-java/ant-core/ant-core-1.7.1-r4.ebuild | 12 | ||||
-rw-r--r-- | dev-java/ant-core/ant-core-1.7.1-r5.ebuild | 105 | ||||
-rw-r--r-- | dev-java/ant-core/ant-core-1.8.0-r1.ebuild | 104 | ||||
-rw-r--r-- | dev-java/ant-core/files/1.7.1-ant-r1 | 204 | ||||
-rw-r--r-- | dev-java/ant-core/files/1.7.1-jdk4-javadoc.patch | 60 | ||||
-rw-r--r-- | dev-java/ant-core/files/1.7.1-pkg-info.patch | 227 |
7 files changed, 227 insertions, 498 deletions
diff --git a/dev-java/ant-core/ChangeLog b/dev-java/ant-core/ChangeLog index 9856ab7ebefc..da29addfbe7e 100644 --- a/dev-java/ant-core/ChangeLog +++ b/dev-java/ant-core/ChangeLog @@ -1,11 +1,22 @@ # ChangeLog for dev-java/ant-core # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ChangeLog,v 1.101 2010/02/21 00:34:34 caster Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ChangeLog,v 1.102 2010/02/28 14:35:43 caster Exp $ # Ant-core blocks lower/older versions of ant-tasks, # since it will not run when there is a version mismatch betwean the 2 packages # Please unemerge ant-tasks when updating ant-core. +*ant-core-1.8.0-r1 (28 Feb 2010) +*ant-core-1.7.1-r5 (28 Feb 2010) + + 28 Feb 2010; Vlastimil Babka <caster@gentoo.org> -files/1.7.1-ant-r1, + +ant-core-1.7.1-r5.ebuild, -files/1.7.1-jdk4-javadoc.patch, + +ant-core-1.8.0-r1.ebuild, -files/1.7.1-pkg-info.patch, + ant-core-1.7.1-r4.ebuild: + Revbump to apply prefix changes from bug #306425 by Fabian Groffen + <grobian@gentoo.org>. Put everything from FILESDIR into the gentoo + distfiles. + *ant-core-1.8.0 (21 Feb 2010) 21 Feb 2010; Vlastimil Babka <caster@gentoo.org> +ant-core-1.8.0.ebuild: diff --git a/dev-java/ant-core/ant-core-1.7.1-r4.ebuild b/dev-java/ant-core/ant-core-1.7.1-r4.ebuild index 91d60f478a4a..382c152ae1a5 100644 --- a/dev-java/ant-core/ant-core-1.7.1-r4.ebuild +++ b/dev-java/ant-core/ant-core-1.7.1-r4.ebuild @@ -1,6 +1,6 @@ -# Copyright 1999-2009 Gentoo Foundation +# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ant-core-1.7.1-r4.ebuild,v 1.5 2009/07/04 14:26:21 ranger Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ant-core-1.7.1-r4.ebuild,v 1.6 2010/02/28 14:35:43 caster Exp $ EAPI="2" @@ -16,7 +16,7 @@ MY_P="apache-ant-${PV}" DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files." HOMEPAGE="http://ant.apache.org/" SRC_URI="mirror://apache/ant/source/${MY_P}-src.tar.bz2 - mirror://gentoo/ant-${PV}-gentoo.tar.bz2" + mirror://gentoo/ant-${PV}-gentoo-r1.tar.bz2" LICENSE="Apache-2.0" SLOT="0" @@ -34,8 +34,8 @@ src_prepare() { # remove bundled xerces rm -v lib/*.jar || die - epatch "${FILESDIR}/1.7.1-pkg-info.patch" - epatch "${FILESDIR}/1.7.1-jdk4-javadoc.patch" + epatch "${WORKDIR}/patches/1.7.1-pkg-info.patch" + epatch "${WORKDIR}/patches/1.7.1-jdk4-javadoc.patch" # use our split-ant build.xml mv -f "${WORKDIR}/build.xml" . || die @@ -69,7 +69,7 @@ src_install() { dosym /usr/share/${PN}/lib/${jar} /usr/share/ant/lib/${jar} done - newbin "${FILESDIR}/${PV}-ant-r1" ant || die "failed to install wrapper" + dobin "${WORKDIR}/ant" || die "failed to install wrapper" dodir /usr/share/${PN}/bin for each in antRun runant.pl runant.py complete-ant-cmd.pl ; do dobin "${S}/src/script/${each}" diff --git a/dev-java/ant-core/ant-core-1.7.1-r5.ebuild b/dev-java/ant-core/ant-core-1.7.1-r5.ebuild new file mode 100644 index 000000000000..762187d427b5 --- /dev/null +++ b/dev-java/ant-core/ant-core-1.7.1-r5.ebuild @@ -0,0 +1,105 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ant-core-1.7.1-r5.ebuild,v 1.1 2010/02/28 14:35:43 caster Exp $ + +EAPI="3" + +# don't depend on itself +JAVA_ANT_DISABLE_ANT_CORE_DEP=true +# rewriting build.xml files for the testcases has no reason atm +JAVA_PKG_BSFIX_ALL=no +JAVA_PKG_IUSE="doc source" +inherit eutils java-pkg-2 java-ant-2 prefix + +MY_P="apache-ant-${PV}" + +DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files." +HOMEPAGE="http://ant.apache.org/" +SRC_URI="mirror://apache/ant/source/${MY_P}-src.tar.bz2 + mirror://gentoo/ant-${PV}-gentoo-r2.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +DEPEND=">=virtual/jdk-1.4 + !dev-java/ant-tasks + !dev-java/ant-optional" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + # remove bundled xerces + rm -v lib/*.jar || die + + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches/" + eprefixify "${WORKDIR}/ant" + + # use our split-ant build.xml + mv -f "${WORKDIR}/build.xml" . || die + + # bug #196080 + java-ant_bsfix_one build.xml + java-pkg-2_src_prepare +} + +src_compile() { + export ANT_HOME="" + + local bsyscp + + # this ensures that when building ant with bootstrapped ant, + # only the source is used for resolving references, and not + # the classes in bootstrapped ant + # but jikes in kaffe has issues with this... + if ! java-pkg_current-vm-matches kaffe; then + bsyscp="-Dbuild.sysclasspath=ignore" + fi + + CLASSPATH="$(java-config -t)" ./build.sh ${bsyscp} jars-core internal_dist \ + $(use_doc javadocs) || die "build failed" +} + +src_install() { + dodir /usr/share/ant/lib + for jar in ant.jar ant-bootstrap.jar ant-launcher.jar ; do + java-pkg_dojar build/lib/${jar} + dosym /usr/share/${PN}/lib/${jar} /usr/share/ant/lib/${jar} + done + + dobin "${WORKDIR}/ant" || die "failed to install wrapper" + dodir /usr/share/${PN}/bin + for each in antRun runant.pl runant.py complete-ant-cmd.pl ; do + dobin "${S}/src/script/${each}" + dosym /usr/bin/${each} /usr/share/${PN}/bin/${each} + done + dosym /usr/share/${PN}/bin /usr/share/ant/bin + + insinto /usr/share/${PN} + doins -r dist/etc + dosym /usr/share/${PN}/etc /usr/share/ant/etc + + echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant" + doenvd "${T}/20ant" || die "failed to install env.d file" + + dodoc README WHATSNEW KEYS + + if use doc; then + dohtml welcome.html + dohtml -r docs/* + java-pkg_dojavadoc --symlink manual/api build/javadocs + fi + + use source && java-pkg_dosrc src/main/* +} + +pkg_postinst() { + elog "The way of packaging ant in Gentoo has changed significantly since" + elog "the 1.7.0 version, For more information, please see:" + elog "http://www.gentoo.org/proj/en/java/ant-guide.xml" + elog + elog "Since 1.7.1, the ant-tasks meta-ebuild has been removed and its USE" + elog "flags have been moved to dev-java/ant." +} diff --git a/dev-java/ant-core/ant-core-1.8.0-r1.ebuild b/dev-java/ant-core/ant-core-1.8.0-r1.ebuild new file mode 100644 index 000000000000..f4cf489d9a3b --- /dev/null +++ b/dev-java/ant-core/ant-core-1.8.0-r1.ebuild @@ -0,0 +1,104 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/ant-core-1.8.0-r1.ebuild,v 1.1 2010/02/28 14:35:43 caster Exp $ + +EAPI="3" + +# don't depend on itself +JAVA_ANT_DISABLE_ANT_CORE_DEP=true +# rewriting build.xml files for the testcases has no reason atm +JAVA_PKG_BSFIX_ALL=no +JAVA_PKG_IUSE="doc source" +inherit eutils java-pkg-2 java-ant-2 prefix + +MY_P="apache-ant-${PV}" + +DESCRIPTION="Java-based build tool similar to 'make' that uses XML configuration files." +HOMEPAGE="http://ant.apache.org/" +SRC_URI="mirror://apache/ant/source/${MY_P}-src.tar.bz2 + mirror://gentoo/ant-${PV}-gentoo-r1.tar.bz2" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~x86 ~x86-fbsd ~x86-freebsd ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="" + +DEPEND=">=virtual/jdk-1.4 + !dev-java/ant-tasks + !dev-java/ant-optional" +RDEPEND="${DEPEND}" + +S="${WORKDIR}/${MY_P}" + +src_prepare() { + # remove bundled xerces + rm -v lib/*.jar || die + + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" epatch "${WORKDIR}/patches/" + eprefixify "${WORKDIR}/ant" + + # use our split-ant build.xml + mv -f "${WORKDIR}/build.xml" . || die + + # bug #196080 + java-ant_bsfix_one build.xml + java-pkg-2_src_prepare +} + +src_compile() { + export ANT_HOME="" + + local bsyscp + + # this ensures that when building ant with bootstrapped ant, + # only the source is used for resolving references, and not + # the classes in bootstrapped ant + # but jikes in kaffe has issues with this... + if ! java-pkg_current-vm-matches kaffe; then + bsyscp="-Dbuild.sysclasspath=ignore" + fi + + CLASSPATH="$(java-config -t)" ./build.sh ${bsyscp} jars-core internal_dist \ + $(use_doc javadocs) || die "build failed" +} + +src_install() { + dodir /usr/share/ant/lib + for jar in ant.jar ant-bootstrap.jar ant-launcher.jar ; do + java-pkg_dojar build/lib/${jar} + dosym /usr/share/${PN}/lib/${jar} /usr/share/ant/lib/${jar} + done + + dobin "${WORKDIR}/ant" || die "failed to install wrapper" + dodir /usr/share/${PN}/bin + for each in antRun antRun.pl runant.pl runant.py complete-ant-cmd.pl ; do + dobin "${S}/src/script/${each}" + dosym /usr/bin/${each} /usr/share/${PN}/bin/${each} + done + dosym /usr/share/${PN}/bin /usr/share/ant/bin + + insinto /usr/share/${PN} + doins -r dist/etc + dosym /usr/share/${PN}/etc /usr/share/ant/etc + + echo "ANT_HOME=\"${EPREFIX}/usr/share/ant\"" > "${T}/20ant" + doenvd "${T}/20ant" || die "failed to install env.d file" + + dodoc NOTICE README WHATSNEW KEYS || die + + if use doc; then + dohtml -r docs/* + java-pkg_dojavadoc --symlink manual/api build/javadocs + fi + + use source && java-pkg_dosrc src/main/* +} + +pkg_postinst() { + elog "The way of packaging ant in Gentoo has changed significantly since" + elog "the 1.7.0 version, For more information, please see:" + elog "http://www.gentoo.org/proj/en/java/ant-guide.xml" + elog + elog "Since 1.7.1, the ant-tasks meta-ebuild has been removed and its USE" + elog "flags have been moved to dev-java/ant." +} diff --git a/dev-java/ant-core/files/1.7.1-ant-r1 b/dev-java/ant-core/files/1.7.1-ant-r1 deleted file mode 100644 index 1b20e5fa96bb..000000000000 --- a/dev-java/ant-core/files/1.7.1-ant-r1 +++ /dev/null @@ -1,204 +0,0 @@ -#! /bin/bash - -# 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. - -# Edited for Gentoo Linux -# $Header: /var/cvsroot/gentoo-x86/dev-java/ant-core/files/1.7.1-ant-r1,v 1.1 2008/11/09 00:19:14 caster Exp $ - -# Extract launch and ant arguments, (see details below). -ant_exec_args= -no_config=false -use_jikes_default=false -ant_exec_debug=false -show_help=false -for arg in "$@" ; do - if [ "$arg" = "--noconfig" ] ; then - no_config=true - elif [ "$arg" = "--usejikes" ] ; then - use_jikes_default=true - elif [ "$arg" = "--execdebug" ] ; then - ant_exec_debug=true - elif [ my"$arg" = my"--h" -o my"$arg" = my"--help" ] ; then - show_help=true - ant_exec_args="$ant_exec_args -h" - else - if [ my"$arg" = my"-h" -o my"$arg" = my"-help" ] ; then - show_help=true - fi - ant_exec_args="$ant_exec_args \"$arg\"" - fi -done - -# Source/default ant configuration -if $no_config ; then - rpm_mode=false - usejikes=$use_jikes_default -else - # load system-wide ant configuration (ONLY if ANT_HOME has NOT been set) - if [ -z "$ANT_HOME" -o "$ANT_HOME" = "/usr/share/ant" ]; then - if [ -f "/etc/ant.conf" ] ; then - . /etc/ant.conf - fi - fi - - # load user ant configuration - if [ -f "$HOME/.ant/ant.conf" ] ; then - . $HOME/.ant/ant.conf - fi - if [ -f "$HOME/.antrc" ] ; then - . "$HOME/.antrc" - fi - - # provide default configuration values - if [ -z "$rpm_mode" ] ; then - rpm_mode=false - fi - if [ -z "$usejikes" ] ; then - usejikes=$use_jikes_default - fi -fi - -export WANT_JAVA_CONFIG=2 - -# Always get JAVA_HOME from java-config, unless ANT_RESPECT_JAVA_HOME is set -# Use GENTOO_VM to change which VM is used instead. -if [[ -z "${ANT_RESPECT_JAVA_HOME}" || -z "${JAVA_HOME}" ]]; then - export JAVA_HOME="$(java-config -g JAVA_HOME)" -fi - -if [ -z $JAVA_HOME ] ; then - echo 'Error: No JDK found!' - echo "Try using java-config script to set your JDK" - echo "Remember that you need a JDK not a JRE" - exit 1 -fi - -ANT_HOME=/usr/share/ant-core - -# set ANT_LIB location -ANT_LIB="${ANT_HOME}/lib" - -if [ -z "$JAVACMD" ] ; then - if [ -n "$JAVA_HOME" ] ; then - JAVACMD="$JAVA_HOME/bin/java" - else - JAVACMD=`which java 2> /dev/null ` - if [ -z "$JAVACMD" ] ; then - JAVACMD=java - fi - fi -fi - -if [ ! -x "$JAVACMD" ] ; then - echo "Error: JAVA_HOME is not defined correctly." - echo " We cannot execute $JAVACMD" - exit 1 -fi - -if [ -z "$LOCALCLASSPATH" ] ; then - LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar -else - LOCALCLASSPATH=$ANT_LIB/ant-launcher.jar:$LOCALCLASSPATH -fi - -# if ANT_TASKS is not set, default to "all" -ANT_TASKS="${ANT_TASKS:-all}" - -# if ANT_TASKS is set to "all", get the tasks list from /usr/share/ant/tasks/ -if [[ "${ANT_TASKS}" == "all" ]]; then - ANT_TASKS="" - # but only if it exists - if [[ -d /usr/share/ant/tasks ]]; then - ANT_TASKS="${ANT_TASKS} "/usr/share/ant/tasks/* - fi - if [[ -d /usr/share/ant/tasks-1.7.1 ]]; then - ANT_TASKS="${ANT_TASKS} "/usr/share/ant/tasks-1.7.1/* - fi -# if set to "none", make ANT_TASKS empty list -elif [[ "${ANT_TASKS}" == "none" ]]; then - ANT_TASKS="" -fi -# otherwise ANT_TASKS defines explicit task list - -# construct the tasks list separated with commas to pass to java-config -TASKS_LIST="" -for task in $ANT_TASKS; do - TASKS_LIST="${TASKS_LIST},$(basename $task)" -done -TASKS_LIST=${TASKS_LIST#,} - -# get the classpath for optional tasks and their dependency .jar files -if [[ -n "${TASKS_LIST}" ]] ; then - ANT_TASKS_CLASSPATH="-lib \"$(java-config -dp ${TASKS_LIST})\"" - ANT_TASKS_LIBPATH="-Djava.library.path=\"$(java-config -di ${TASKS_LIST})\"" -else - ANT_TASKS_CLASSPATH="" - ANT_TASKS_LIBPATH="" -fi - -# determine where to get tools.jar from -if [[ -n "${ANT_RESPECT_JAVA_HOME}" ]]; then - TOOLS_JAR="${JAVA_HOME}/lib/tools.jar" -else - TOOLS_JAR="$(java-config --tools)" -fi - -if [[ -n "${TOOLS_JAR}" ]] ; then - LOCALCLASSPATH="$LOCALCLASSPATH:${TOOLS_JAR}" -else - echo "Warning: Unable to determine tools.jar location." - echo " If build fails because sun.* classes could not be found," - echo " Make sure you are using a JDK, not JRE as your user/system VM." - echo " and that you have java-config version 2.0.30 or above installed." -fi - -# Allow Jikes support (off by default) -if $usejikes; then - ANT_OPTS="$ANT_OPTS -Dbuild.compiler=jikes" -fi - -# Show script help if requested -if $show_help ; then - echo $0 '[script options] [options] [target [target2 [target3] ..]]' - echo 'Script Options:' - echo ' --help, --h print this message and ant help' - echo ' --noconfig suppress sourcing of /etc/ant.conf,' - echo ' $HOME/.ant/ant.conf, and $HOME/.antrc' - echo ' configuration files' - echo ' --usejikes enable use of jikes by default, unless' - echo ' set explicitly in configuration files' - echo ' --execdebug print ant exec line generated by this' - echo ' launch script' - echo ' ' -fi - -# Execute ant using eval/exec to preserve spaces in paths, -# java options, and ant args -ant_sys_opts= - -if [ -n "$JIKESPATH" ]; then - ant_sys_opts="-Djikes.class.path=\"$JIKESPATH\"" -fi - -ant_exec_command="exec \"${JAVACMD}\" ${ANT_OPTS} -classpath \"${LOCALCLASSPATH}\" \ - -Dant.home=\"${ANT_HOME}\" -Dant.library.dir=\"${ANT_LIB}\" ${ant_sys_opts} \ - ${ANT_TASKS_LIBPATH} org.apache.tools.ant.launch.Launcher \ - ${ANT_TASKS_CLASSPATH} ${ANT_ARGS} -cp \"${CLASSPATH}\" ${ant_exec_args}" - -if $ant_exec_debug ; then - echo $ant_exec_command -fi -eval $ant_exec_command diff --git a/dev-java/ant-core/files/1.7.1-jdk4-javadoc.patch b/dev-java/ant-core/files/1.7.1-jdk4-javadoc.patch deleted file mode 100644 index 27dfebd7b660..000000000000 --- a/dev-java/ant-core/files/1.7.1-jdk4-javadoc.patch +++ /dev/null @@ -1,60 +0,0 @@ -The javadoc from Sun JDK 1.4.x fails for @value lines after @since -with a NullPointerException in ValueTaglet.toString. -This patch switches the lines in question. -It also ensures that javadoc errors won't go unnoticed but cause the build -to fail instead. - -2009-02-18 Martin von Gagern - -References: https://bugs.gentoo.org/217102 - -Index: apache-ant-1.7.1/src/main/org/apache/tools/ant/MagicNames.java -=================================================================== ---- apache-ant-1.7.1.orig/src/main/org/apache/tools/ant/MagicNames.java -+++ apache-ant-1.7.1/src/main/org/apache/tools/ant/MagicNames.java -@@ -143,22 +143,22 @@ public final class MagicNames { - /** - * property that provides the default value for javac's and - * javadoc's source attribute. -- * @since Ant 1.7 - * Value: {@value} -+ * @since Ant 1.7 - */ - public static final String BUILD_JAVAC_SOURCE = "ant.build.javac.source"; - - /** - * property that provides the default value for javac's target attribute. -- * @since Ant 1.7 - * Value: {@value} -+ * @since Ant 1.7 - */ - public static final String BUILD_JAVAC_TARGET = "ant.build.javac.target"; - - /** - * Name of the magic property that controls classloader reuse. -- * @since Ant 1.4. - * Value: {@value} -+ * @since Ant 1.4. - */ - public static final String REFID_CLASSPATH_REUSE_LOADER = "ant.reuse.loader"; - -Index: apache-ant-1.7.1/build.xml -=================================================================== ---- apache-ant-1.7.1.orig/build.xml -+++ apache-ant-1.7.1/build.xml -@@ -1483,6 +1483,7 @@ - locale="en" - windowtitle="${Name} API" - doctitle="${Name}" -+ failonerror="true" - verbose="${javadoc.verbose}"> - - <packageset dir="${java.dir}"/> -@@ -1510,6 +1511,7 @@ - <mkdir dir="${build.tests.javadocs}"/> - <javadoc useexternalfile="yes" - destdir="${build.tests.javadocs}" -+ failonerror="true" - author="true" - version="true" - locale="en" diff --git a/dev-java/ant-core/files/1.7.1-pkg-info.patch b/dev-java/ant-core/files/1.7.1-pkg-info.patch deleted file mode 100644 index da4f7c73b684..000000000000 --- a/dev-java/ant-core/files/1.7.1-pkg-info.patch +++ /dev/null @@ -1,227 +0,0 @@ -Backported changeset ensuring that package-info.class is -created/touched when package-info.java is compiled. - -Originally derived from these changesets: -r743910 #43114: ensuring that package-info.class is created/touched - when package-info.java is compiled. -r744132 JDK 1.4 - unfortunately - -svn diff -r 738761:744132 http://svn.apache.org/repos/asf/ant/core/\ -trunk/src/main/org/apache/tools/ant/taskdefs/Javac.java - -2009-03-15 John W. Eckhart -2009-03-17 Martin von Gagern - -References: -https://bugs.gentoo.org/262511 -https://jira.jboss.org/jira/browse/JBSEAM-3386 -https://issues.apache.org/bugzilla/show_bug.cgi?id=43114 - ---- apache-ant-1.7.1.orig/src/main/org/apache/tools/ant/taskdefs/Javac.java -+++ apache-ant-1.7.1/src/main/org/apache/tools/ant/taskdefs/Javac.java -@@ -19,10 +19,12 @@ - package org.apache.tools.ant.taskdefs; - - import java.io.File; -- --import java.util.ArrayList; -+import java.io.FileOutputStream; -+import java.io.IOException; -+import java.io.OutputStream; -+import java.util.HashMap; - import java.util.Iterator; --import java.util.List; -+import java.util.Map; - - import org.apache.tools.ant.BuildException; - import org.apache.tools.ant.DirectoryScanner; -@@ -86,9 +88,6 @@ - private static final String CLASSIC = "classic"; - private static final String EXTJAVAC = "extJavac"; - -- private static final String PACKAGE_INFO_JAVA = "package-info.java"; -- private static final String PACKAGE_INFO_CLASS = "package-info.class"; -- - private Path src; - private File destDir; - private Path compileClasspath; -@@ -115,6 +114,7 @@ - protected boolean failOnError = true; - protected boolean listFiles = false; - protected File[] compileList = new File[0]; -+ private Map/*<String,Long>*/ packageInfos = new HashMap(); - // CheckStyle:VisibilityModifier ON - - private String source; -@@ -124,7 +124,6 @@ - private String errorProperty; - private boolean taskSuccess = true; // assume the best - private boolean includeDestClasses = true; -- private List updateDirList = new ArrayList(); - - /** - * Javac task for compilation of Java files. -@@ -892,6 +891,7 @@ - */ - protected void resetFileLists() { - compileList = new File[0]; -+ packageInfos = new HashMap(); - } - - /** -@@ -909,8 +909,8 @@ - SourceFileScanner sfs = new SourceFileScanner(this); - File[] newFiles = sfs.restrictAsFiles(files, srcDir, destDir, m); - -- newFiles = removePackageInfoFiles(newFiles, srcDir, destDir); - if (newFiles.length > 0) { -+ lookForPackageInfos(srcDir, newFiles); - File[] newCompileList - = new File[compileList.length + newFiles.length]; - System.arraycopy(compileList, 0, newCompileList, 0, -@@ -1063,10 +1063,12 @@ - - // finally, lets execute the compiler!! - if (adapter.execute()) { -- // Success - check -- for (Iterator i = updateDirList.iterator(); i.hasNext();) { -- File file = (File) i.next(); -- file.setLastModified(System.currentTimeMillis()); -+ // Success -+ try { -+ generateMissingPackageInfoClasses(); -+ } catch (IOException x) { -+ // Should this be made a nonfatal warning? -+ throw new BuildException(x, getLocation()); - } - } else { - // Fail path -@@ -1100,72 +1102,69 @@ - } - } - -- // ---------------------------------------------------------------- -- // Code to remove package-info.java files from compilation -- // Since Ant 1.7.1. -- // -- // package-info.java are files that contain package level -- // annotations. They may or may not have corresponding .class -- // files. -- // -- // The following code uses the algorithm: -- // * on entry we have the files that need to be compiled -- // * if the filename is not package-info.java compile it -- // * if a corresponding .class file exists compile it -- // * if the corresponding class directory does not exist compile it -- // * if the corresponding directory lastmodifed time is -- // older than the java file, compile the java file and -- // touch the corresponding class directory (on successful -- // compilation). -- // -- // ---------------------------------------------------------------- -- private File[] removePackageInfoFiles( -- File[] newFiles, File srcDir, File destDir) { -- if (!hasPackageInfo(newFiles)) { -- return newFiles; -- } -- List ret = new ArrayList(); -- for (int i = 0; i < newFiles.length; ++i) { -- if (needsCompilePackageFile(newFiles[i], srcDir, destDir)) { -- ret.add(newFiles[i]); -+ private void lookForPackageInfos(File srcDir, File[] newFiles) { -+ for (int i = 0; i < newFiles.length; i++) { -+ File f = newFiles[i]; -+ if (!f.getName().equals("package-info.java")) { -+ continue; - } -- } -- return (File[]) ret.toArray(new File[0]); -- } -- -- private boolean hasPackageInfo(File[] newFiles) { -- for (int i = 0; i < newFiles.length; ++i) { -- if (newFiles[i].getName().equals(PACKAGE_INFO_JAVA)) { -- return true; -+ String path = relativePath(srcDir, f). -+ replace(File.separatorChar, '/'); -+ String suffix = "/package-info.java"; -+ if (!path.endsWith(suffix)) { -+ log("anomalous package-info.java path: " + path, Project.MSG_WARN); -+ continue; - } -+ String pkg = path.substring(0, path.length() - suffix.length()); -+ packageInfos.put(pkg, new Long(f.lastModified())); - } -- return false; - } - -- private boolean needsCompilePackageFile( -- File file, File srcDir, File destDir) { -- if (!file.getName().equals(PACKAGE_INFO_JAVA)) { -- return true; -- } -- // return true if destDir contains the file -- String rel = relativePath(srcDir, file); -- File destFile = new File(destDir, rel); -- File parent = destFile.getParentFile(); -- destFile = new File(parent, PACKAGE_INFO_CLASS); -- File sourceFile = new File(srcDir, rel); -- if (destFile.exists()) { -- return true; -- } -- // Dest file does not exist -- // Compile Source file if sourceFile is newer that destDir -- // TODO - use fs -- if (sourceFile.lastModified() -- > destFile.getParentFile().lastModified()) { -- updateDirList.add(destFile.getParentFile()); -- return true; -+ /** -+ * Ensure that every {@code package-info.java} produced a {@code package-info.class}. -+ * Otherwise this task's up-to-date tracking mechanisms do not work. -+ * @see <a href="https://issues.apache.org/bugzilla/show_bug.cgi?id=43114">Bug #43114</a> -+ */ -+ private void generateMissingPackageInfoClasses() throws IOException { -+ for (Iterator i = packageInfos.entrySet().iterator(); i.hasNext(); ) { -+ Map.Entry entry = (Map.Entry) i.next(); -+ String pkg = (String) entry.getKey(); -+ Long sourceLastMod = (Long) entry.getValue(); -+ File pkgBinDir = new File(destDir, pkg.replace('/', File.separatorChar)); -+ pkgBinDir.mkdirs(); -+ File pkgInfoClass = new File(pkgBinDir, "package-info.class"); -+ if (pkgInfoClass.isFile() && pkgInfoClass.lastModified() >= sourceLastMod.longValue()) { -+ continue; -+ } -+ log("Creating empty " + pkgInfoClass); -+ OutputStream os = new FileOutputStream(pkgInfoClass); -+ try { -+ os.write(PACKAGE_INFO_CLASS_HEADER); -+ byte[] name = pkg.getBytes("UTF-8"); -+ int length = name.length + /* "/package-info" */ 13; -+ os.write((byte) length / 256); -+ os.write((byte) length % 256); -+ os.write(name); -+ os.write(PACKAGE_INFO_CLASS_FOOTER); -+ } finally { -+ os.close(); -+ } - } -- return false; - } -+ private static final byte[] PACKAGE_INFO_CLASS_HEADER = { -+ (byte) 0xca, (byte) 0xfe, (byte) 0xba, (byte) 0xbe, 0x00, 0x00, 0x00, -+ 0x31, 0x00, 0x07, 0x07, 0x00, 0x05, 0x07, 0x00, 0x06, 0x01, 0x00, 0x0a, -+ 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x46, 0x69, 0x6c, 0x65, 0x01, 0x00, -+ 0x11, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2d, 0x69, 0x6e, 0x66, -+ 0x6f, 0x2e, 0x6a, 0x61, 0x76, 0x61, 0x01 -+ }; -+ private static final byte[] PACKAGE_INFO_CLASS_FOOTER = { -+ 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x2d, 0x69, 0x6e, 0x66, -+ 0x6f, 0x01, 0x00, 0x10, 0x6a, 0x61, 0x76, 0x61, 0x2f, 0x6c, 0x61, 0x6e, -+ 0x67, 0x2f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x02, 0x00, 0x00, 0x01, -+ 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x03, -+ 0x00, 0x00, 0x00, 0x02, 0x00, 0x04 -+ }; - - private String relativePath(File src, File file) { - return file.getAbsolutePath().substring( |