lucene/gradle/validation
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
..
ecj-lint LUCENE-10283: bump the minimum source/release in ecj linter settings. 2022-02-02 17:25:41 +01:00
forbidden-apis Remove usage and add some legacy java.util classes to forbiddenapis (Stack, Hashtable, Vector) (#12404) 2023-06-29 16:56:41 +02:00
owasp-dependency-check SOLR-14887 Upgrade JQuery to 3.5.1 (#1947) 2020-10-13 19:41:57 -04:00
spotless LUCENE-9564: add spotless and gjf (automatic code formatter) 2020-12-17 13:11:54 +01:00
check-environment.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
ecj-lint.gradle Clean up MR-JAR build, so we do not have hardcoded "19" everywhere in validation tasks (#11835) 2022-10-02 20:41:46 +02:00
error-prone.gradle Fix errorprone with alternative runtime (#12808) 2023-11-14 22:56:55 +01:00
forbidden-apis.gradle Clean up MR-JAR build, so we do not have hardcoded "19" everywhere in validation tasks (#11835) 2022-10-02 20:41:46 +02:00
git-status.gradle LUCENE-9597: checkWorkingCopyClean shouldn't complain about untracked empty folders (similar to git status). Piggybacking jgit update. (#2061) 2020-11-03 12:50:05 +01:00
gradlew-scripts-tweaked.gradle Generate gradle.properties from gradlew (#12131) 2023-02-06 19:47:15 +01:00
jar-checks.gradle Rewrite JavaScriptCompiler to use modern JVM features (Java 17) (#12873) 2023-12-05 11:53:57 +01:00
measure-task-times.gradle LUCENE-9793: Add task time aggregation utility (enabled with -Ptask.times=true). 2021-02-20 20:18:16 +01:00
owasp-dependency-check.gradle LUCENE-9375: cleaning up post-split conditional build logic and solr refs. (#22) 2021-03-18 11:04:45 +01:00
precommit.gradle LUCENE-10294: Avoid compiling javadocs twice in 'gradlew check'. 2021-12-09 09:56:11 +01:00
rat-sources.gradle script to run microbenchmarks across different ec2 instance types (#12787) 2023-11-10 12:31:10 -05:00
spotless.gradle GITHUB#12655: Update googleJavaFormat plugin 2023-10-11 16:12:01 -04:00
validate-source-patterns.gradle Gradle optimizations (#12150) 2023-03-06 19:17:37 +01:00
versions-props-sorted.gradle LUCENE-9182: add apache license headers to all .gradle files and enforce in rat task 2020-01-27 12:05:34 -05:00