This file is designed for importing into a main build file, and not intended for standalone use. This build requires Ivy and Ivy could not be found in your ant classpath. (Due to classpath issues and the recursive nature of the Lucene/Solr build system, a local copy of Ivy can not be used an loaded dynamically by the build.xml) You can either manually install a copy of Ivy ${ivy.bootstrap.version} in your ant classpath: http://ant.apache.org/manual/install.html#optionalTasks Or this build file can do it for you by running the Ivy Bootstrap target: ant ivy-bootstrap Either way you will only have to install Ivy one time. 'ant ivy-bootstrap' will install a copy of Ivy into your Ant User Library: ${user.home}/.ant/lib If you would prefer, you can have it installed into an alternative directory using the "-Divy_install_path=/some/path/you/choose" option, but you will have to specify this path every time you build Lucene/Solr in the future... ant ivy-bootstrap -Divy_install_path=/some/path/you/choose ... ant -lib /some/path/you/choose clean compile ... ant -lib /some/path/you/choose clean compile If you have already run ivy-bootstrap, and still get this message, please try using the "--noconfig" option when running ant, or editing your global ant config to allow the user lib to be loaded. See the wiki for more details: http://wiki.apache.org/lucene-java/HowToContribute#antivy Ivy is not available One or more of the JFlex .jflex files is newer than its corresponding .java file. Run the "jflex" target to regenerate the artifacts. ################################################################## JFlex not found. JFlex Home: ${jflex.home} Please install the jFlex 1.5 version (currently not released) from its SVN repository: svn co http://jflex.svn.sourceforge.net/svnroot/jflex/trunk jflex cd jflex mvn install Then, create a build.properties file either in your home directory, or within the Lucene directory and set the jflex.home property to the path where the JFlex trunk checkout is located (in the above example its the directory called "jflex"). ################################################################## US-ASCII ISO-8859-1 UTF-8 5 slowest tests: Showing ${max} slowest tests according to local stats. (change with -Dmax=...). Showing ${max} slowest tests in cached stats. (change with -Dmax=...). # # Test case filtering. -------------------------------------------- # # - 'tests.class' is a class-filtering shell-like glob pattern, # 'testcase' is an alias of "tests.class=*.${testcase}" # - 'tests.method' is a method-filtering glob pattern. # 'testmethod' is an alias of "tests.method=${testmethod}*" # # Run a single test case (variants) ant test -Dtests.class=org.apache.lucene.package.ClassName ant test "-Dtests.class=*.ClassName" ant test -Dtestcase=ClassName # Run all tests in a package and sub-packages ant test "-Dtests.class=org.apache.lucene.package.*" # Run any test methods that contain 'esi' (like: ...r*esi*ze...). ant test "-Dtests.method=*esi*" # # Seed and repetitions. ------------------------------------------- # # Run with a given seed (seed is a hex-encoded long). ant test -Dtests.seed=DEADBEEF # Repeats _all_ tests of ClassName N times. Every test repetition # will have a different seed. ant test -Dtests.iters=N -Dtestcase=ClassName # Repeats _all_ tests of ClassName N times. Every test repetition # will have exactly the same master (dead) and method-level (beef) # seed. ant test -Dtests.iters=N -Dtestcase=ClassName -Dtests.seed=dead:beef # Repeats a given test N times (note the filters - individual test # repetitions are given suffixes, ie: testFoo[0], testFoo[1], etc... # so using testmethod or tests.method ending in a glob is necessary # to ensure iterations are run). ant test -Dtests.iters=N -Dtestcase=ClassName -Dtestmethod=mytest ant test -Dtests.iters=N -Dtestcase=ClassName -Dtests.method=mytest* # Repeats N times but skips any tests after the first failure or M # initial failures. ant test -Dtests.iters=N -Dtests.failfast=yes -Dtestcase=... ant test -Dtests.iters=N -Dtests.maxfailures=M -Dtestcase=... # Repeats every suite (class) and any tests inside N times # can be combined with -Dtestcase or -Dtests.iters, etc. # Can be used for running a single class on multiple JVMs # in parallel. ant test -Dtests.dups=N ... # # Test groups. ---------------------------------------------------- # # test groups can be enabled or disabled (true/false). Default # value provided below in [brackets]. ant -Dtests.nightly=[false] - nightly test group (@Nightly) ant -Dtests.weekly=[false] - weekly tests (@Weekly) ant -Dtests.awaitsfix=[false] - known issue (@AwaitsFix) ant -Dtests.slow=[true] - slow tests (@Slow) # # Load balancing and caches. -------------------------------------- # # Run sequentially (one slave JVM). ant -Dtests.jvms=1 test # Run with more slave JVMs than the default. # Don't count hypercores for CPU-intense tests. # Make sure there is enough RAM to handle child JVMs. ant -Dtests.jvms=8 test # Use repeatable suite order on slave JVMs (disables job stealing). ant -Dtests.dynamicAssignmentRatio=0 test # Update global (versioned!) execution times cache (top level). ant clean test ant -f lucene/build.xml test-updatecache # # Miscellaneous. -------------------------------------------------- # # Run all tests without stopping on errors (inspect log files!). ant -Dtests.haltonfailure=false test # Run more verbose output (slave JVM parameters, etc.). ant -verbose test # Include additional information like what is printed to # sysout/syserr, even if the test passes. # Enabled automatically when running for a single test case. ant -Dtests.showSuccess=true test # Change the default suite timeout to 5 seconds. ant -Dtests.timeoutSuite=5000! ... # Display local averaged stats, if any (30 slowest tests). ant test-times -Dmax=30 # Display a timestamp alongside each suite/ test. ant -Dtests.timestamps=on ... # Override forked JVM file.encoding ant -Dtests.file.encoding=XXX ... # Don't remove temporary files under slave directories, even if # the test passes. ant -Dtests.leaveTemporary=true # Do *not* filter stack traces emitted to the console. ant -Dtests.filterstacks=false # Output test files and reports. ${tests-output}/tests-report.txt - full ASCII tests report ${tests-output}/tests-failures.txt - failures only (if any) ${tests-output}/tests-report-* - HTML5 report with results ${tests-output}/junit4-*.suites - per-JVM executed suites (important if job stealing). Code coverage with Atlassian Clover enabled. Code coverage with pitest enabled. Invoking target stage-maven in ${output.build.xml} now... ${rat.output} Copyright © ${year} Apache Software Foundation. All Rights Reserved. ]]> Building checksums for '@{file}' WARNING: ON SOME PLATFORMS YOUR PASSPHRASE WILL BE ECHOED BACK!!!!! Uploading artifacts to ${scp.user}@people.apache.org:${remote.staging.dir} \n\n'); // match the first heading in markdown and use as title: markdownSource.find(~/(?m)^#+\s*(.+)$/) { match, title -> html.append('').append(FastEncoder.encode(title)).append('\n'); } html.append('\n') .append('\n\n') .append(processor.markdownToHtml(markdownSource)) .append('\n\n\n'); self.setToken(html.toString()); ]]> PiTest mutation coverage can take a *long* time on even large hardware. (EC2 32core sandy bridge takes at least 12 hours to run PiTest for the lucene test cases) The following arguments can be provided to ant to alter its behaviour and target specific tests:: -Dpitest.report.dir (@{pitest.report.dir}) - Change where PiTest writes output reports -Dpitest.distance (@{pitest.distance}) - How far away from the test class should be mutated 0 being immeditate callees only -Dpitest.threads (@{pitest.threads}) - How many threads to use in PiTest (note this is independent of junit threads) -Dpitest.testCases (@{pitest.testCases}) - Glob of testcases to run -Dpitest.maxMutations (@{pitest.maxMutations}) - Maximum number of mutations per class under test 0 being unlimited -Dpitest.timeoutFactor (@{pitest.timeoutFactor}) - Tunable factor used to determine if a test is potentially been mutated to be an infinate loop or O(n!) (or similar) -Dpitest.timeoutConst (@{pitest.timeoutConst}) - Base constant used for working out timeouts -Dpitest.targetClasses (@{pitest.targetClasses}) - Classes to consider for mutation