mirror of https://github.com/apache/lucene.git
53 lines
2.4 KiB
Plaintext
53 lines
2.4 KiB
Plaintext
|
|
The gradle build is currently missing or could use some love in the following areas:
|
|
|
|
- Apply forbiddenAPIs
|
|
|
|
- configure security policy/ sandboxing for tests (!).
|
|
|
|
- add test 'beasting' (rerunning the same suite multiple times). I'm afraid it'll be difficult
|
|
to run it sensibly because gradle doesn't offer cwd separation for the forked test runners (?)
|
|
|
|
- jar checksums, jar checksum computation and validation.
|
|
this should be done without intermediate folders (directly
|
|
on dependency sets).
|
|
|
|
- add a :helpDeps explanation to how the dependency system works (palantir plugin, lockfile) and
|
|
how to retrieve structured information about current dependencies of a given module
|
|
(in a tree-like output).
|
|
|
|
- identify and list precommit tasks so that they can be ported one by one.
|
|
|
|
- identify and port any other "check" utilities that may be called from ant.
|
|
|
|
- identify and port various "regenerate" tasks from ant builds (javacc, precompiled automata, etc.)
|
|
|
|
- add rendering of javadocs (gradlew javadoc) and attaching them to maven publications.
|
|
|
|
- fill in POM details in gradle/defaults-maven.gradle so that they reflect the previous content better
|
|
(dependencies aside).
|
|
|
|
- Add any IDE integration layers that should be added (I use IntelliJ and it imports the project
|
|
out of the box, without the need for any special tuning).
|
|
|
|
- Clean up dependencies, especially for Solr: any { transitive = false } should just explicitly
|
|
exclude whatever they don't need (and their dependencies currently declared explicitly
|
|
should be folded). Figure out which scope to import a dependency to.
|
|
|
|
- add Solr packaging for docs/* (see TODO in packaging/build.gradle; currently XSLT...)
|
|
|
|
- I didn't bother adding Solr dist/test-framework to packaging (who'd use it from a binary
|
|
distribution?)
|
|
|
|
Intentional differences:
|
|
|
|
- the back-compatibility target 'resolve' is added to gradle but it's really for informational purposes
|
|
and debugging. Packaging should be done from subcomponent configurations and dependencies,
|
|
not from source folders... "gradlew -p packaging assemble" puts together the entire Solr distribution
|
|
under packaging/build where it doesn't interfere with sources.
|
|
|
|
'resolve' for Lucene also does *not* copy test dependencies under lib/ (like ant version does).
|
|
|
|
- transitive export of certain core libraries from solr-core/ solrj (guava, etc.).
|
|
|