|  | // 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()}; | 
|  | } | 
|  | } |