diff --git a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java index 1b4b57812a5..b38e2898900 100644 --- a/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java +++ b/javascript/extractor/src/com/semmle/js/extractor/AutoBuild.java @@ -374,6 +374,16 @@ public class AutoBuild { */ private void extractExterns() throws IOException { ExtractorConfig config = new ExtractorConfig(false).withExterns(true); + + // use explicitly specified trap cache, or otherwise $SEMMLE_DIST/.cache/trap-cache/javascript, + // which we pre-populate when building the distribution + ITrapCache trapCache = this.trapCache; + if (trapCache instanceof DummyTrapCache) { + Path trapCachePath = SEMMLE_DIST.resolve(".cache").resolve("trap-cache").resolve("javascript"); + if (Files.isDirectory(trapCachePath)) + trapCache = new DefaultTrapCache(trapCachePath.toString(), null, Main.EXTRACTOR_VERSION); + } + FileExtractor extractor = new FileExtractor(config, outputConfig, trapCache, extractorState); FileVisitor visitor = new SimpleFileVisitor() { @Override