You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@lucene.apache.org by "Tomoko Uchida (Jira)" <ji...@apache.org> on 2020/11/29 07:47:00 UTC

[jira] [Comment Edited] (LUCENE-9623) Add module descriptor (module-info.java) to lucene jars

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

Tomoko Uchida edited comment on LUCENE-9623 at 11/29/20, 7:46 AM:
------------------------------------------------------------------

I attached [^generate-all-module-info.sh] that generates module-info.jar for all lucene jars (except for "benchmark"; please see the comments).

For example, it generates these module-info.java for analysis/icu4j
{code}
// non-open module 
module lucene.analysis.icu {
    requires transitive icu4j;
    requires transitive lucene.analysis.common;
    requires transitive lucene.core;

    exports org.apache.lucene.analysis.icu;
    exports org.apache.lucene.analysis.icu.segmentation;
    exports org.apache.lucene.analysis.icu.tokenattributes;

    provides org.apache.lucene.analysis.CharFilterFactory with
        org.apache.lucene.analysis.icu.ICUNormalizer2CharFilterFactory;
    provides org.apache.lucene.analysis.TokenFilterFactory with
        org.apache.lucene.analysis.icu.ICUFoldingFilterFactory,
        org.apache.lucene.analysis.icu.ICUNormalizer2FilterFactory,
        org.apache.lucene.analysis.icu.ICUTransformFilterFactory;
    provides org.apache.lucene.analysis.TokenizerFactory with
        org.apache.lucene.analysis.icu.segmentation.ICUTokenizerFactory;

}
{code}

{code}
// open module
open module lucene.analysis.icu {
    requires transitive icu4j;
    requires transitive lucene.analysis.common;
    requires transitive lucene.core;

    provides org.apache.lucene.analysis.CharFilterFactory with
        org.apache.lucene.analysis.icu.ICUNormalizer2CharFilterFactory;
    provides org.apache.lucene.analysis.TokenFilterFactory with
        org.apache.lucene.analysis.icu.ICUFoldingFilterFactory,
        org.apache.lucene.analysis.icu.ICUNormalizer2FilterFactory,
        org.apache.lucene.analysis.icu.ICUTransformFilterFactory;
    provides org.apache.lucene.analysis.TokenizerFactory with
        org.apache.lucene.analysis.icu.segmentation.ICUTokenizerFactory;

}
{code}



was (Author: tomoko uchida):
I attached [^generate-all-module-info.sh] that generates module-info.jar for all lucene jars (except for "benchmark"; please see the comments).

> Add module descriptor (module-info.java) to lucene jars
> -------------------------------------------------------
>
>                 Key: LUCENE-9623
>                 URL: https://issues.apache.org/jira/browse/LUCENE-9623
>             Project: Lucene - Core
>          Issue Type: Improvement
>          Components: general/build
>    Affects Versions: master (9.0)
>            Reporter: Tomoko Uchida
>            Priority: Major
>         Attachments: generate-all-module-info.sh
>
>
> For a starter, module descriptors can be automatically generated by jdeps utility.
> There are two choices.
> 1. generate "open" modules which allows reflective accesses with --generate-open-module option
> 2. generate non-open modules with --generate-module-info option
> Which is the better - not fully sure, but maybe 2 (non-open modules)?
> Also, we need to choose proper module names - just using the artifact (jar) name for it is OK?



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

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@lucene.apache.org
For additional commands, e-mail: issues-help@lucene.apache.org