--- /usr/portage/dev-java/lucene/lucene-3.6.2-r1.ebuild 2018-01-03 12:38:59.000000000 +0200 +++ /usr/local/portage/dev-java/lucene/lucene-3.6.2-r2.ebuild 2018-01-06 18:55:01.892201666 +0200 @@ -18,25 +18,26 @@ KEYWORDS="amd64 x86" CDEPEND=" - dev-java/ant-ivy:2 + dev-java/ant-core:0 dev-java/ant-junit:0 dev-java/ant-nodeps:0 dev-java/hamcrest-core:0 + dev-java/jflex:0 contrib? ( + dev-java/junit:4 dev-java/jakarta-regexp:1.4 dev-java/commons-compress:0 dev-java/commons-collections:0 dev-java/commons-digester:0 dev-java/commons-logging:0 dev-java/commons-beanutils:1.7 + dev-java/commons-codec:0 + dev-java/icu4j:56 )" DEPEND=" ${CDEPEND} - >=virtual/jdk-1.6 - test? ( - dev-java/junit:4 - )" + >=virtual/jdk-1.6" RDEPEND=" ${CDEPEND} @@ -48,123 +49,95 @@ JRE_VERSION_MIGRATION.txt ) -# All tests fail with the following error: -# junit.framework.AssertionFailedError: ensure your setUp() calls super.setUp()!!! -RESTRICT="test" +# [0]: Patch so that we can compile the package against ICU 50 and above +PATCHES=( + "${FILESDIR}"/lucene_contrib_icu4j_v50.patch +) -src_prepare() { - default - java-pkg_clean - sed -i \ - -e '/-Xmax/ d' \ - common-build.xml || die +EANT_GENTOO_CLASSPATH=" + ant-core + ant-junit + junit-4 + hamcrest-core + jflex + " +EANT_EXTRA_ARGS="-Dversion=${PV} -Dfailonjavadocwarning=false" +EANT_DOC_TARGET="javadocs-core" + +EANT_TEST_TARGET="test-core" +EANT_TEST_EXTRA_ARGS="-Dheadless=true -Djava.io.tmpdir=${T}" +EANT_TEST_GENTOO_CLASSPATH=" + ant-core + ant-junit + junit-4 + " +EANT_TEST_ANT_TASKS="ant-junit" - # FIXME: contrib builds do not work if junit not included - #java-pkg_jar-from --build-only --into lib \ - # junit-4 junit.jar junit-4.7.jar - java-pkg_jar-from --build-only --into lib \ - ant-core ant.jar ant-1.7.1.jar - java-pkg_jar-from --build-only --into lib \ - ant-junit ant-junit.jar ant-junit-1.7.1.jar +JAVA_ANT_REWRITE_CLASSPATH="yes" - if use contrib; then - cd contrib/ || die - java-pkg_jar-from --build-only --into queries/lib \ - jakarta-regexp:1.4 jakarta-regexp.jar jakarta-regexpt-1.4.jar - java-pkg_jar-from --build-only --into benchmark/lib \ - commons-compress commons-compress.jar commons-compress-1.1.jar - java-pkg_jar-from --build-only --into benchmark/lib \ - commons-collections commons-collections.jar commons-collections-3.1.jar - java-pkg_jar-from --build-only --into benchmark/lib \ - commons-digester commons-digester.jar commons-digester-1.7.jar - java-pkg_jar-from --build-only --into benchmark/lib \ - commons-logging commons-logging.jar commons-logging-1.0.4.jar - java-pkg_jar-from --build-only --into benchmark/lib \ - commons-beanutils:1.7 commons-beanutils.jar commons-beanutils-1.7.0.jar - fi -} +# All tests in contrib/icu/test fail. +RESTRICT="test" src_prepare() { default - java-pkg_clean + sed -i \ -e '/-Xmax/ d' \ -e '/property="ivy.available"/s,resource="${ivy.resource}",file="." type="dir",g' \ -e '/= 1.8 the --allow-script-in-comments + # is needed so docs could be built + if java-pkg_is-vm-version-ge "1.8" ; then + java-ant_xml-rewrite -f common-build.xml \ + -c -e javadoc \ + -a additionalparam \ + -v "-Xdoclint:none --allow-script-in-comments" + fi + + java-pkg-2_src_prepare +} - ANT_TASKS="none" \ - eant -Dversion=${PV} \ - -Dfailonjavadocwarning=false \ - jar-core \ - $(use_doc javadocs-core) +src_compile() { + EANT_BUILD_TARGET="jar-core" if use contrib; then - ANT_TASKS="none" \ - eant -Dversion=${PV} \ - -Dfailonjavadocwarning=false \ - build-contrib \ - $(use_doc javadocs-all) + EANT_GENTOO_CLASSPATH+=" + jakarta-regexp-1.4 + commons-compress + commons-collections + commons-digester + commons-logging + commons-beanutils-1.7 + commons-codec + icu4j-56 + " + EANT_BUILD_TARGET+=" build-contrib" + EANT_DOC_TARGET+=" javadocs-all" fi + + java-ant_rewrite-classpath common-build.xml + + default + java-pkg-2_src_compile } src_test() { - # FIXME: test does not get run, even when selected - java-ant_rewrite-classpath common-build.xml - EANT_GENTOO_CLASSPATH="junit-4 ant-core ant-junit" \ - ANT_TASKS="ant-junit" \ - eant test-core + if use contrib; then + EANT_TEST_GENTOO_CLASSPATH+=" commons-codec ${EANT_GENTOO_CLASSPATH}" + EANT_TEST_TARGET+=" test-contrib" + fi + + java-pkg-2_src_test } src_install() {