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

pantsbuild / pants / 21552830208

31 Jan 2026 11:40PM UTC coverage: 80.277% (-0.05%) from 80.324%
21552830208

Pull #23062

github

web-flow
Merge 808a9786c into 2c4dcf9cf
Pull Request #23062: Remove support for Get

18 of 25 new or added lines in 4 files covered. (72.0%)

17119 existing lines in 541 files now uncovered.

78278 of 97510 relevant lines covered (80.28%)

3.36 hits per line

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

100.0
/src/python/pants/backend/java/target_types.py
1
# Copyright 2020 Pants project contributors (see CONTRIBUTORS.md).
2
# Licensed under the Apache License, Version 2.0 (see LICENSE).
3

UNCOV
4
from __future__ import annotations
10✔
5

UNCOV
6
from dataclasses import dataclass
10✔
7

UNCOV
8
from pants.engine.rules import collect_rules
10✔
UNCOV
9
from pants.engine.target import (
10✔
10
    COMMON_TARGET_FIELDS,
11
    FieldSet,
12
    MultipleSourcesField,
13
    SingleSourceField,
14
    Target,
15
    TargetFilesGenerator,
16
    generate_multiple_sources_field_help_message,
17
)
UNCOV
18
from pants.jvm import target_types as jvm_target_types
10✔
UNCOV
19
from pants.jvm.run import jvm_run_rules
10✔
UNCOV
20
from pants.jvm.target_types import (
10✔
21
    JunitTestExtraEnvVarsField,
22
    JunitTestSourceField,
23
    JunitTestTimeoutField,
24
    JvmDependenciesField,
25
    JvmJdkField,
26
    JvmMainClassNameField,
27
    JvmProvidesTypesField,
28
    JvmResolveField,
29
    JvmRunnableSourceFieldSet,
30
)
31

32

UNCOV
33
class JavaSourceField(SingleSourceField):
10✔
UNCOV
34
    expected_file_extensions = (".java",)
10✔
35

36

UNCOV
37
class JavaGeneratorSourcesField(MultipleSourcesField):
10✔
UNCOV
38
    expected_file_extensions = (".java",)
10✔
39

40

UNCOV
41
@dataclass(frozen=True)
10✔
UNCOV
42
class JavaFieldSet(JvmRunnableSourceFieldSet):
10✔
UNCOV
43
    required_fields = (JavaSourceField,)
10✔
44

UNCOV
45
    sources: JavaSourceField
10✔
46

47

UNCOV
48
@dataclass(frozen=True)
10✔
UNCOV
49
class JavaGeneratorFieldSet(FieldSet):
10✔
UNCOV
50
    required_fields = (JavaGeneratorSourcesField,)
10✔
51

UNCOV
52
    sources: JavaGeneratorSourcesField
10✔
53

54

55
# -----------------------------------------------------------------------------------------------
56
# `junit_test` and `junit_tests` targets
57
# -----------------------------------------------------------------------------------------------
58

59

UNCOV
60
class JavaJunitTestSourceField(JavaSourceField, JunitTestSourceField):
10✔
61
    """A JUnit test file written in Java."""
62

63

UNCOV
64
class JunitTestTarget(Target):
10✔
UNCOV
65
    alias = "junit_test"
10✔
UNCOV
66
    core_fields = (
10✔
67
        *COMMON_TARGET_FIELDS,
68
        JavaJunitTestSourceField,
69
        JunitTestTimeoutField,
70
        JunitTestExtraEnvVarsField,
71
        JvmDependenciesField,
72
        JvmResolveField,
73
        JvmProvidesTypesField,
74
        JvmJdkField,
75
    )
UNCOV
76
    help = "A single Java test, run with JUnit."
10✔
77

78

UNCOV
79
class JavaTestsGeneratorSourcesField(JavaGeneratorSourcesField):
10✔
UNCOV
80
    default = ("*Test.java",)
10✔
UNCOV
81
    help = generate_multiple_sources_field_help_message(
10✔
82
        "Example: `sources=['*Test.java', '!TestIgnore.java']`"
83
    )
84

85

UNCOV
86
class JunitTestsGeneratorTarget(TargetFilesGenerator):
10✔
UNCOV
87
    alias = "junit_tests"
10✔
UNCOV
88
    core_fields = (
10✔
89
        *COMMON_TARGET_FIELDS,
90
        JavaTestsGeneratorSourcesField,
91
    )
UNCOV
92
    generated_target_cls = JunitTestTarget
10✔
UNCOV
93
    copied_fields = COMMON_TARGET_FIELDS
10✔
UNCOV
94
    moved_fields = (
10✔
95
        JunitTestTimeoutField,
96
        JunitTestExtraEnvVarsField,
97
        JvmDependenciesField,
98
        JvmJdkField,
99
        JvmProvidesTypesField,
100
        JvmResolveField,
101
    )
UNCOV
102
    help = "Generate a `junit_test` target for each file in the `sources` field."
10✔
103

104

105
# -----------------------------------------------------------------------------------------------
106
# `java_source` and `java_sources` targets
107
# -----------------------------------------------------------------------------------------------
108

109

UNCOV
110
class JavaSourceTarget(Target):
10✔
UNCOV
111
    alias = "java_source"
10✔
UNCOV
112
    core_fields = (
10✔
113
        *COMMON_TARGET_FIELDS,
114
        JvmDependenciesField,
115
        JavaSourceField,
116
        JvmResolveField,
117
        JvmMainClassNameField,
118
        JvmProvidesTypesField,
119
        JvmJdkField,
120
    )
UNCOV
121
    help = "A single Java source file containing application or library code."
10✔
122

123

UNCOV
124
class JavaSourcesGeneratorSourcesField(JavaGeneratorSourcesField):
10✔
UNCOV
125
    default = ("*.java",) + tuple(f"!{pat}" for pat in JavaTestsGeneratorSourcesField.default)
10✔
UNCOV
126
    help = generate_multiple_sources_field_help_message(
10✔
127
        "Example: `sources=['Example.java', 'New*.java', '!OldExample.java']`"
128
    )
129

130

UNCOV
131
class JavaSourcesGeneratorTarget(TargetFilesGenerator):
10✔
UNCOV
132
    alias = "java_sources"
10✔
UNCOV
133
    core_fields = (
10✔
134
        *COMMON_TARGET_FIELDS,
135
        JavaSourcesGeneratorSourcesField,
136
    )
UNCOV
137
    generated_target_cls = JavaSourceTarget
10✔
UNCOV
138
    copied_fields = COMMON_TARGET_FIELDS
10✔
UNCOV
139
    moved_fields = (
10✔
140
        JvmDependenciesField,
141
        JvmResolveField,
142
        JvmJdkField,
143
        JvmMainClassNameField,
144
        JvmProvidesTypesField,
145
    )
UNCOV
146
    help = "Generate a `java_source` target for each file in the `sources` field."
10✔
147

148

UNCOV
149
def rules():
10✔
UNCOV
150
    return [
7✔
151
        *collect_rules(),
152
        *jvm_target_types.rules(),
153
        *jvm_run_rules(JavaFieldSet),
154
    ]
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

© 2026 Coveralls, Inc