Commit Graph

242 Commits

Author SHA1 Message Date
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
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
Dawid Weiss 3e47bfb7b4 Cleanup remaining scripts to use script-relative resource location. 2020-08-31 15:35:14 +02:00
Uwe Schindler bbf3aec38e
LUCENE-9475: Switch validateSourcePatterns away from Ant legacy (#1806) 2020-08-31 12:52:04 +02:00
Dawid Weiss 5e8bb7922b
LUCENE-9491: Consolidate test options and improve support for dynamic… (#1807)
* LUCENE-9491: Consolidate test options and improve support for dynamically computed values.
2020-08-31 12:20:30 +02:00
Robert Muir 4129daa6dd
master is on java 11! 2020-08-31 04:53:44 -04:00
Uwe Schindler 14df77295d LUCENE-9490: Disable both tasks in :lucene:core on Java 15+ 2020-08-31 02:09:13 +02:00
Dawid Weiss d847f40237 LUCENE-9474: make externalTool a function and add a build-stopping message on Windows for snowball generator. 2020-08-30 17:10:18 +02:00
Dawid Weiss def82ab556
LUCENE-9435: Clean up ant compatability remnants in Gradle build
* Removing ant-only unused tasks.
* Correct message in TestVersion.java
* Remove unused file.
* Removing forbidden API rules for ant.
* Remove 'resolve' emulation.
* Move ecj-lint to task-definition-relative folder.
* Remove 'packaging' specification. It'll have to wait until proper new packaging is implemented for Solr distribution.
* Move render-javadoc tasks's files to task-relative location.
* Moved security manager policies and default JDK logging file to gradle's task relative locations.
* Removing obsolete ant tools. Moving check source patterns under gradle's folder.
* Correct paths.
* Correct property name in task selector.
2020-08-30 14:01:04 +02:00
Dawid Weiss 346dde3395 LUCENE-9490: skip checkMissingDocsDefault on runtime Java > 14. 2020-08-29 17:17:24 +02:00
Alexandre Rafalovitch a57ba25400
SOLR-14783: Remove DIH from 9.0 (#1794)
* Remove DIH example directory

* Remove contrib code directories

* Remove contrib package related configurations for build tools

* Remove mention of DIH example

* remove dih as build dependencies and no-longer needed version pins

* Remove README references to DIH

* Remove dih mention from the script that probably does need to exist at all

* More build artifact references

* More removed dependencies leftovers (licenses/versions)

* No need to smoke exclude DIH anymore

* Remove Admin UI's DIH integration

* Remove DIH from shortname package list

* Remove unused DIH (related? not?) dataset
Unclear what is happening here, but there is no reference to that directory anywhere else
The other parallel directories ARE referenced in a TestConfigSetsAPI.java

* Hidden Idea files references

* No DIH to ignore anymore

* Remove last Derby DB references

* Remove DIH from documentation
Add the information in Major Changes document with the link to the external repo

* Added/updated a mention to CHANGES

* Fix leftover library mentions

* Fix Spellings
2020-08-29 10:52:04 -04:00
Tomoko Uchida c11d32faed LUCENE-9441: Fix ant-specific Javadoc links in accordance with Gradle build 2020-08-29 22:28:03 +09:00
Uwe Schindler 6abce32a3e
LUCENE-9479: Forbiddenapis & Gradle: Add commons-io bundled signatures (#1780) 2020-08-25 09:05:06 +02:00
Uwe Schindler 494a8a8e04 LUCENE-9474: Make external tools configurable like in ant through those sysprops: perl.exe, python3.exe, python2.exe 2020-08-23 20:16:22 +02:00
Dawid Weiss 1d143744bd SOLR-14523: moved logger message to info so that it doesn't pollute console on regular runs. 2020-07-20 12:47:14 +02:00
Erick Erickson 743234ed83 SOLR-14523: Enhance gradle logging calls validation: eliminate getMessage(). Added Gradle validation check. 2020-07-04 09:38:41 -04:00
Erick Erickson 9c1772f094 LUCENE-9411: Fail complation on warnings, 9x gradle-only 2020-06-23 16:21:10 -04:00
Dawid Weiss 3e8e5d8cf6
LUCENE-9382: update gradle to 6.4.1. (#1549)
* LUCENE-9382: update gradle to 6.4.1. Requires minor changes around log call validation by restructuring the code around switches to a series of ifs. Piggybacking: apply log validation to :solr modules. Add inputs declaration so that task is not re-run on unmodified files.
2020-06-02 13:49:57 +02:00
Tomoko Uchida 84ea0cb87d
LUCENE-9374: Add checkBrokenLinks gradle task (#1522) 2020-05-20 23:23:24 +09:00
Erick Erickson 217c2faa2c LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-05-01 13:06:57 -04:00
Erick Erickson 9ae05e9b4f LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-30 19:50:31 -04:00
Erick Erickson 6e96d01efc LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-29 10:56:54 -04:00
Erick Erickson 960610a615 LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-27 20:45:57 -04:00
Erick Erickson ff4363675e LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-27 08:34:10 -04:00
Tomoko Uchida f03e6aac59
SOLR-14429: Convert .txt files to properly formatted .md files (#1450) 2020-04-27 08:43:04 +09:00
Erick Erickson 8867f465dc LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-26 09:15:21 -04:00
Erick Erickson ecc98e8698 LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-24 13:34:03 -04:00
Erick Erickson e43b17962a LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-22 22:32:49 -04:00
Erick Erickson c94770c2b9 LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-20 21:08:15 -04:00
Erick Erickson f01c040ab3 LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-19 15:58:50 -04:00
Erick Erickson 1f1cdbffdf LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-18 19:08:15 -04:00
Erick Erickson 3af165b32a LUCENE-7788: fail precommit on unparameterised log messages and examine for wasted work/objects 2020-04-17 20:40:32 -04:00
Shalin Shekhar Mangar 13f19f6555 SOLR-9906: SolrjNamedThreadFactory is deprecated in favor of SolrNamedThreadFactory. DefaultSolrThreadFactory is removed from solr-core in favor of SolrNamedThreadFactory in solrj package and all solr-core classes now use SolrNamedThreadFactory 2020-04-13 08:16:35 +05:30
Dawid Weiss 7279190c89 LUCENE-9316: Incorporate all :precommit tasks into :check 2020-04-12 13:32:54 +02:00
Tomoko Uchida 4f92cd414c
LUCENE-9278: Use -linkoffline instead of relative paths to make links to other projects (#1388) 2020-04-09 08:44:07 +09:00
Erick Erickson e1e2085e94 SOLR-14386: Update Jetty to 9.4.27 and dropwizard-metrics version to 4.1.5 2020-04-04 16:14:57 -04:00
Dawid Weiss d32858b127
LUCENE-9301: add manifest entries to JARs (gradle build). 2020-04-04 20:56:35 +02:00
Tomoko Uchida d4a137d2b6
LUCENE-9242: generate javadocs by calling Ant javadoc task (#1304) 2020-03-12 00:09:26 +09:00
Tomoko Uchida 312d6b2a0d LUCENE-9201: Add an equivalent to "check missing javadocs" task to gradle build
Co-Authored-By: Dawid Weiss <dawid.weiss@carrotsearch.com>
2020-02-24 11:05:35 +09:00
Dawid Weiss cb68d7d2c5 LUCENE-9232: add a script-hack check so that in case somebody upgrades the scripts automatically they'll know they need to add the hack. 2020-02-21 10:40:27 +01:00
Dawid Weiss 7604639b59 Move jgit version declaration to scriptDepVersions. 2020-02-20 13:54:07 +01:00
Dawid Weiss 2a88aa9d0f LUCENE-9219: Port ECJ-based linter to gradle
Co-authored-by: Tomoko Uchida <tomoko@apache.org>
2020-02-19 02:43:47 +09:00
Robert Muir 0203815ab2
LUCENE-9220: regenerate all stemmers/stopwords/test data from snowball 2.0 (#1262)
Previous situation:

* The snowball base classes (Among, SnowballProgram, etc) had accumulated local performance-related changes. There was a task that would also "patch" generated classes (e.g. GermanStemmer) after-the-fact.
* Snowball classes had many "non-changes" from the original such as removal of tabs addition of javadocs, license headers, etc.
* Snowball test data (inputs and expected stems) was incorporated into lucene testing, but this was maintained manually. Also files had become large, making the test too slow (Nightly).
* Snowball stopwords lists from their website were manually maintained. In some cases encoding fixes were manually applied.
* Some generated stemmers (such as Estonian and Armenian) exist in lucene, but have no corresponding `.sbl` file in snowball sources at all.

Besides this mess, snowball project is "moving along" and acquiring new languages, adding non-BSD-licensed test data, huge test data, and other complexity. So it is time to automate the integration better.

New situation:

* Lucene has a `gradle snowball` regeneration task. It works on Linux or Mac only. It checks out their repos, applies the `snowball.patch` in our repository, compiles snowball stemmers, regenerates all java code, applies any adjustments so that our build is happy.
* Tests data is automatically regenerated from the commit hash of the snowball test data repository. Not all languages are tested from their data: only where the license is simple BSD. Test data is also (deterministically) sampled, so that we don't have huge files. We just want to make sure our integration works.
* Randomized tests are still set to test every language with generated fake words. The regeneration task ensures all languages get tested (it writes a simple text file list of them).
* Stopword files are automatically regenerated from the commit hash of the snowball website repository.
* The regeneration procedure is idempotent. This way when stuff does change, you know exactly what happened. For example if test data changes to a different license, you may see a git deletion. Or if a new language/stopwords/test data gets added, you will see git additions.
2020-02-17 12:38:01 -05:00
Jan Høydahl 53f7b394e4 SOLR-11207: Mute warnings for owasp false positives 2020-01-27 21:03:20 +01:00
Dawid Weiss ff635cf701 LUCENE-9184, LUCENE-9183: allow skipping git status check in precommit with -Pvalidation.git.failOnModified=false (or place this in gradle.properties to make it permanent). 2020-01-27 20:47:02 +01:00
Uwe Schindler 7dc35e3a62 Let precommit depend on generic forbiddenApis task 2020-01-27 19:47:54 +01:00
Robert Muir fd5a0ce7c2
LUCENE-9182: the rat-sources.gradle was the one .gradle file already with a license header, we don't need it twice 2020-01-27 12:11:44 -05:00
Robert Muir 975df9ddd3
LUCENE-9182: add apache license headers to all .gradle files and enforce in rat task 2020-01-27 12:05:34 -05:00
Robert Muir 8e357b167b
LUCENE-9180: dos2unix files that don't need dos line endings 2020-01-27 11:29:59 -05:00
Jan Høydahl 39df74de37 SOLR-11207: Exclude configuration 'unifiedClasspath'
It is generated by consistent-versions plugin and triggers owasp warnings for deps even for excluded projects
2020-01-27 12:17:31 +01:00
Jan Høydahl 9ddd05cd14 SOLR-11207: Exclude solr-ref-guide from owasp check
It picked up log4j1 dependency only used during build
2020-01-27 09:55:12 +01:00
Dawid Weiss 5ab59f59ac SOLR-11207: minor changes:
- added 'owasp' task to the root project. This depends on
dependencyCheckAggregate which seems to be a better fit for multi-module
projects than dependencyCheckAnalyze (the difference is vague to me
from plugin's documentation).

- you can run the "gradlew owasp" task explicitly and it'll run the
validation without any flags.

- the owasp task is only added to check if validation.owasp property
is true. I think this should stay as the default on non-CI systems
(developer defaults) because it's a significant chunk of time it takes
to download and validate dependencies.

- I'm not sure *all* configurations should be included in the check...
perhaps we should only limit ourselves to actual runtime dependencies
 not build dependencies, solr-ref-guide, etc.
2020-01-26 10:45:05 +01:00
Jan Høydahl 74a8d6d5ac SOLR-11207: Add OWASP dependency checker to gradle build (#1121)
* SOLR-11207: Add OWASP dependency checker to gradle build
2020-01-26 10:01:51 +01:00
Dawid Weiss 1ad6bc9361 LUCENE-9077: Allow locally staged files in git status precommit check. 2020-01-20 09:36:14 +01:00
Dawid Weiss 44c203d72f Add workaround for https://github.com/palantir/gradle-consistent-versions/issues/383 2020-01-15 11:44:21 +01:00
Dawid Weiss e6d85cd4bc Cleaning up minor things in rat task. 2020-01-15 10:07:24 +01:00
Mike c9e7eebe28 Add RAT check using Gradle (#1157)
Merging Apache rat checks.
2020-01-15 09:55:41 +01:00
Dawid Weiss 4a8762cc2c Add javadoc generation/linter to precommit. 2020-01-13 19:11:43 +01:00
Dawid Weiss 34aa8714d8 Correct class->classname. 2020-01-10 12:53:30 +01:00
Dawid Weiss b4d26f94d3 Don't load all of groovy's tasks, just groovy. 2020-01-10 12:51:46 +01:00
Dawid Weiss 39a5323999 Add config file sanity check for precommit. 2020-01-10 12:49:04 +01:00
Dawid Weiss 109444fc5b Add an equivalent of validate-source-patterns task, delegating to the same groovy script. 2020-01-10 12:02:30 +01:00
Dawid Weiss c7ed133910 LUCENE-9122: upgrade gradle wrapper to 6.0.1. Relax JVM requirement to require at least Java 11. We can't even check for higher bound because gradle itself breaks before it can execute the check script. I verified locally and it works with 11-13. 2020-01-09 14:13:32 +01:00
Dawid Weiss 7a12c89ce6 Move precommit dependencies to precommit for clarity. 2020-01-08 14:20:16 +01:00
Dawid Weiss c9c0bab2eb Ensure versions.props contains sorted entries (like check-lib-versions did for ant). 2020-01-03 16:04:12 +01:00
Dawid Weiss 37fb4a5f49 Verify lock state on precommit. 2020-01-03 15:53:29 +01:00
Dawid Weiss ae4a2e381d Hook up license checks to precommit. 2020-01-03 15:50:04 +01:00
Dawid Weiss 797f571fc3 Hook up forbidden apis to precommit. 2020-01-03 15:35:15 +01:00
Dawid Weiss 8b03a7104e Add a precommit placeholder task and working copy's git status check. 2020-01-03 15:22:36 +01:00
Dawid Weiss ca8661bc3a Reworked dependency resolution for license checks to work around a problem with gradle. Consolidated licenses with the ant build (excluding some jars from the ref-guide). 2019-12-30 14:05:08 +01:00
Dawid Weiss 7c762c969a Allow simultaneous call to sha regeneration and validation by introducing soft ordering constraint. 2019-12-18 14:54:13 +01:00
Dawid Weiss d2d28329ef Changed license checksum regeneration task name to updateLicenses. 2019-12-18 14:14:39 +01:00
Dawid Weiss 0e2a493446 Add transitive Lucene dependencies so that Solr licenses/ folder is (more) consistent with ant. This is an insane hack at the build-level. Mark it for removal once we get rid of ant. 2019-12-17 15:02:08 +01:00
Dawid Weiss faadb65202 Regenerate checksum for a single dependency once. Add trailing newline for consistency with ant code. 2019-12-17 14:27:25 +01:00
Dawid Weiss 8906c2ddbe Merge forbidden APIs rules. 2019-12-17 13:39:10 +01:00
Dawid Weiss 401ddc6dd1 Upgrade gradlew. Add environment sanity check. 2019-12-16 15:23:06 +01:00
Dawid Weiss 208d094262 Remove checksum files from ref guide. 2019-12-13 17:09:25 +01:00
Dawid Weiss 3aff1664e5 updateChecksums, validation of dangling unreferenced files under licenses/. Separated licenses-gradle for Solr for now (doesn't include transitive Lucene dependencies). 2019-12-13 15:07:59 +01:00
Dawid Weiss d8cac07d2a Sort output of dangling license files. 2019-12-13 14:03:06 +01:00
Dawid Weiss 4500f0e327 Consolidating versions between gradle and ant. 2019-12-13 13:31:23 +01:00
Dawid Weiss 25fc0487a1 Working jar checksums and aligned with ant build. 2019-12-13 12:12:29 +01:00
Dawid Weiss 73e8b49f0d Align versions with ant build. 2019-12-13 12:01:26 +01:00
Dawid Weiss a392a83558 Add support for validating the presence of licenses and notices. 2019-12-12 19:25:46 +01:00
Dawid Weiss 453eee3987 Initial work on jar checksums/ license file validation. 2019-12-11 18:41:27 +01:00
Dawid Weiss 85e0e4fb75 Add a workaround for the problem of forbiddenApis not running upon changing just the rules/ rulesets. 2019-12-03 18:41:11 +01:00
Dawid Weiss 0247f02a70 Only apply log4j rules to Solr. 2019-12-03 15:18:10 +01:00
Dawid Weiss a6d6d633d5 Apply servlet APIs to just Solr. 2019-12-03 14:43:50 +01:00
Dawid Weiss 6461909129 Port forbidden APIs. See gradlew :helpForbiddenApis to see how rules are applied automatically based on the set of dependencies of a project. 2019-12-03 14:40:35 +01:00