Buck blows up on backticks in kotlin
Created by: ZacSweers
If you have a backtick in an API for kotlin, buck will fail with a stacktrace like this.
Example: fun 'in'()
(replace the '
with backticks, github won't format it nicely)
./buckw test //libraries/foundation/realtime/realtime-projectgen/... --include unit
Buck encountered an internal error
java.lang.IllegalStateException
at com.google.common.base.Preconditions.checkState(Preconditions.java:429)
at com.facebook.buck.jvm.java.AccumulateClassNamesStep.parseClassHashes(AccumulateClassNamesStep.java:167)
at com.facebook.buck.jvm.java.JavaLibraryRules.initializeFromDisk(JavaLibraryRules.java:81)
at com.facebook.buck.jvm.java.DefaultJavaLibrary.initializeFromDisk(DefaultJavaLibrary.java:333)
at com.facebook.buck.jvm.java.DefaultJavaLibrary.initializeFromDisk(DefaultJavaLibrary.java:1)
at com.facebook.buck.rules.BuildOutputInitializer.initializeFromDisk(BuildOutputInitializer.java:47)
at com.facebook.buck.rules.CachingBuildRuleBuilder.doInitializeFromDisk(CachingBuildRuleBuilder.java:1276)
at com.facebook.buck.rules.CachingBuildRuleBuilder.finalizeBuildRule(CachingBuildRuleBuilder.java:403)
at com.facebook.buck.rules.CachingBuildRuleBuilder.lambda$4(CachingBuildRuleBuilder.java:288)
at com.facebook.buck.rules.CachingBuildRuleBuilder.lambda$21(CachingBuildRuleBuilder.java:1634)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:211)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:200)
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:130)
at com.google.common.util.concurrent.MoreExecutors$5$1.run(MoreExecutors.java:952)
at com.facebook.buck.util.concurrent.WeightedListeningExecutorService.lambda$2(WeightedListeningExecutorService.java:104)
at com.facebook.buck.util.concurrent.WeightedListeningExecutorService.lambda$0(WeightedListeningExecutorService.java:78)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:211)
at com.google.common.util.concurrent.AbstractTransformFuture$AsyncTransformFuture.doTransform(AbstractTransformFuture.java:200)
at com.google.common.util.concurrent.AbstractTransformFuture.run(AbstractTransformFuture.java:130)
at com.google.common.util.concurrent.MoreExecutors$5$1.run(MoreExecutors.java:952)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
When building rule //libraries/foundation/realtime/realtime-projectgen:test_main#testsjar.
Downloaded 68.87 Kbytes/sec avg, 3 artifacts, 48.00 Kbytes
Building: finished in 2.1 sec (100%) 397/398 jobs, 1 updated, 0.3% cache miss
Total time: 2.3 sec
This is kind of serious, as backticks in kotlin are quite normal to avoid keyword collisions