apache / apache/lucene

don't build and rebuild jar files for dependencies in tests [LUCENE-3961]

Open
#5,034 8 comments 0 reactions 0 assignees View on GitHub
legacy-jira-fix-version:4.9 legacy-jira-fix-version:6.0 legacy-jira-priority:Major tool:build type:enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.