/* * Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. * * This code is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License * version 2 for more details (a copy is included in the LICENSE file that * accompanied this code). * * You should have received a copy of the GNU General Public License version * 2 along with this work; if not, write to the Free Software Foundation, * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. * * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA * or visit www.oracle.com if you need additional information or have any * questions.
*/
File release = new File(outputDir.toString(), "release"); if (!release.exists()) { thrownew AssertionError("release not generated");
}
Properties props = new Properties(); try (FileReader reader = new FileReader(release)) {
props.load(reader);
}
String modules = props.getProperty("MODULES"); if (!modules.startsWith("\"java.base ")) { thrownew AssertionError("MODULES should start with 'java.base'");
} if (modules.charAt(0) != '"' || modules.charAt(modules.length()-1) != '"') { thrownew AssertionError("MODULES value should be double quoted");
}
/* * Verify the MODULES list must be the same for the same module graph
*/ privatestaticvoid testModulesOrder(Helper helper) throws IOException {
Path image1 = helper.createNewImageDir("test1");
List<String> modules1 = modulesProperty(image1, helper.defaultModulePath(), "jdk.jshell");
Path image2 = helper.createNewImageDir("test2");
List<String> modules2 = modulesProperty(image2, helper.defaultModulePath(), "jdk.jshell"); if (!modules1.equals(modules2)) { thrownew AssertionError("MODULES should be a stable order: " +
modules1 + " vs " + modules2);
}
}
privatestaticvoid checkDependency(List<String> modules, String fromMod, String toMod) { int fromModIdx = modules.indexOf(fromMod); if (fromModIdx == -1) { thrownew AssertionError(fromMod + " is missing in MODULES");
} int toModIdx = modules.indexOf(toMod); if (toModIdx == -1) { thrownew AssertionError(toMod + " is missing in MODULES");
}
if (toModIdx > fromModIdx) { thrownew AssertionError("in MODULES, " + fromMod + " should appear after " + toMod);
}
}
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.