236 Commits

Author SHA1 Message Date
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 20dba278bbfc4fec8b53c8371eae982e3fa24b39.
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
Eric Pugh
f70a518f1b
SOLR-8138: Simple UI for issuing SQL queries (#2381)
* Updated SOLR-8138 files for Solr 9.

This code was mostly written by Michael Suzuki,  i just tweaked it to load, and updated the version of ui-grid to the 4.10 version.

* unused file, we use the .min version.

* add an entry for the ui-grid project to license file.

Co-authored-by: epugh@opensourceconnections.com <>
2021-02-18 17:21:21 -05:00
Houston Putman
4bd4f7063b
LUCENE-9780: Only validate JARs for tasks that are enabled (#2382) 2021-02-17 18:12:27 -05:00
Kevin Watters
890f570bf5
LUCENE-9659 inequality support in payload check query (#2185)
Changes from SOLR-14787 supporting inequalities in SpanPayloadCheckQuery
2021-02-17 09:48:50 -05:00
Dawid Weiss
f7e42bdb35
LUCENE-9768: Add source sets for src/tools, clean up forbidden API and formatting errors (#2361) 2021-02-12 17:03:54 +01:00
Peter Gromov
8a34cc7afd
LUCENE-9701: Hunspell: implement simple REP-based suggestion algorithm (#2251) 2021-02-01 10:23:54 +01:00
Mike Drob
b335034615
Require Thread Names in Solr (#2264)
When we are creating a new thread we should give it a descriptive name and enforce this via ForbiddenAPIs. This doesn't apply to Runnable or Callable objects that we pass to an executor, since those should be getting named by the executor itself.

We don't require this in tests because the tests should be more self contained and there is less benefit in descriptive names. If somebody is already profiling a test, then they likely have the context to understand what the unnamed threads are doing, whereas a thread dump from a running Solr instance should have good thread names for everything. This is especially helpful when doing profiling, otherwise we end up with a bunch of Thread-# that are hard to tell apart and search on.
2021-01-28 15:04:15 -06:00
András Salamon
83e0397c42
SOLR-14297: Replace commons-codec Base64 with JDK8 Base64 (#2222) 2021-01-21 13:10:33 -05:00
Peter Gromov
939699f550
LUCENE-9667: Hunspell: add spellchecker API, support BREAK and FORBIDDENWORD affix rules (#2207) 2021-01-20 10:57:27 +01:00
Dawid Weiss
0ab9cb8079 LUCENE-9658: temporarily hook up spotlessCheck to precommit. 2021-01-07 10:57:57 +01:00
Dawid Weiss
2cbf261032 LUCENE-9570: code reformatting [final]. 2021-01-05 13:44:05 +01:00
Dawid Weiss
7f8b7ffbca LUCENE-9570: code reformatting [partial]. 2021-01-03 21:46:01 +01:00
Dawid Weiss
38c9d2ab76
LUCENE-9650: disable errorprone on jdk16+ (#2171) 2020-12-28 23:20:52 +01:00
Dawid Weiss
8ef6a0da56 LUCENE-9570: code reformatting [partial]. 2020-12-28 12:26:13 +01:00
Dawid Weiss
2d6ad2fee6 LUCENE-9570: code reformatting [partial]. 2020-12-23 12:41:23 +01:00
Dawid Weiss
6faa4f98e0 LUCENE-9570: code reformatting [partial]. 2020-12-18 13:02:08 +01:00
Dawid Weiss
c94b035df8
LUCENE-9564: add spotless and gjf (automatic code formatter) 2020-12-17 13:11:54 +01:00
Dawid Weiss
a29d7c70d5
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
gezapeti
cf6e831394
SOLR-14887 Upgrade JQuery to 3.5.1 (#1947) 2020-10-13 19:41:57 -04:00
Uwe Schindler
6acb7b4293 LUCENE-9577: move the checkBrokenLinks task to the documentation subprojects 2020-10-09 16:44:36 +02:00
Uwe Schindler
f97208a790 LUCENE-9577: fix changed task name 2020-10-09 16:18:59 +02:00
Mike Drob
08e38d3452
LUCENE-9488 Create Release Artifacts with Gradle (#1905)
* Build Lucene binary distribution using Gradle
* Generate SHA-512 checksums for all release artifacts
* Update documentation artifacts included in binaries
* Delete some additional Ant relics

Co-authored-by: Dawid Weiss <dawid.weiss@carrotsearch.com>
Co-authored-by: Uwe Schindler <uschindler@apache.org>
2020-10-08 14:25:51 -05:00
Timothy Potter
e879a52291
SOLR-14659: Remove restlet as dependency for the ManagedResource API (#1938)
Co-authored-by: noblepaul <noble.paul@gmail.com>
2020-10-04 11:21:49 -06:00
Erick Erickson
f6c4f8a755 SOLR-14910: Use in-line tags for logger declarations in Gradle ValidateLogCalls that are non-standard, change //logok to //nowarn 2020-10-03 09:47:37 -04:00
Adrien Grand
f8b7a60562
LUCENE-9550: Upgrade to Gradle 6.6.1. (#1933) 2020-09-30 11:17:55 +02:00
Tomoko Uchida
5e617ccc33
LUCENE-9317: Clean up split package in analyzers-common (#1836) 2020-09-28 16:49:28 +09:00
Uwe Schindler
8debc9d0c2
LUCENE-9517: Don't subclass Deflater and instead create a patch for setDictionary() using a functional interface (#1850) 2020-09-10 11:12:59 +02:00
Dawid Weiss
b988d557d7
LUCENE-9506: Gradle: split validateSourcePatterns into per-project an… (#1830)
* LUCENE-9506: Gradle: split validateSourcePatterns into per-project and root-specific tasks (allow parallelism)

Co-authored-by: Uwe Schindler <uschindler@apache.org>
2020-09-08 10:08:51 +02:00
Varun Thacker
121b262389
LUCENE-9497: Integerate Error Prone ( Static Analysis Tool ) during compilation (#1816)
LUCENE-9497:  Integrate Error Prone, a static analysis tool during compilation
2020-09-07 14:42:48 -07:00
Dawid Weiss
e3437a467e LUCENE-9475: remove obsolete ant-only jar sha's from Solr. 2020-09-06 22:42:28 +02:00
Dawid Weiss
d31a42763b
LUCENE-9505: add dummy outputs. (#1829) 2020-09-04 11:11:57 +02:00
Uwe Schindler
469d742384 Remove the explicit dependency to "check", as fobiddenapis installs it automatically (especially for all source sets; if we want this explicit dependency, it should depend on 'forbiddenApis' not each task). In addition precommit, also adds it. 2020-09-03 17:50:57 +02:00
Robert Muir
784ede4eda
LUCENE-9215: replace checkJavaDocs.py with doclet (#1802)
This has the same logic as the previous python, but no longer relies
upon parsing HTML output, instead using java's doclet processor.

The errors are reported like "normal" javadoc errors with source file
name and line number and happen when running "gradlew javadoc"

Although the "rules" are the same as the previous python, the python had
some bugs where the checker didn't quite do exactly what we wanted, so
some fixes were applied throughout.

Co-authored-by: Dawid Weiss <dawid.weiss@carrotsearch.com>
Co-authored-by: Uwe Schindler <uschindler@apache.org>
2020-09-02 08:29:17 -04:00