xref: /Lucene/lucene/core/src/java/module-info.java (revision 1b105f0eebecb3efd8f9e677bcb1caa82c928950)
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one or more
3  * contributor license agreements.  See the NOTICE file distributed with
4  * this work for additional information regarding copyright ownership.
5  * The ASF licenses this file to You under the Apache License, Version 2.0
6  * (the "License"); you may not use this file except in compliance with
7  * the License.  You may obtain a copy of the License at
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 import org.apache.lucene.codecs.lucene93.Lucene93Codec;
19 import org.apache.lucene.codecs.lucene93.Lucene93HnswVectorsFormat;
20 
21 /** Lucene Core. */
22 @SuppressWarnings("module") // the test framework is compiled after the core...
23 module org.apache.lucene.core {
24   requires java.logging;
25   requires static jdk.unsupported; // this is optional but without it MMapDirectory won't be enabled
26   requires static jdk.management; // this is optional but explicit declaration is recommended
27 
28   exports org.apache.lucene.analysis;
29   exports org.apache.lucene.analysis.standard;
30   exports org.apache.lucene.analysis.tokenattributes;
31   exports org.apache.lucene.codecs;
32   exports org.apache.lucene.codecs.compressing;
33   exports org.apache.lucene.codecs.lucene90;
34   exports org.apache.lucene.codecs.lucene93;
35   exports org.apache.lucene.codecs.lucene90.blocktree;
36   exports org.apache.lucene.codecs.lucene90.compressing;
37   exports org.apache.lucene.codecs.perfield;
38   exports org.apache.lucene.document;
39   exports org.apache.lucene.geo;
40   exports org.apache.lucene.index;
41   exports org.apache.lucene.search;
42   exports org.apache.lucene.search.comparators;
43   exports org.apache.lucene.search.similarities;
44   exports org.apache.lucene.store;
45   exports org.apache.lucene.util;
46   exports org.apache.lucene.util.automaton;
47   exports org.apache.lucene.util.bkd;
48   exports org.apache.lucene.util.compress;
49   exports org.apache.lucene.util.fst;
50   exports org.apache.lucene.util.graph;
51   exports org.apache.lucene.util.hnsw;
52   exports org.apache.lucene.util.hppc;
53   exports org.apache.lucene.util.mutable;
54   exports org.apache.lucene.util.packed;
55 
56   // Only export internal packages to the test framework.
57   exports org.apache.lucene.internal.tests to
58       org.apache.lucene.test_framework;
59   // Open certain packages for the test framework (ram usage tester).
60   opens org.apache.lucene.document to
61       org.apache.lucene.test_framework;
62 
63   provides org.apache.lucene.analysis.TokenizerFactory with
64       org.apache.lucene.analysis.standard.StandardTokenizerFactory;
65   provides org.apache.lucene.codecs.Codec with
66       Lucene93Codec;
67   provides org.apache.lucene.codecs.DocValuesFormat with
68       org.apache.lucene.codecs.lucene90.Lucene90DocValuesFormat;
69   provides org.apache.lucene.codecs.KnnVectorsFormat with
70       Lucene93HnswVectorsFormat;
71   provides org.apache.lucene.codecs.PostingsFormat with
72       org.apache.lucene.codecs.lucene90.Lucene90PostingsFormat;
73   provides org.apache.lucene.index.SortFieldProvider with
74       org.apache.lucene.search.SortField.Provider,
75       org.apache.lucene.search.SortedNumericSortField.Provider,
76       org.apache.lucene.search.SortedSetSortField.Provider;
77 
78   uses org.apache.lucene.analysis.CharFilterFactory;
79   uses org.apache.lucene.analysis.TokenFilterFactory;
80   uses org.apache.lucene.analysis.TokenizerFactory;
81   uses org.apache.lucene.codecs.Codec;
82   uses org.apache.lucene.codecs.DocValuesFormat;
83   uses org.apache.lucene.codecs.KnnVectorsFormat;
84   uses org.apache.lucene.codecs.PostingsFormat;
85   uses org.apache.lucene.index.SortFieldProvider;
86 }
87