Add withFiles support to TestCompiler
Update `TestCompiler` so that `withFiles` can be used to quickly configure the compiler with `InMemoryGeneratedFiles`. See gh-28414
This commit is contained in:
parent
99173fbd4f
commit
9c12833e16
|
|
@ -17,6 +17,7 @@
|
|||
package org.springframework.aot.test.generator.compile;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import java.util.function.Consumer;
|
||||
|
|
@ -29,6 +30,8 @@ import javax.tools.JavaFileObject;
|
|||
import javax.tools.StandardJavaFileManager;
|
||||
import javax.tools.ToolProvider;
|
||||
|
||||
import org.springframework.aot.generate.GeneratedFiles.Kind;
|
||||
import org.springframework.aot.generate.InMemoryGeneratedFiles;
|
||||
import org.springframework.aot.test.generator.file.ResourceFile;
|
||||
import org.springframework.aot.test.generator.file.ResourceFiles;
|
||||
import org.springframework.aot.test.generator.file.SourceFile;
|
||||
|
|
@ -83,6 +86,23 @@ public final class TestCompiler {
|
|||
ResourceFiles.none());
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a new {@link TestCompiler} instance with additional generated
|
||||
* source and resource files.
|
||||
* @param generatedFiles the generated files to add
|
||||
* @return a new {@link TestCompiler} instance
|
||||
*/
|
||||
public TestCompiler withFiles(InMemoryGeneratedFiles generatedFiles) {
|
||||
List<SourceFile> sourceFiles = new ArrayList<>();
|
||||
generatedFiles.getGeneratedFiles(Kind.SOURCE).forEach((path,
|
||||
inputStreamSource) -> sourceFiles.add(SourceFile.of(inputStreamSource)));
|
||||
List<ResourceFile> resourceFiles = new ArrayList<>();
|
||||
generatedFiles.getGeneratedFiles(Kind.RESOURCE)
|
||||
.forEach((path, inputStreamSource) -> resourceFiles
|
||||
.add(ResourceFile.of(path, inputStreamSource)));
|
||||
return withSources(sourceFiles).withResources(resourceFiles);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return a new {@link TestCompiler} instance with addition source files.
|
||||
* @param sourceFiles the additional source files
|
||||
|
|
|
|||
Loading…
Reference in New Issue