From 0fa3842a70ea7369e9fe30cb0e21e412644d9aec Mon Sep 17 00:00:00 2001 From: Ahmed Ashour Date: Fri, 29 Mar 2019 09:27:11 +0100 Subject: [PATCH] test: warn about compiler not found (PR #540) --- .../tests/api/compiler/StaticCompiler.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/jadx-core/src/test/java/jadx/tests/api/compiler/StaticCompiler.java b/jadx-core/src/test/java/jadx/tests/api/compiler/StaticCompiler.java index 8705ee431..d9eb4fcc2 100644 --- a/jadx-core/src/test/java/jadx/tests/api/compiler/StaticCompiler.java +++ b/jadx-core/src/test/java/jadx/tests/api/compiler/StaticCompiler.java @@ -1,12 +1,5 @@ package jadx.tests.api.compiler; -import javax.tools.FileObject; -import javax.tools.ForwardingJavaFileManager; -import javax.tools.JavaCompiler; -import javax.tools.JavaFileObject; -import javax.tools.SimpleJavaFileObject; -import javax.tools.StandardJavaFileManager; -import javax.tools.ToolProvider; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; @@ -16,9 +9,16 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; -import jadx.core.utils.files.FileUtils; +import javax.tools.FileObject; +import javax.tools.ForwardingJavaFileManager; +import javax.tools.JavaCompiler; +import javax.tools.JavaCompiler.CompilationTask; +import javax.tools.JavaFileObject; +import javax.tools.SimpleJavaFileObject; +import javax.tools.StandardJavaFileManager; +import javax.tools.ToolProvider; -import static javax.tools.JavaCompiler.CompilationTask; +import jadx.core.utils.files.FileUtils; public class StaticCompiler { @@ -27,6 +27,9 @@ public class StaticCompiler { public static List compile(List files, File outDir, boolean includeDebugInfo) throws IOException { JavaCompiler compiler = ToolProvider.getSystemJavaCompiler(); + if (compiler == null) { + throw new IllegalStateException("Can not find compiler, please use JDK instead"); + } StandardJavaFileManager fileManager = compiler.getStandardFileManager(null, null, null); Iterable compilationUnits = fileManager.getJavaFileObjectsFromFiles(files);