hundreds-father-404
01/21/2022, 12:33 AMcoursier fetch
there via Get(CoursierResolvedLockfile, ArtifactRequirements, artifact_requirements)
. I would expect us to instead by reading from a lockfile already saved on-diskwitty-crayon-22786
01/21/2022, 1:13 AMhundreds-father-404
01/21/2022, 5:07 PM# java_parser_launcher.py
ArtifactRequirements.from_coordinates(
[
Coordinate(
group="com.fasterxml.jackson.core", artifact="jackson-databind", version="2.12.4"
),
Coordinate(
group="com.fasterxml.jackson.datatype",
artifact="jackson-datatype-jdk8",
version="2.12.4",
),
Coordinate(
group="com.github.javaparser",
artifact="javaparser-symbol-solver-core",
version="3.23.0",
),
],
)
ancient-vegetable-10556
01/21/2022, 5:08 PMhundreds-father-404
01/21/2022, 5:09 PMsrc/python/pants/backend/scala/dependency_inference/scala_parser.py
src/python/pants/backend/scala/compile/scalac.py
src/python/pants/backend/scala/goals/repl.py
src/python/pants/backend/codegen/protobuf/scala/rules.py
src/python/pants/backend/java/dependency_inference/java_parser.py
src/python/pants/backend/java/dependency_inference/java_parser_launcher.py
ancient-vegetable-10556
01/21/2022, 5:09 PMhundreds-father-404
01/21/2022, 5:15 PMcoursier_fetch.py
which is now user_resolves.py
. Probably move it to jvm_tool.py
. Maybeeee rename to put Tool
in the name to make this clear? Wdyt?ancient-vegetable-10556
01/21/2022, 5:18 PMhundreds-father-404
01/21/2022, 5:22 PMlockfile = await Get(CoursierResolvedLockfile, ValidatedJvmToolLockfileRequest(tool))
source_files, tool_classpath = await MultiGet(
....
Get(
MaterializedClasspath,
MaterializedClasspathRequest(
lockfiles=(lockfile,),
),
),
)
In fact, I'm thinking we might want to consolidate MaterializedClasspath
+ ValidatedJvmToolLockfileRequest
+ reading the lockfile with the engine rather than open()
. MaterializedClasspathRequest -> MaterializedClasspath
is what you use to download/set up a toolancient-vegetable-10556
01/21/2022, 5:27 PMMaterializedClasspath
+ ValidatedJvmToolLockfileRequest
— that one exists entirely because constructing the ArtifactRequirements
for metadata validation needed a rule. Solving a problem with more indirection and all that.