You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@openoffice.apache.org by Matthias Seidel <ma...@hamburg.de> on 2018/08/24 18:41:58 UTC
Re: svn commit: r1838693 - in /openoffice/trunk/main: configure.ac
solenv/ant/aoo-ant.xml
FYI:
I had to disable JUnit for our Linux buildbots (trunk) because now it is
found to be to old on those machines (Ubuntu 14.04).
Regards,
Matthias
Am 23.08.2018 um 08:01 schrieb damjan@apache.org:
> Author: damjan
> Date: Thu Aug 23 06:01:40 2018
> New Revision: 1838693
>
> URL: http://svn.apache.org/viewvc?rev=1838693&view=rev
> Log:
> Beef up detection of JUnit and Hamcrest, to search all the system
> directories they could be in, and search for all the names they
> commonly use.
>
> Check for versions of JUnit that require Hamcrest.
>
> Use Hamcrest in Ant JUnit tests when present.
>
> Patch by: me
>
>
> Modified:
> openoffice/trunk/main/configure.ac
> openoffice/trunk/main/solenv/ant/aoo-ant.xml
>
> Modified: openoffice/trunk/main/configure.ac
> URL: http://svn.apache.org/viewvc/openoffice/trunk/main/configure.ac?rev=1838693&r1=1838692&r2=1838693&view=diff
> ==============================================================================
> --- openoffice/trunk/main/configure.ac (original)
> +++ openoffice/trunk/main/configure.ac Thu Aug 23 06:01:40 2018
> @@ -681,9 +681,9 @@ AC_ARG_WITH(hamcrest-core,
> [ --with-hamcrest-core Specifies the hamcrest-core jar file to use for
> JUnit-based tests. --without-junit disables those
> tests. Not relevant in the --without-java or
> - --without-junit cases, and only needed for recent
> - versions of JUnit. (Default: disabled.)
> -],,with_hamcrest_core=no)
> + --without-junit cases, and only needed for JUnit
> + >= 4.11.
> +],,with_hamcrest_core=yes)
> AC_ARG_WITH(perl-home,
> [ --with-perl-home If you have installed the Perl 5 Distribution, on your
> system, please supply the path here.
> @@ -7170,66 +7170,139 @@ fi
> rm -f conftest* core core.* *.core
>
> OOO_JUNIT_JAR=
> +JUNIT_NEEDS_HAMCREST=
> if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no"; then
> - AC_MSG_CHECKING([for JUnit 4])
> + AC_MSG_CHECKING([for JUnit])
> if test "$with_junit" = "yes"; then
> if test -e /usr/share/java/junit4.jar; then
> - OOO_JUNIT_JAR=/usr/share/java/junit4.jar
> + OOO_JUNIT_JAR=/usr/share/java/junit4.jar
> else
> - if test -e /usr/share/lib/java/junit.jar; then
> - OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar
> + if test -e /usr/local/share/java/classes/junit4.jar; then
> + OOO_JUNIT_JAR=/usr/local/share/java/classes/junit4.jar
> else
> - OOO_JUNIT_JAR=/usr/share/java/junit.jar
> + if test -e /usr/share/lib/java/junit.jar; then
> + OOO_JUNIT_JAR=/usr/share/lib/java/junit.jar
> + else
> + if test -e /usr/share/local/lib/java/junit.jar; then
> + OOO_JUNIT_JAR=/usr/share/local/lib/java/junit.jar
> + else
> + if test -e /usr/share/java/junit.jar; then
> + OOO_JUNIT_JAR=/usr/share/java/junit.jar
> + else
> + if test -e /usr/local/share/java/classes/junit.jar; then
> + OOO_JUNIT_JAR=/usr/local/share/java/classes/junit.jar
> + fi
> + fi
> + fi
> + fi
> fi
> fi
> else
> OOO_JUNIT_JAR=$with_junit
> fi
> + if test -e "$OOO_JUNIT_JAR"; then
> + AC_MSG_RESULT([yes])
> + else
> + AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
> +locations (/usr/share/java or /usr/local/share/java/classes), specify its pathname via
> +--with-junit=..., or disable it via --without-junit.])
> + fi
> if test "$_os" = "WINNT"; then
> OOO_JUNIT_JAR=`cygpath -m "$OOO_JUNIT_JAR"`
> fi
> - "$JAVA_HOME/bin/jar" tf "$OOO_JUNIT_JAR" 2>&5 | \
> - $GREP org/junit/Before.class > /dev/null 2>&5
> - if test $? -eq 0; then
> - AC_MSG_RESULT([$OOO_JUNIT_JAR])
> + AC_MSG_CHECKING([whether JUnit is version 4.x])
> + export OOO_JUNIT_JAR
> + if $PERL -e 'use Archive::Zip;
> + my $file = "$ENV{'OOO_JUNIT_JAR'}";
> + my $zip = Archive::Zip->new( $file );
> + my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
> + if ( $mf =~ m/Implementation-Version: 4.12*/ ) {
> + exit 0;
> + } elsif ( $mf =~ m/Implementation-Version: 4.11*/ ) {
> + exit 0;
> + } else {
> + exit 1;
> + }'; then
> + AC_MSG_RESULT([yes, but Hamcrest Core is mandatory with this JUnit version (>= 4.11)])
> + JUNIT_NEEDS_HAMCREST=yes
> + elif $PERL -e 'use Archive::Zip;
> + my $file = "$ENV{'OOO_JUNIT_JAR'}";
> + my $zip = Archive::Zip->new( $file );
> + my $mf = $zip->contents ( "META-INF/MANIFEST.MF" );
> + if ( $mf =~ m/Implementation-Version: 4.*/ ) {
> + exit 0;
> + } else {
> + exit 1;
> + }'; then
> + AC_MSG_RESULT([yes])
> else
> - AC_MSG_RESULT([no])
> - AC_MSG_ERROR([cannot find JUnit 4 jar; please install one in the default
> -location (/usr/share/java), specify its pathname via
> ---with-junit=..., or disable it via --without-junit])
> + AC_MSG_ERROR([no, your JUnit version is too old, you need JUnit 4.x])
> fi
> fi
> AC_SUBST(OOO_JUNIT_JAR)
>
> HAMCREST_CORE_JAR=
> -if test "$SOLAR_JAVA" != "" && test "$with_junit" != "no" && test "$with_hamcrest_core" != "no"; then
> +if test "$SOLAR_JAVA" != "" && test "$with_hamcrest_core" != "no"; then
> AC_MSG_CHECKING([for hamcrest-core])
> if test "$with_hamcrest_core" = "yes"; then
> - if test -e /usr/share/java/hamcrest-core-1.3.jar; then
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest-core-1.3.jar; then
> HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core-1.3.jar
> - else
> - if test -e /usr/share/lib/java/hamcrest-core.jar; then
> - HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar
> - else
> - HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar
> - fi
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest-core-1.3.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core-1.3.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/lib/java/hamcrest-core.jar; then
> + HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest-core.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/lib/java/hamcrest-core.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest-core.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest-core.jar; then
> + HAMCREST_CORE_JAR=/usr/share/java/hamcrest-core.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest-core.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest-core.jar
> + fi
> + # Sometimes the "-core-" part is missing...
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest1.3.jar; then
> + HAMCREST_CORE_JAR=/usr/share/java/hamcrest1.3.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest1.3.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest1.3.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/lib/java/hamcrest.jar; then
> + HAMCREST_CORE_JAR=/usr/share/lib/java/hamcrest.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/lib/java/hamcrest.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/lib/java/hamcrest.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/share/java/hamcrest.jar; then
> + HAMCREST_CORE_JAR=/usr/share/java/hamcrest.jar
> + fi
> + if test "$HAMCREST_CORE_JAR" = "" && test -e /usr/local/share/java/classes/hamcrest.jar; then
> + HAMCREST_CORE_JAR=/usr/local/share/java/classes/hamcrest.jar
> fi
> else
> HAMCREST_CORE_JAR=$with_hamcrest_core
> fi
> - if test "$_os" = "WINNT"; then
> - HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"`
> - fi
> - export HAMCREST_CORE_JAR
> - "$JAVA_HOME/bin/jar" tf "$HAMCREST_CORE_JAR" 2>&5 | \
> - $GREP org/hamcrest/core/AllOf.class > /dev/null 2>&5
> - if test $? -eq 0; then
> - AC_MSG_RESULT([$HAMCREST_CORE_JAR])
> + if test -e "$HAMCREST_CORE_JAR"; then
> + AC_MSG_RESULT([yes])
> + if test "$_os" = "WINNT"; then
> + HAMCREST_CORE_JAR=`cygpath -m "$HAMCREST_CORE_JAR"`
> + fi
> else
> - AC_MSG_ERROR([cannot find hamcrest-core jar; please install one in the
> -default location (/usr/share/java), specify its
> + if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then
> + AC_MSG_ERROR([cannot find hamcrest-core jar; please install one in the
> +default locations (/usr/share/java or /usr/local/share/java/classes), specify its
> pathname via --with-hamcrest-core=..., or disable
> -it via --without-hamcrest-core])
> +it via --without-hamcrest-core or --without-junit])
> + else
> + AC_MSG_RESULT([no, skipping])
> + fi
> + fi
> +else
> + if test "$JUNIT_NEEDS_HAMCREST" = "yes"; then
> + AC_MSG_ERROR([JUnit needs Hamcrest but Hamcrest disabled.])
> fi
> fi
> AC_SUBST(HAMCREST_CORE_JAR)
>
> Modified: openoffice/trunk/main/solenv/ant/aoo-ant.xml
> URL: http://svn.apache.org/viewvc/openoffice/trunk/main/solenv/ant/aoo-ant.xml?rev=1838693&r1=1838692&r2=1838693&view=diff
> ==============================================================================
> --- openoffice/trunk/main/solenv/ant/aoo-ant.xml (original)
> +++ openoffice/trunk/main/solenv/ant/aoo-ant.xml Thu Aug 23 06:01:40 2018
> @@ -76,6 +76,7 @@
> <path refid="test.classpath" if:set="has.test.classpath"/>
> <pathelement location="${idl.classes.build.dir}"/>
> <pathelement location="${OOO_JUNIT_JAR}"/>
> + <pathelement location="${HAMCREST_CORE_JAR}" if:set="HAMCREST_CORE_JAR"/>
> </path>
>
> <local name="has.idl.files"/>
>
>
>