don't build and rebuild jar files for dependencies in tests [LUCENE-3961]
- Dominant language
- Java
- Stars
- 3.6k
- Forks
- 1.4k
- Avg merge
- 2d 11h
- Merged PRs (30d)
- 88
Description
Hossman's comments about when jars are built had me thinking,
its not really great how dependencies are managed currently.
say i have contrib/hamburger that depends on contrib/cheese
if I do 'ant test' in contrib/hamburger, you end out with a situation
where you have no hamburger.jar but you have a cheese.jar.
The reason for this: i think is how we implement the contrib-uptodate,
via .jar files. I think instead contrib-uptodate shouldnt use actual
jar files (cheese.jar) but a simple file we 'touch' like cheese.compiled.
This will make the build faster, especially I think the solr tests
which uses these dependencies across a lot of lucene modules. we won't
constantly jar their stuff.
---
Migrated from [LUCENE-3961](https://issues.apache.org/jira/browse/LUCENE-3961) by Robert Muir (@rmuir), updated May 09 2016
Contributor guide
Research direction
Start by reading the contrib-uptodate implementation used by `ant test` in `contrib/hamburger` and its dependency on `contrib/cheese`. Trace where `cheese.jar` is used to determine whether a dependency is current; done means dependency tests no longer build unnecessary jar files while the required test artifacts remain available.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- build-system, testing
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100