Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjay2018-08-08 05:25:29 +0000
committerjay2018-08-10 08:04:10 +0000
commit0d1092730bf38c2d22fba391019110bf12049774 (patch)
treec6dddca58fc212010fc57c2fe13e0790b585a7d3 /org.eclipse.jdt.core
parenta8119f5a19c5e89a1af1d9ee62dbab09a2622af4 (diff)
downloadeclipse.jdt.core-0d1092730bf38c2d22fba391019110bf12049774.tar.gz
eclipse.jdt.core-0d1092730bf38c2d22fba391019110bf12049774.tar.xz
eclipse.jdt.core-0d1092730bf38c2d22fba391019110bf12049774.zip
Bug 534624: [9] Support module-info.java in multi-release JAR filesI20180810-2000
Change-Id: Ia696898b71b068381945082967cd92557202f947 Signed-off-by: jay <jarthana@in.ibm.com>
Diffstat (limited to 'org.eclipse.jdt.core')
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathJar.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathJar.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathJar.java
index 39c1ee10e0..a0b66c437d 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathJar.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/ClasspathJar.java
@@ -110,7 +110,19 @@ IModule initializeModule() {
ZipFile file = null;
try {
file = new ZipFile(this.zipFilename);
- ClassFileReader classfile = ClassFileReader.read(file, IModule.MODULE_INFO_CLASS); // FIXME: use jar cache
+ String releasePath = "META-INF/versions/" + this.compliance + '/' + IModule.MODULE_INFO_CLASS; //$NON-NLS-1$
+ System.out.println("Reading for module from: " + this.zipFilename); //$NON-NLS-1$
+ ClassFileReader classfile = null;
+ try {
+ classfile = ClassFileReader.read(file, releasePath);
+ System.out.println("Read classfile : " + classfile); //$NON-NLS-1$
+ } catch (Exception e) {
+ e.printStackTrace();
+ // move on to the default
+ }
+ if (classfile == null) {
+ classfile = ClassFileReader.read(file, IModule.MODULE_INFO_CLASS); // FIXME: use jar cache
+ }
if (classfile != null) {
mod = classfile.getModuleDeclaration();
}

Back to the top