Skip to content

Commit 2b85241

Browse files
ctruedenclaude
andcommitted
Make deplist command's --direct flag actually work
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 3e45b76 commit 2b85241

3 files changed

Lines changed: 27 additions & 13 deletions

File tree

docs/changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99

1010
### Bug fixes
1111

12+
- **Make `deplist --direct` actually work** -- The `--direct` flag was being ignored for the `deplist` command. Now it's passed through to the interior logic to handle it properly.
1213
- **Sort `info versions` output** -- The reported versions list is now ordered according to Maven's versioning semantics.
1314
- **Add missing type hints** -- The CLI layer's click-related functions now have full type hints.
1415

src/jgo/cli/_commands/info.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -228,7 +228,7 @@ def deptree(ctx: click.Context, endpoint: str | None) -> None:
228228
@click.pass_context
229229
def deplist(ctx: click.Context, endpoint: str | None, direct: bool) -> None:
230230
"""Show a flat list of all dependencies for the given endpoint."""
231-
_print_deps(ctx, endpoint, list_mode=True)
231+
_print_deps(ctx, endpoint, list_mode=True, direct=direct)
232232

233233

234234
@click.command(help="Show Java version requirements.")
@@ -614,7 +614,9 @@ def _parse_coord_or_die(ctx: click.Context, coord_str: str) -> Coordinate:
614614
ctx.exit(1)
615615

616616

617-
def _print_deps(ctx: click.Context, endpoint: str | None, list_mode: bool) -> None:
617+
def _print_deps(
618+
ctx: click.Context, endpoint: str | None, list_mode: bool, direct: bool = False
619+
) -> None:
618620
"""Common logic for deptree and deplist."""
619621

620622
opts = ctx.obj
@@ -639,6 +641,7 @@ def _print_deps(ctx: click.Context, endpoint: str | None, list_mode: bool) -> No
639641
pom_path,
640642
context,
641643
list_mode=list_mode,
644+
direct_only=direct,
642645
optional_depth=args.get_effective_optional_depth(),
643646
)
644647
except (RuntimeError, ValueError) as e:
@@ -669,5 +672,5 @@ def _print_deps(ctx: click.Context, endpoint: str | None, list_mode: bool) -> No
669672
ctx.exit(1)
670673
dependencies = builder._coordinates_to_dependencies(parsed.coordinates)
671674

672-
print_dependencies(dependencies, context, list_mode=list_mode)
675+
print_dependencies(dependencies, context, list_mode=list_mode, direct_only=direct)
673676
ctx.exit(0)

tests/cli/info.t

Lines changed: 20 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,26 @@ Test info deplist with endpoint.
136136
com.google.j2objc:j2objc-annotations:2.8
137137
org.checkerframework:checker-qual:3.41.0
138138

139-
Test info deplist --direct flag.
140-
141-
$ jgo info deplist --direct com.google.guava:guava:33.0.0-jre
142-
com.google.guava:guava:33.0.0-jre
143-
com.google.code.findbugs:jsr305:3.0.2
144-
com.google.errorprone:error_prone_annotations:2.23.0
145-
com.google.guava:failureaccess:1.0.2
146-
com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava
147-
com.google.j2objc:j2objc-annotations:2.8
148-
org.checkerframework:checker-qual:3.41.0
139+
Test info deplist --direct flag. Use an artifact whose direct dependencies are a
140+
strict subset of its transitive closure, so the flag's effect is observable
141+
(guava's direct deps happen to equal its transitive set, which would not catch a
142+
regression where --direct is ignored).
143+
144+
$ jgo info deplist org.junit.jupiter:junit-jupiter:5.10.0
145+
org.junit.jupiter:junit-jupiter:5.10.0
146+
org.apiguardian:apiguardian-api:1.1.2
147+
org.junit.jupiter:junit-jupiter-api:5.10.0
148+
org.junit.jupiter:junit-jupiter-engine:5.10.0:runtime
149+
org.junit.jupiter:junit-jupiter-params:5.10.0
150+
org.junit.platform:junit-platform-commons:1.10.0
151+
org.junit.platform:junit-platform-engine:1.10.0:runtime
152+
org.opentest4j:opentest4j:1.3.0
153+
154+
$ jgo info deplist --direct org.junit.jupiter:junit-jupiter:5.10.0
155+
org.junit.jupiter:junit-jupiter:5.10.0
156+
org.junit.jupiter:junit-jupiter-api:5.10.0
157+
org.junit.jupiter:junit-jupiter-engine:5.10.0:runtime
158+
org.junit.jupiter:junit-jupiter-params:5.10.0
149159

150160
Test info javainfo with no endpoint.
151161

0 commit comments

Comments
 (0)