[ 
https://issues.apache.org/jira/browse/LUCENE-10192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17433423#comment-17433423
 ] 

Dawid Weiss commented on LUCENE-10192:
--------------------------------------

I've pushed a commit that makes Luke a part of the binary distribution. This 
kind of makes sense to me now - we don't need all of the third-party jars but 
we can make the demos and examples (and Luke) functional as a demonstration and 
validation of the reason why the binary release exists. The folder structure 
looks like this:
{code}
bin
CHANGES.txt
docs
JRE_VERSION_MIGRATION.md
LICENSE.txt
licenses
MIGRATE.md
modules
modules-test-framework
modules-thirdparty
NOTICE.txt
README.md
SYSTEM_REQUIREMENTS.md
{code}

Where {{modules}} contains Lucene JARs (the test framework is separate because 
it validates the module system constraints) and {{modules-thirdparty}} contains 
all modules required to run Luke (at the moment). This layout simplifies Luke 
utility launch scripts greatly, basically to this:
{code}
java --module-path modules;modules-thirdparty -cp 
modules-thirdparty/log4j-api-2.13.2.jar --module lucene.luke
{code}
The classpath element is needed because all the modules currently live in the 
automatic-name space while log4j-api is a proper module. This can be cleaned up 
as a follow-up by making luke a true module (declare its dependencies).

The side-effect of this layout is also that, in the future, you could inspect 
Lucene JARs using the module system's --describe-module option. And like I 
mentioned, you can run the demo tools in a much more convenient way:
{code}
java --module-path jars --module lucene.demo/org.apache.lucene.demo.IndexFiles
{code}

I think those "demos" could also benefit from a rewrite (use multiple cores to 
index)... but it's an unrelated issue. If we decide it's the direction to 
follow then it'd also make LUCENE-9978 invalid (since the binary distribution 
would contain a fully-functional Luke as a first-class citizen and user of the 
binary modules).

> Drop third-party JARs from the binary distribution
> --------------------------------------------------
>
>                 Key: LUCENE-10192
>                 URL: https://issues.apache.org/jira/browse/LUCENE-10192
>             Project: Lucene - Core
>          Issue Type: Task
>            Reporter: Dawid Weiss
>            Assignee: Dawid Weiss
>            Priority: Trivial
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> [~janhoy] Are we ready (with respect to scripts) for this change? I'd like to 
> do it but I'm not sure whether the release wizard doesn't depend on it 
> somehow (I will handle buildAndPushRelease.py and smokeTestRelease.py if they 
> need fixes but I'm not sure about the releaseWizard.*).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to