Commit Graph

168 Commits

Author SHA1 Message Date
Dawid Weiss 328b3cc55f LUCENE-10255: add support for .tests subprojects which contain module tests. 2021-12-10 17:16:19 +01:00
Dawid Weiss 6d83c2e08e LUCENE-10255: add gradle compilation and module descriptor support for the java module system. Adds module descriptors to all Lucene subprojects. 2021-12-10 17:16:19 +01:00
Dawid Weiss 8367f700c7 LUCENE-10294: Avoid compiling javadocs twice in 'gradlew check'. 2021-12-09 09:56:11 +01:00
Robert Muir 63c89f678d
Speed up ECJ tasks by avoiding --release (#484)
LUCENE-10185 caused a large performance regression in ECJ tasks by using the --release flag.

Instead of using --release, we can just disable "terminal deprecation", and leave this check to `javac`. The --release flag makes this tool run 50% slower.
2021-11-28 15:10:32 -05:00
Dawid Weiss 1029651d12 Don't log warnings from ant (different class loader, I guess). Makes Alan happier. 2021-11-26 11:39:55 +01:00
Uwe Schindler 1ae6b2a6b9
UCENE-10218: Extend validateSourcePatterns task to scan for LTR/RTL unicode to catch "Trojan Source" source code attacks (#425)
Co-authored-by: Dawid Weiss <dawid.weiss@carrotsearch.com>
2021-11-03 17:19:24 +01:00
Dawid Weiss d819a2eec4 Cherry pick the validateSourcePatterns. Correct exclusion patterns (.gradle and .idea are only at the root project level). 2021-11-02 12:18:51 +01:00
Jerome Prinet d44e03b8b0 Make ratTask cacheable 2021-11-02 12:18:51 +01:00
Dawid Weiss 6d8ea58ccd LUCENE-10200: Rename pddl-10.txt to reference glove. 2021-10-31 10:41:16 +01:00
Mike Drob 23256a30fa
Replace deprecated Gradle 7.2 properties (#417) 2021-10-29 09:59:47 -05:00
Dawid Weiss 62eb9a809e LUCENE-10200: remove unused dangling license exclusions. Add references to the remaining ones. 2021-10-27 20:40:39 +02:00
Robert Muir f8d431ae44
LUCENE-10185: pass --release 11 to ECJ linter, fix JDK 17 build (#393)
* LUCENE-10185: pass --release 11 to ECJ linter, fix JDK 17 build

Otherwise, new java releases such as JDK 18, JDK 19, ... may have even
more new deprecations, the build shouldn't fail in such cases.

Remove -source/-target now that we pass --release

Fix casting so ECJ understands it and creates correct call signature (UweSays: "It's ok. I know why it happens, but it's a bug in ECJ. The type safety is checked by the invokeexact")

Co-authored-by: Uwe Schindler <uschindler@apache.org>
2021-10-18 16:43:53 -04:00
Dawid Weiss a613021ca4
LUCENE-10136: allow 'var' declarations in source code (be reasonable though). (#368) 2021-10-08 20:20:22 +02:00
Dawid Weiss 4d0fabf53b LUCENE-9713: we don't need those symbol-escape checks. They're valid adoc and we don't produce PDFs. 2021-09-30 15:27:56 +02:00
Dawid Weiss 93c66e1400 LUCENE-9713: exclude .idea/ (sync with Solr's version). 2021-09-30 15:19:19 +02:00
Dawid Weiss 3aa0676194
LUCENE-9713: apply source validation to txt files outside of src/* folders. Fix offenders. (#339) 2021-09-30 15:13:42 +02:00
Dawid Weiss e470535072
LUCENE-9654: Expressions module gramar antlr code regeneration (#269) 2021-08-27 12:47:19 +02:00
Dawid Weiss 39a2fc62d4
LUCENE-10066: Build does not work with JDK16 as gradle's runtime (#259) 2021-08-26 10:08:37 +02:00
Dawid Weiss a8d4f658de Upgrade to gradle 7.2 2021-08-25 10:03:59 +02:00
Dawid Weiss 26eb84a3b5 Fix immutable properties. Fix ant uri namespace no longer working (seems like gradle regression). 2021-08-25 10:03:59 +02:00
Dawid Weiss 3ff4263535 Upgrade gradle to 7.1.1 2021-08-25 10:03:59 +02:00
Michael Sokolov a37844aedd
LUCENE-10016: Added KnnVector index/query support to demo 2021-08-18 08:13:59 -04:00
Dawid Weiss b016c8dc2a LUCENE-10042: JAR minimal manifest JDK entries are incorrectly set to build-JVM 2021-08-01 14:14:42 +02:00
Dawid Weiss 3bedc0871e
LUCENE-9977: rat task corrections (proper up-to-date checks, cleanup and rewrite of the task itself). (#178) 2021-06-11 09:26:34 +02:00
Dawid Weiss 5912e65434
LUCENE-9974: The test-framework module should apply the test ruleset for forbidden APIs. (#153) 2021-05-26 10:19:55 +02:00
John Carlson 2c43f57f91
Update gradle to 6.8.3 (#100) 2021-04-21 21:02:37 +02:00
Dawid Weiss 0b1d8ccba6
LUCENE-9925: add checksums to snowball-generated files (#80) 2021-04-13 08:59:31 +02:00
Robert Muir 2971f311a2
LUCENE-9911: enable ecjLint unusedExceptionParameter (#70)
Fails the linter if an exception is swallowed (e.g. variable completely
unused).

If this is intentional for some reason, the exception can simply by
annotated with @SuppressWarnings("unused").
2021-04-08 08:19:01 -04:00
Dawid Weiss e3ae57a3c1
LUCENE-9872: Make the most painful tasks in regenerate fully incremental (#60) 2021-04-02 09:56:47 +02:00
zacharymorn 79fcd99f4c
LUCENE-9883: Turn on ecj missingEnumCaseDespiteDefault setting (#56) 2021-03-31 15:50:52 +09:00
Dawid Weiss 32e891c60f LUCENE-9871: move dummy outputs aspect into a separate file. 2021-03-30 20:15:55 +02:00
Dawid Weiss fd685682be This removes the last of ant-compatibility hacks - cross-project dependency on test classes. Replaced with gradle's test fixture artifact sharing. Cleaned up spatial3d classes a bit too. 2021-03-30 12:35:33 +02:00
Dawid Weiss 3115797463 LUCENE-9871: clean up some old cruft and shuffle files around. Correct inputs/outputs on check broken links so that it's incremental. 2021-03-30 10:55:19 +02:00
Robert Muir 3596e05e5c
LUCENE-9878: enable redundantNullCheck in ecjLint (#44)
Detects common cases of unreachable/dead code.

For generated javacc code, the check is disabled via
SuppressWarnings("unused") because javacc generates strange/bad code such as:

  if ("" == null)

For TestStressNRTReplication's startNode() method, the check is also
disabled because analysis folds the "test evilness controls" which are
static final constants. This itself is a WTF, shouldn't we instead
randomize these evil things in our tests rather than hardcoding them to
specific values?
2021-03-27 11:43:47 -04:00
Robert Muir 690e256ec9
LUCENE-9881: synchronize ECJ linter with Eclipse IDE (#46)
Co-authored-by: Uwe Schindler <uschindler@apache.org>
2021-03-27 00:42:29 +01:00
Dawid Weiss f02799c511
Skip errorprone on non-nightlies. (#45) 2021-03-26 21:42:15 +01:00
zacharymorn 3ed87c867a
LUCENE-9864: Enforce @Override annotation everywhere (#40)
Requiring the annotation is helpful because if an abstract method is removed, the concrete methods will then show up as compile errors: preventing dead code from being accidentally left behind.

Co-authored-by: Robert Muir <rmuir@apache.org>
2021-03-25 17:50:38 -04:00
Uwe Schindler 3214e365e3
LUCENE-9856: Static analysis take 3: Remove redundant interfaces (#38)
Co-authored-by: Robert Muir <rmuir@apache.org>
2021-03-24 18:26:12 +01:00
Robert Muir 945b1cb872
LUCENE-9856: fail precommit on unused local variables, take two (#37)
Enable ecj unused local variable, private instance and method detection. Allow SuppressWarnings("unused") to disable unused checks (e.g. for generated code or very special tests). Fix gradlew regenerate for python 3.9 SuppressWarnings("unused") for generated javacc and jflex code. Enable a few other easy ecj checks such as Deprecated annotation, hashcode/equals, equals across different types.

Co-authored-by: Mike McCandless <mikemccand@apache.org>
2021-03-23 13:59:00 -04:00
Robert Muir e6c4956cf6
Revert "LUCENE-9856: fail precommit on unused local variables (#34)"
This reverts commit 20dba278bb.
2021-03-23 12:46:36 -04:00
Robert Muir 20dba278bb
LUCENE-9856: fail precommit on unused local variables (#34)
Enable ecj unused local variable, private instance and method detection. Allow SuppressWarnings("unused") to disable unused checks (e.g. for generated code or very special tests). Fix gradlew regenerate for python 3.9 SuppressWarnings("unused") for generated javacc and jflex code. Enable a few other easy ecj checks such as Deprecated annotation, hashcode/equals, equals across different types.

Co-authored-by: Mike McCandless <mikemccand@apache.org>
2021-03-23 11:09:24 -04:00
Dawid Weiss 078d0079d1
LUCENE-9861: pull tuned vm options into a separate aspect. (#33) 2021-03-23 10:39:09 +01:00
Dawid Weiss 246c4beb22
LUCENE-9854: Clean up utilities to download and extract test/ benchmark data sets. (#27) 2021-03-22 12:22:39 +01:00
Dawid Weiss 53bea54669
LUCENE-9375: cleaning up post-split conditional build logic and solr refs. (#22) 2021-03-18 11:04:45 +01:00
Dawid Weiss f8040c0ecf LUCENE-9650: errorprone plugin doesn't work on jdk16. A different workaround that keeps the dependency. 2021-03-15 10:19:27 +01:00
Dawid Weiss 8bbcc39583 Always include errorprone dependency, even if we're not checking. This ensures consistent use patterns across JVMs. 2021-03-11 22:27:25 +01:00
Dawid Weiss 7f5e660395
LUCENE-9375: some build file cleanups. (#10) 2021-03-10 21:47:37 +01:00
Dawid Weiss fdf486ba54 LUCENE-9375: post-repo-split removal of solr counterpart. 2021-03-10 11:20:08 +01:00
Dawid Weiss 409bc37c13
SOLR-14759: a few initial changes so that Lucene can be built independently while Solr code is still in place. (#2448) 2021-03-08 14:59:08 +01:00
Dawid Weiss d2fb89c22f LUCENE-9793: Add task time aggregation utility (enabled with -Ptask.times=true). 2021-02-20 20:18:16 +01:00