Hmmm... would not java.lang.Package various methods do the job?
I'm not sure... I just tried to do Package.getPackage("org.apache.lucene") and got null, even though the manifest is present in the JAR.
I looked into this. The package name in the manifest is "org/apache/lucene". But in order for this to work the package name in the manifest must: (a) end with a slash; and (b) name a package with classes in it, and lucene's classes are all in sub-packages--no classes are in "org.apache.lucene".
I've attached a patch that fixes (b) by adding a class in the top-level package. Comments?
Doug
Index: build.xml =================================================================== --- build.xml (revision 156658) +++ build.xml (working copy) @@ -189,7 +189,7 @@ excludes="**/*.java"> <manifest> <attribute name="Created-By" value="Apache Jakarta"/> - <section name="org/apache/lucene"> + <section name="org/apache/lucene/"> <attribute name="Specification-Title" value="Lucene Search Engine"/> <attribute name="Specification-Version" value="${version}"/> <attribute name="Specification-Vendor" value="Lucene"/> Index: src/java/org/apache/lucene/package.html =================================================================== --- src/java/org/apache/lucene/package.html (revision 0) +++ src/java/org/apache/lucene/package.html (revision 0) @@ -0,0 +1 @@ +<html><body>Top-level package.</body></html> Index: src/java/org/apache/lucene/LucenePackage.java =================================================================== --- src/java/org/apache/lucene/LucenePackage.java (revision 0) +++ src/java/org/apache/lucene/LucenePackage.java (revision 0) @@ -0,0 +1,28 @@ +package org.apache.lucene; + +/** + * Copyright 2005 The Apache Software Foundation + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** Lucene's package information, including version. **/ +public final class LucenePackage { + + private LucenePackage() {} // can't construct + + /** Return Lucene's package, including version information. */ + public static Package get() { + return LucenePackage.class.getPackage(); + } +}
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]