Skip to content

Commit f5bc9c7

Browse files
committed
Adding NOTE messages at compile time to let the user know which files are generated
1 parent 41b3425 commit f5bc9c7

3 files changed

Lines changed: 15 additions & 4 deletions

File tree

‎AndroidAnnotations/androidannotations/src/main/java/com/googlecode/androidannotations/AndroidAnnotationProcessor.java‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -283,7 +283,9 @@ private ModelProcessor buildModelProcessor(IRClass rClass, AndroidSystemServices
283283
}
284284

285285
private void generateSources(JCodeModel model) throws IOException {
286-
CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler());
286+
Messager messager = processingEnv.getMessager();
287+
messager.printMessage(Diagnostic.Kind.NOTE, "Number of files generated by AndroidAnnotations: " + model.countArtifacts());
288+
CodeModelGenerator modelGenerator = new CodeModelGenerator(processingEnv.getFiler(), messager);
287289
modelGenerator.generate(model);
288290
}
289291

‎AndroidAnnotations/androidannotations/src/main/java/com/googlecode/androidannotations/generation/CodeModelGenerator.java‎

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,21 +18,24 @@
1818
import java.io.IOException;
1919

2020
import javax.annotation.processing.Filer;
21+
import javax.annotation.processing.Messager;
2122

2223
import com.sun.codemodel.JCodeModel;
2324
import com.sun.codemodel.writer.PrologCodeWriter;
2425

2526
public class CodeModelGenerator {
2627

2728
private final Filer filer;
29+
private final Messager messager;
2830

29-
public CodeModelGenerator(Filer filer) {
31+
public CodeModelGenerator(Filer filer, Messager messager) {
3032
this.filer = filer;
33+
this.messager = messager;
3134
}
3235

3336
public void generate(JCodeModel codeModel) throws IOException {
3437

35-
SourceCodewriter sourceCodeWriter = new SourceCodewriter(filer);
38+
SourceCodewriter sourceCodeWriter = new SourceCodewriter(filer, messager);
3639

3740
PrologCodeWriter prologCodeWriter = new PrologCodeWriter(sourceCodeWriter, "DO NOT EDIT THIS FILE, IT HAS BEEN GENERATED USING AndroidAnnotations.\n");
3841

‎AndroidAnnotations/androidannotations/src/main/java/com/googlecode/androidannotations/generation/SourceCodewriter.java‎

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,17 @@
55

66
import javax.annotation.processing.Filer;
77
import javax.annotation.processing.FilerException;
8+
import javax.annotation.processing.Messager;
89
import javax.tools.JavaFileObject;
10+
import javax.tools.Diagnostic.Kind;
911

1012
import com.sun.codemodel.CodeWriter;
1113
import com.sun.codemodel.JPackage;
1214

1315
public class SourceCodewriter extends CodeWriter {
1416

1517
private final Filer filer;
18+
private final Messager message;
1619

1720
private static final VoidOutputStream VOID_OUTPUT_STREAM = new VoidOutputStream();
1821

@@ -23,17 +26,20 @@ public void write(int arg0) throws IOException {
2326
}
2427
}
2528

26-
public SourceCodewriter(Filer filer) {
29+
public SourceCodewriter(Filer filer, Messager message) {
2730
this.filer = filer;
31+
this.message = message;
2832
}
2933

3034
@Override
3135
public OutputStream openBinary(JPackage pkg, String fileName) throws IOException {
3236
String qualifiedClassName = toQualifiedClassName(pkg, fileName);
37+
message.printMessage(Kind.NOTE, "Generating source file: " + qualifiedClassName);
3338
try {
3439
JavaFileObject sourceFile = filer.createSourceFile(qualifiedClassName);
3540
return sourceFile.openOutputStream();
3641
} catch (FilerException e) {
42+
message.printMessage(Kind.NOTE, "Could not generate source file for " + qualifiedClassName + ", message: " + e.getMessage());
3743
/*
3844
* This exception is expected, when some files are created twice. We
3945
* cannot delete existing files, unless using a dirty hack. Files a

0 commit comments

Comments
 (0)