diff --git a/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageActor.scala b/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageActor.scala index ecaf40c4a..9bcd29e20 100644 --- a/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageActor.scala +++ b/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageActor.scala @@ -49,7 +49,7 @@ class PackageActor( src: String, coursier: String, store: PackageStore, - packagehubUrl: String, + lsifJavaVersion: String, val dir: Path, val addr: Int = 3434 )(implicit ctx: Context, log: cask.Logger) @@ -247,7 +247,10 @@ class PackageActor( return dump pkg match { case _: NpmPackage => - exec(sourceroot, List("yarn", "install")) + val toolVersions = sourceroot.resolve(".tool-versions") + if (!Files.isRegularFile(toolVersions)) { + Files.write(toolVersions, List("yarn 1.22.4").asJava) + } val tsconfig = sourceroot.resolve("tsconfig.json") if (!Files.isRegularFile(tsconfig)) { val config = Obj( @@ -256,6 +259,7 @@ class PackageActor( ) Files.write(tsconfig, List(ujson.write(config, indent = 2)).asJava) } + exec(sourceroot, List("yarn", "install")) exec( sourceroot, List("npx", "@olafurpg/lsif-tsc", "-p", sourceroot.toString) @@ -285,8 +289,9 @@ class PackageActor( "launch", "--jvm", jvm, - "--contrib", - "lsif-java", + s"com.sourcegraph:lsif-java_2.13:${lsifJavaVersion}", + "-r", + "sonatype:snapshots", "--", "index", "--output", diff --git a/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageHub.scala b/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageHub.scala index d9d990e2f..619e81a2b 100644 --- a/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageHub.scala +++ b/packagehub/src/main/scala/com/sourcegraph/packagehub/PackageHub.scala @@ -39,6 +39,9 @@ case class PackageHub( postgres: PostgresOptions = PostgresOptions(), @Description("URL of the PackageHub server") packagehubUrl: String = "https://packagehub-ohcltxh6aq-uc.a.run.app", + @Description( + "The version of lsif-java to use for indexing packages" + ) lsifJavaVersion: String = BuildInfo.version, @Description("Path to the src-cli binary") src: String = "src", @Description("Path to the coursier binary") coursier: String = "coursier", @Description("If enabled, schedule an LSIF index after the given delay") @@ -62,7 +65,7 @@ case class PackageHub( src, coursier, store, - packagehubUrl, + lsifJavaVersion, dir.getOrElse(app.env.cacheDirectory) )(ctx, log) val routes = new PackageRoutes(this, actor, store, log)(ctx)