| // Copyright (c) 2021, the R8 project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| package com.android.tools.r8; | |
| import static com.android.tools.r8.TestRuntime.getCheckedInJdk8; | |
| import java.io.IOException; | |
| import java.nio.file.Path; | |
| import java.nio.file.Paths; | |
| import org.junit.Assume; | |
| import org.junit.rules.TemporaryFolder; | |
| public class Jdk11TestUtils { | |
| public static ThrowableConsumer<R8FullTestBuilder> addJdk11LibraryFiles( | |
| TemporaryFolder temporaryFolder) { | |
| return builder -> builder.addLibraryFiles(getJdk11LibraryFiles(temporaryFolder)); | |
| } | |
| public static Path[] getJdk11LibraryFiles(TemporaryFolder temp) throws IOException { | |
| Assume.assumeFalse(ToolHelper.isWindows()); | |
| // TODO(b/180553597): Add JDK-11 runtime jar instead. As a temporary solution we use the JDK-8 | |
| // runtime with additional stubs. | |
| Path stubs = | |
| JavaCompilerTool.create(getCheckedInJdk8(), temp) | |
| .addSourceFiles(Paths.get("src", "test", "javaStubs", "StringConcatFactory.java")) | |
| .addSourceFiles(Paths.get("src", "test", "javaStubs", "VarHandle.java")) | |
| .compile(); | |
| return new Path[] {stubs, ToolHelper.getJava8RuntimeJar()}; | |
| } | |
| } |