Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

vague timeline for the v2 jvm backend #9064

Closed
1 of 10 tasks
cosmicexplorer opened this issue Feb 4, 2020 · 1 comment
Closed
1 of 10 tasks

vague timeline for the v2 jvm backend #9064

cosmicexplorer opened this issue Feb 4, 2020 · 1 comment

Comments

@cosmicexplorer
Copy link
Contributor

cosmicexplorer commented Feb 4, 2020

Prototyped

#8760 has implementations of all of the below, which should be split out into separate PRs:

  • (expose a v2 ruleset for BinaryToolBase #8859) Make BinaryToolBase consumable in v2.
  • (JVM Bootstrap in the v2 engine #6856) Enabling the resolution of 3rdparty jars via bootstrapping coursier.
    • Make the coursier jar into a pants.binaries.binary_tool.Script.
    • Make a v2 ruleset which can invoke the coursier jar with (almost, if not) all of the arguments coursier is currently invoked with in v1.
  • Make JvmToolMixin consumable in v2 via invoking coursier to resolve the classpath for the tool.
  • Make a ruleset to resolve the thrift jar as a JvmToolMixin, and then to invoke thrift on a set of targets.
    • These might be two separate changes.
  • Convert the export task to v2.

Not Yet Prototyped

These goals have not yet been prototyped:

  • compile
  • export-classpath

Related Work

Needs Discussion

There is also an experimental but I believe correct and useful setup in #8760 which allows v2 rules to use v1 targets mostly verbatim (which would be a very different approach than we've previously been considering for #4535).

  • Split out this change and describe the reasons why it might be useful (because we then don't have to change anything about the Target API).
  • Merge this to unblock thrift gen and export above, which require this approach or something equivalent to work.
@stuhood
Copy link
Member

stuhood commented Jan 26, 2022

Pants v2 now has alpha-quality support for the JVM: https://blog.pantsbuild.org/pants-2-9/ ! Further work can be tracked in https://github.com/pantsbuild/pants/projects/22?fullscreen=true

@stuhood stuhood closed this as completed Jan 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants