mirror of https://github.com/sbt/sbt.git
--rt-ext-dir returns a dir specific to JDK 9 ver
This commit is contained in:
parent
605a17d949
commit
39d8504045
|
|
@ -10,23 +10,29 @@ import java.util.Map;
|
|||
public class Export {
|
||||
public static void main(String[] args) {
|
||||
try {
|
||||
|
||||
if (args.length == 0) {
|
||||
System.err.println("Usage:");
|
||||
System.err.println(" java -jar java9-rt-export-*.jar $HOME/.sbt/java9-rt-ext/rt.jar");
|
||||
System.err.println(" Exports rt.jar to the specified path.");
|
||||
System.err.println("");
|
||||
System.err.println(" java -jar java9-rt-export-*.jar --global-base");
|
||||
System.err.println(" java -jar java9-rt-export-*.jar --rt-ext-dir");
|
||||
System.err.println(" Prints sbt global base.");
|
||||
System.exit(-1);
|
||||
}
|
||||
String destination = args[0];
|
||||
Path defaultGlobalBase = Paths.get(System.getProperty("user.home"), ".sbt", "0.13");
|
||||
String globalBase = System.getProperty("sbt.global.base", defaultGlobalBase.toString());
|
||||
if (destination.equals("--global-base")) {
|
||||
Path defaultGlobalBase = Paths.get(System.getProperty("user.home"), ".sbt", "0.13");
|
||||
String globalBase = System.getProperty("sbt.global.base", defaultGlobalBase.toString());
|
||||
System.out.println(globalBase);
|
||||
System.exit(0);
|
||||
}
|
||||
if (destination.equals("--rt-ext-dir")) {
|
||||
String v = System.getProperty("java.vendor") + "_" + System.getProperty("java.version");
|
||||
v = v.replaceAll("\\W", "_").toLowerCase();
|
||||
Path rtExtDir = Paths.get(globalBase, "java9-rt-ext-" + v);
|
||||
System.out.println(rtExtDir.toString());
|
||||
System.exit(0);
|
||||
}
|
||||
FileSystem fileSystem = FileSystems.getFileSystem(URI.create("jrt:/"));
|
||||
Path path = fileSystem.getPath("/modules");
|
||||
Path destPath = Paths.get(destination);
|
||||
|
|
@ -37,7 +43,7 @@ public class Export {
|
|||
Iterator<Path> iterator = Files.list(path).iterator();
|
||||
while(iterator.hasNext()) {
|
||||
Path next = iterator.next();
|
||||
Copy.copyDirectory(next, zipfs.getPath("/"));
|
||||
IO.copyDirectory(next, zipfs.getPath("/"));
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import java.util.EnumSet;
|
|||
import static java.nio.file.StandardCopyOption.COPY_ATTRIBUTES;
|
||||
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
|
||||
|
||||
public class Copy {
|
||||
public class IO {
|
||||
public static void copyDirectory(final Path source, final Path target)
|
||||
throws IOException {
|
||||
Files.walkFileTree(source, EnumSet.of(FileVisitOption.FOLLOW_LINKS),
|
||||
|
|
@ -182,11 +182,9 @@ checkJava() {
|
|||
copyRt() {
|
||||
if [[ "$java_version" > "8" ]]; then
|
||||
rtexport=$(rt_export_file)
|
||||
sbt_global_dir=$("$java_cmd" ${JAVA_OPTS} ${SBT_OPTS:-$default_sbt_opts} ${java_args[@]} \
|
||||
-jar "$rtexport" --global-base)
|
||||
java9_ext=$(echo "$sbt_global_dir/java9-rt-ext")
|
||||
java9_ext=$("$java_cmd" ${JAVA_OPTS} ${SBT_OPTS:-$default_sbt_opts} ${java_args[@]} \
|
||||
-jar "$rtexport" --rt-ext-dir)
|
||||
java9_rt=$(echo "$java9_ext/rt.jar")
|
||||
vlog "[copyRt] sbt_global_dir = '$sbt_global_dir'"
|
||||
vlog "[copyRt] java9_rt = '$java9_rt'"
|
||||
if [[ ! -f "$java9_rt" ]]; then
|
||||
echo Copying runtime jar.
|
||||
|
|
|
|||
|
|
@ -136,9 +136,8 @@ exit /B 1
|
|||
if /I "%JAVA_VERSION%" GEQ "9" (
|
||||
set rtexport=%SBT_HOME%java9-rt-export.jar
|
||||
|
||||
"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -jar "%rtexport%" --global-base > "%TEMP%.\global_base.txt"
|
||||
set /p sbt_global_dir= < "%TEMP%.\global_base.txt"
|
||||
set java9_ext=%sbt_global_dir%\java9-rt-ext
|
||||
"%_JAVACMD%" %_JAVA_OPTS% %SBT_OPTS% -jar "%rtexport%" --rt-ext-dir > "%TEMP%.\rtext.txt"
|
||||
set /p java9_ext= < "%TEMP%.\rtext.txt"
|
||||
set java9_rt=%java9_ext%\rt.jar
|
||||
|
||||
if not exist "%java9_rt%" (
|
||||
|
|
|
|||
Loading…
Reference in New Issue