Skip to content

Commit 4da1f09

Browse files
authored
Merge pull request #810 from kusumotolab/output-build-failed
build-failed個体の原因を出力する
2 parents f3b5f5a + 9435c8a commit 4da1f09

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

src/main/java/jp/kusumotolab/kgenprog/project/build/ProjectBuilder.java

+21
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
import javax.tools.JavaFileObject;
1414
import javax.tools.StandardJavaFileManager;
1515
import javax.tools.ToolProvider;
16+
import org.slf4j.Logger;
17+
import org.slf4j.LoggerFactory;
1618
import jp.kusumotolab.kgenprog.project.GeneratedAST;
1719
import jp.kusumotolab.kgenprog.project.GeneratedSourceCode;
1820
import jp.kusumotolab.kgenprog.project.factory.TargetProject;
@@ -31,6 +33,8 @@
3133
*/
3234
public class ProjectBuilder {
3335

36+
public static final Logger log = LoggerFactory.getLogger(ProjectBuilder.class);
37+
3438
// TODO デフォルトのコンパイラバージョンは要検討.ひとまず1.8固定.
3539
// TODO #289: 加え,toml からコンパイラバージョンを指定できるようにするべき.
3640
private static final String DEFAULT_JDK_VERSION = "1.8";
@@ -79,6 +83,23 @@ public BuildResults build(final GeneratedSourceCode generatedSourceCode) {
7983
final boolean success = build(allAsts, javaSourceObjects, diagnostics, progress);
8084

8185
if (!success) {
86+
if (!diagnostics.getDiagnostics()
87+
.isEmpty()) {
88+
final StringBuilder sb = new StringBuilder();
89+
sb.append("build failed.")
90+
.append(System.lineSeparator())
91+
.append(diagnostics.getDiagnostics()
92+
.get(0));
93+
if (diagnostics.getDiagnostics()
94+
.size() > 1) {
95+
sb.append(System.lineSeparator())
96+
.append("and ")
97+
.append(diagnostics.getDiagnostics()
98+
.size() - 1)
99+
.append(" more.");
100+
}
101+
log.debug(sb.toString());
102+
}
82103
return new EmptyBuildResults(diagnostics, progress.toString());
83104
}
84105
}

0 commit comments

Comments
 (0)