• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

pantsbuild / pants / 19015773527

02 Nov 2025 05:33PM UTC coverage: 17.872% (-62.4%) from 80.3%
19015773527

Pull #22816

github

web-flow
Merge a12d75757 into 6c024e162
Pull Request #22816: Update Pants internal Python to 3.14

4 of 5 new or added lines in 3 files covered. (80.0%)

28452 existing lines in 683 files now uncovered.

9831 of 55007 relevant lines covered (17.87%)

0.18 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

0.0
/src/python/pants/jvm/run_deploy_jar.py
1
# Copyright 2022 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
UNCOV
3
from __future__ import annotations
×
4

UNCOV
5
import logging
×
6

UNCOV
7
from pants.core.goals.run import RunRequest
×
UNCOV
8
from pants.core.util_rules.system_binaries import rules as system_binaries_rules
×
UNCOV
9
from pants.engine.rules import collect_rules, implicitly, rule
×
UNCOV
10
from pants.jvm.classpath import rules as classpath_rules
×
UNCOV
11
from pants.jvm.jdk_rules import JdkRequest, JvmProcess, jvm_process, prepare_jdk_environment
×
UNCOV
12
from pants.jvm.jdk_rules import rules as jdk_rules
×
UNCOV
13
from pants.jvm.package.deploy_jar import DeployJarFieldSet, package_deploy_jar
×
UNCOV
14
from pants.jvm.package.deploy_jar import rules as deploy_jar_rules
×
UNCOV
15
from pants.jvm.run import _post_process_jvm_process
×
UNCOV
16
from pants.util.logging import LogLevel
×
17

UNCOV
18
logger = logging.getLogger(__name__)
×
19

20

UNCOV
21
@rule(level=LogLevel.DEBUG)
×
UNCOV
22
async def create_deploy_jar_run_request(
×
23
    field_set: DeployJarFieldSet,
24
) -> RunRequest:
25
    jdk = await prepare_jdk_environment(
×
26
        **implicitly({JdkRequest.from_field(field_set.jdk_version): JdkRequest})
27
    )
28

29
    main_class = field_set.main_class.value
×
30
    assert main_class is not None
×
31

32
    package = await package_deploy_jar(**implicitly(field_set))
×
33
    assert len(package.artifacts) == 1
×
34
    jar_path = package.artifacts[0].relpath
×
35
    assert jar_path is not None
×
36

37
    proc = await jvm_process(
×
38
        **implicitly(
39
            JvmProcess(
40
                jdk=jdk,
41
                classpath_entries=[f"{{chroot}}/{jar_path}"],
42
                argv=(main_class,),
43
                input_digest=package.digest,
44
                description=f"Run {main_class}.main(String[])",
45
                use_nailgun=False,
46
            )
47
        )
48
    )
49

50
    return _post_process_jvm_process(proc, jdk)
×
51

52

UNCOV
53
def rules():
×
UNCOV
54
    return [
×
55
        *collect_rules(),
56
        *DeployJarFieldSet.rules(),
57
        *deploy_jar_rules(),
58
        *system_binaries_rules(),
59
        *jdk_rules(),
60
        *classpath_rules(),
61
    ]
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc