lucene/gradle/testing
Uwe Schindler 880d0ba1a8
Rewrite JavaScriptCompiler to use modern JVM features (Java 17) (#12873)
* Rewrite Javascript expression compiler to use hidden classes and MethodHandles for functions

* Use dynamic constants for MethodHandles

* Remove invokestatic code and handle everything through dynamic constants

* Rewrite code to patch stack trace (keep Expressions class unmodified)

* Improve generating of constant names

* Remove classloader test (no longer needed)

* Add benchmark

* use better exception in benchmark

* Add documentation, migration guide and a utility method to convert legacy function maps

* also ignore SecurityException here while checking compatibility (if it happens only an imprecise error message is thrown)

* Use Map.copyOf to not clone the map each time we compile an expression

* Add another test with same method multiple times

* Update ASM to 9.6 and set classfile version to Java 17

* Cleanup classloader permissions, unfortunately "createClassLoader" is still needed for Jacoco for God knows what
2023-12-05 11:53:57 +01:00
..
defaults-tests LUCENE-9435: Clean up ant compatability remnants in Gradle build 2020-08-30 14:01:04 +02:00
randomization/policies Rewrite JavaScriptCompiler to use modern JVM features (Java 17) (#12873) 2023-12-05 11:53:57 +01:00
alternative-jdk-support.gradle Upgrade gradle to 7.6. (#11993) 2022-12-02 09:18:38 +01:00
beasting.gradle LUCENE-9492: Fix beasting to accept also task names in form ":project:beast"; fix bug with default value rejected by Integer.parseInt (#1808) 2020-08-31 18:09:21 +02:00
coverage.gradle GITHUB#12655: upgrade jacoco aggregation plugin (failed with gradle 8.x), change html output property. 2023-10-12 20:42:17 +02:00
defaults-tests.gradle Omit -Ptests.haltonfailure=false in failed test repro line #12565 (#12566) 2023-09-18 14:30:53 +02:00
fail-on-no-tests.gradle LUCENE-9465: 'beast' task from within gradle (#1757) 2020-08-18 09:28:50 +02:00
failed-tests-at-end.gradle LUCENE-9596: Reproduce line for failed tests should have method-level accuracy 2020-11-03 10:56:05 +01:00
per-project-summary.gradle LUCENE-9182: add apache license headers to all .gradle files and enforce in rat task 2020-01-27 12:05:34 -05:00
profiling.gradle Only enable support for tests.profile if jdk.jfr module is available in Gradle runtime (#12845) 2023-11-25 20:16:09 +01:00
profiling.jfc LUCENE-9193: heap allocations for tests.profile 2020-01-30 08:29:10 -05:00
randomization.gradle tests.multiplier could be omitted in failed test reproduce line (#12752) 2023-11-03 17:05:17 +01:00
slowest-tests-at-end.gradle LUCENE-9818: print slowest suites, add an option to enable/ disable the function from options. (#2439) 2021-03-01 16:02:18 +01:00