apache / apache/lucene

improve build -projecthelp as far as building jars and such [LUCENE-3960]

Open
#5,033 2 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

HossmanSays: "ant compile" in lucene src artifacts builds jars for some contribs not
all – kind of confusing. I did a double take before i realized i
needed "build-contrib" to get them all and the ones i was seeing were just
because of cross-contrb dependencies.

Basically the ant -p is confusing in general. The 'default' task is actually 'jar-core',
which makes jars, but it has no description (doesnt show up in project help), and neither
does 'jar' (which maps to jar-core).

solr/build.xml does a much better job about this. The ant -p seems more userfriendly
and its obvious what targets do what. For lucene its not.

Also solr/build.xml defines 'ant compile' (lucene's doesnt, it maps to compile-core, which
then behaves differently than solr for people used to typing it).

Basically I think the best solution is to try to make these two build.xml's targets
as consistent as possible.

---
Migrated from [LUCENE-3960](https://issues.apache.org/jira/browse/LUCENE-3960) by Robert Muir (@rmuir), updated May 09 2016

Contributor guide

Open the contributing guide

Research direction

Compare Lucene's build.xml with solr/build.xml, starting by running ant -p in each project and reviewing the documented targets, default target, jar mappings, and compile behavior. Done means the Lucene targets are made as consistent and user-friendly as the Solr targets, including visible descriptions for jar-related targets and clear compile behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
build-system
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.