Skip to content

Commit 8bc453f

Browse files
authored
fix: fix project layout detection (#308)
Fixes: #307 fix: fix project layout detection
1 parent 89707d8 commit 8bc453f

1 file changed

Lines changed: 10 additions & 0 deletions

File tree

src/main/java/io/github/guacsec/trustifyda/providers/CargoProvider.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,16 @@ private CargoProjectLayout getProjectLayout(CargoMetadata metadata) {
7373
boolean hasWorkspace =
7474
metadata.workspaceMembers() != null && !metadata.workspaceMembers().isEmpty();
7575

76+
// Check if this is actually a single crate - cargo metadata includes the root crate
77+
// as a workspace member even for single crate projects
78+
if (hasRootCrate && hasWorkspace && metadata.workspaceMembers().size() == 1) {
79+
String rootId = metadata.resolve().root();
80+
String singleMember = metadata.workspaceMembers().get(0);
81+
if (rootId.equals(singleMember)) {
82+
return CargoProjectLayout.SINGLE_CRATE;
83+
}
84+
}
85+
7686
if (hasRootCrate && !hasWorkspace) {
7787
return CargoProjectLayout.SINGLE_CRATE;
7888
}

0 commit comments

Comments
 (0)