diff --git a/baseline-refaster-javac-plugin/build.gradle b/baseline-refaster-javac-plugin/build.gradle index ca8922b97..2eed6f582 100644 --- a/baseline-refaster-javac-plugin/build.gradle +++ b/baseline-refaster-javac-plugin/build.gradle @@ -5,6 +5,7 @@ apply from: "${rootDir}/gradle/publish-jar.gradle" dependencies { compile 'com.google.errorprone:error_prone_refaster' + compile 'org.slf4j:slf4j-api' annotationProcessor 'com.google.auto.service:auto-service' compileOnly 'com.google.auto.service:auto-service' diff --git a/baseline-refaster-javac-plugin/src/main/java/com/palantir/baseline/refaster/BaselineRefasterCompilerAnalyzer.java b/baseline-refaster-javac-plugin/src/main/java/com/palantir/baseline/refaster/BaselineRefasterCompilerAnalyzer.java index a6b10a4af..82f54e57a 100644 --- a/baseline-refaster-javac-plugin/src/main/java/com/palantir/baseline/refaster/BaselineRefasterCompilerAnalyzer.java +++ b/baseline-refaster-javac-plugin/src/main/java/com/palantir/baseline/refaster/BaselineRefasterCompilerAnalyzer.java @@ -32,6 +32,8 @@ import java.nio.file.Path; import java.util.ArrayList; import java.util.List; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** * TaskListener that receives compilation of a Refaster rule class and outputs a combined serialized analyzer @@ -41,6 +43,7 @@ */ public final class BaselineRefasterCompilerAnalyzer implements TaskListener { + private static final Logger log = LoggerFactory.getLogger(BaselineRefasterCompilerAnalyzer.class); private final Context context; private final Path destinationPath; @@ -72,7 +75,11 @@ public void finished(TaskEvent taskEvent) { new TreeScanner() { @Override public Void visitClass(ClassTree node, Context classContext) { - rules.addAll(RefasterRuleBuilderScanner.extractRules(node, classContext)); + try { + rules.addAll(RefasterRuleBuilderScanner.extractRules(node, classContext)); + } catch (RuntimeException | Error e) { + log.warn("Failed to extract rules", e); + } return super.visitClass(node, classContext); } }.scan(tree, context); diff --git a/changelog/@unreleased/pr-904.v2.yml b/changelog/@unreleased/pr-904.v2.yml new file mode 100644 index 000000000..f57b885c2 --- /dev/null +++ b/changelog/@unreleased/pr-904.v2.yml @@ -0,0 +1,5 @@ +type: fix +fix: + description: Continue when RefasterRuleBuilderScanner throws + links: + - https://github.com/palantir/gradle-baseline/pull/904