I just discovered that if you try to use @BetaFeature and @ExperimentalFeature together on the same class, you get a very obtuse error:
> Task :gatkDoc
14:00:47.591 WARN DefaultDocWorkUnitHandler - No group summary declared for: org.broadinstitute.hellbender.metrics.analysis.BaseDistributionByCycleMetrics
14:00:47.614 WARN DefaultDocWorkUnitHandler - No group summary declared for: org.broadinstitute.hellbender.metrics.analysis.AlleleFrequencyQCMetric
14:00:47.617 WARN DefaultDocWorkUnitHandler - No group summary declared for: org.broadinstitute.hellbender.metrics.QualityYieldMetrics
14:00:47.635 WARN DefaultDocWorkUnitHandler - No group summary declared for: org.broadinstitute.hellbender.metrics.InsertSizeMetrics
Note: Skipping disabled documentation for feature: org.broadinstitute.hellbender.tools.walkers.PairWalker
14:00:49.317 INFO Reflections - Reflections took 81 ms to scan 1 urls, producing 9 keys and 31 values
14:00:49.390 INFO Reflections - Reflections took 61 ms to scan 1 urls, producing 7 keys and 42 values
error: fatal error encountered: java.lang.NullPointerException: Cannot invoke "java.lang.Class.getSimpleName()" because "this.clazz" is null
error: Please file a bug against the javadoc tool via the Java bug reporting page
(https://bugreport.java.com) after checking the Bug Database (https://bugs.java.com)
for duplicates. Include error messages and the following diagnostic in your report. Thank you.
java.lang.NullPointerException: Cannot invoke "java.lang.Class.getSimpleName()" because "this.clazz" is null
at org.broadinstitute.barclay.help.DocWorkUnit.checkForMultipleMutexAnnotations(DocWorkUnit.java:92)
at org.broadinstitute.barclay.help.DocWorkUnit.<init>(DocWorkUnit.java:69)
at org.broadinstitute.hellbender.utils.help.GATKDocWorkUnit.<init>(GATKDocWorkUnit.java:25)
at org.broadinstitute.hellbender.utils.help.GATKHelpDoclet.createWorkUnit(GATKHelpDoclet.java:50)
at org.broadinstitute.barclay.help.scanners.DocumentedFeatureScanner.scan(DocumentedFeatureScanner.java:56)
at org.broadinstitute.barclay.help.scanners.DocumentedFeatureScanner.scan(DocumentedFeatureScanner.java:22)
at java.compiler@17.0.8/javax.lang.model.util.ElementScanner6.scan(ElementScanner6.java:140)
at org.broadinstitute.barclay.help.scanners.JavaLanguageModelScanners.getWorkUnits(JavaLanguageModelScanners.java:44)
at org.broadinstitute.barclay.help.HelpDoclet.processDocs(HelpDoclet.java:287)
at org.broadinstitute.barclay.help.HelpDoclet.run(HelpDoclet.java:113)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.parseAndExecute(Start.java:556)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:393)
at jdk.javadoc/jdk.javadoc.internal.tool.Start.begin(Start.java:342)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.execute(Main.java:63)
at jdk.javadoc/jdk.javadoc.internal.tool.Main.main(Main.java:52)
2 errors
It would be great to update Barclay to check for the mutually exclusive annotations and fail more gracefully.
@cmnbroad - what do you think?
I just discovered that if you try to use
@BetaFeatureand@ExperimentalFeaturetogether on the same class, you get a very obtuse error:It would be great to update Barclay to check for the mutually exclusive annotations and fail more gracefully.
@cmnbroad - what do you think?