Skip to content

Commit ad2e52f

Browse files
committed
Only log message about source generators once
1 parent 1479eea commit ad2e52f

File tree

3 files changed

+16
-9
lines changed

3 files changed

+16
-9
lines changed

semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbJavacOptions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,6 @@ private static TargetPaths getJavacClassesDir(SemanticdbJavacOptions result, Con
123123
JAVAC_CLASSES_DIR_ARG, out.toString());
124124
result.errors.add(errorMsg);
125125
}
126-
return (new TargetPaths(classOutputDir, sourceOutputDir));
126+
return new TargetPaths(classOutputDir, sourceOutputDir);
127127
}
128128
}

semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbReporter.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ public void exception(Throwable e, Tree tree, CompilationUnitTree root) {
3131
trees.printMessage(Diagnostic.Kind.ERROR, baos.toString(), tree, root);
3232
}
3333

34+
public void exception(Throwable e, TaskEvent task) {
35+
this.exception(e, task.getCompilationUnit(), task.getCompilationUnit());
36+
}
37+
3438
public void info(String message, TaskEvent e) {
3539
trees.printMessage(
3640
Diagnostic.Kind.NOTE,

semanticdb-javac/src/main/java/com/sourcegraph/semanticdb_javac/SemanticdbTaskListener.java

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public final class SemanticdbTaskListener implements TaskListener {
2525
private final SemanticdbReporter reporter;
2626
private final JavacTypes javacTypes;
2727
private final Trees trees;
28+
private boolean sourceGeneratorsMessageIsLogged = false;
2829

2930
public SemanticdbTaskListener(
3031
SemanticdbJavacOptions options,
@@ -194,17 +195,19 @@ private Result<Path, String> semanticdbOutputPath(SemanticdbJavacOptions options
194195
if (options.uriScheme == UriScheme.BAZEL && options.generatedTargetRoot != null) {
195196
try {
196197
if (absolutePath.toRealPath().startsWith(options.generatedTargetRoot)) {
197-
reporter.info(
198-
String.format(
199-
"Path '%s' belongs to the root for generated source files, "
200-
+ "as reported by javac ('%s'), therefore a SemanticDB file for it won't be generated",
201-
absolutePath, options.generatedTargetRoot),
202-
e);
198+
if (!sourceGeneratorsMessageIsLogged) {
199+
sourceGeneratorsMessageIsLogged = true;
200+
reporter.info(
201+
"Usage of source generators detected - scip-java does not produce SemanticDB files for generated files.\n"
202+
+ "This message is logged only once",
203+
e);
204+
}
203205

204206
return null;
205207
}
206-
} catch (IOException ioe) {
207-
// TODO:
208+
} catch (IOException exc) {
209+
reporter.exception(exc, e);
210+
return null;
208211
}
209212
}
210213

0 commit comments

Comments
 (0)