Skip to content

Commit 75ff671

Browse files
committed
Correct add swaps information to spdx 2 to 3
When converting from `XXX_DEPENDENCY_OF` to `DEPENDS_ON` we need to swap the dependency direction.
1 parent 8dc336f commit 75ff671

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

src/spdx_tools/spdx3/bump_from_spdx2/relationship.py

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,13 @@
3737
{
3838
"scope": LifecycleScopeType.BUILD,
3939
"linkage": SoftwareDependencyLinkType.TOOL,
40+
"swap": True,
4041
},
4142
),
4243
Spdx2_RelationshipType.BUILD_TOOL_OF: (
4344
SoftwareDependencyRelationship,
4445
RelationshipType.DEPENDS_ON,
45-
{"scope": LifecycleScopeType.BUILD, "linkage": SoftwareDependencyLinkType.TOOL},
46+
{"scope": LifecycleScopeType.BUILD, "linkage": SoftwareDependencyLinkType.TOOL, "swap": True},
4647
),
4748
Spdx2_RelationshipType.CONTAINED_BY: (Relationship, RelationshipType.CONTAINS, {"swap": True}),
4849
Spdx2_RelationshipType.CONTAINS: (
@@ -55,7 +56,7 @@
5556
Spdx2_RelationshipType.DEPENDENCY_MANIFEST_OF: (
5657
SoftwareDependencyRelationship,
5758
RelationshipType.DEPENDS_ON,
58-
{},
59+
{"swap": True},
5960
), # "expect purpose has been set to manifest"
6061
Spdx2_RelationshipType.DEPENDENCY_OF: (
6162
SoftwareDependencyRelationship,
@@ -74,12 +75,12 @@
7475
Spdx2_RelationshipType.DEV_DEPENDENCY_OF: (
7576
SoftwareDependencyRelationship,
7677
RelationshipType.DEPENDS_ON,
77-
{"scope": LifecycleScopeType.DEVELOPMENT},
78+
{"scope": LifecycleScopeType.DEVELOPMENT, "swap": True},
7879
),
7980
Spdx2_RelationshipType.DEV_TOOL_OF: (
8081
SoftwareDependencyRelationship,
8182
RelationshipType.DEPENDS_ON,
82-
{"scope": LifecycleScopeType.DEVELOPMENT, "linkage": SoftwareDependencyLinkType.TOOL},
83+
{"scope": LifecycleScopeType.DEVELOPMENT, "linkage": SoftwareDependencyLinkType.TOOL, "swap": True},
8384
),
8485
Spdx2_RelationshipType.DISTRIBUTION_ARTIFACT: (None, None, {}), # not defined yet, purpose?
8586
Spdx2_RelationshipType.DOCUMENTATION_OF: (Relationship, RelationshipType.DOCUMENTATION, {}),
@@ -105,10 +106,10 @@
105106
Spdx2_RelationshipType.OPTIONAL_DEPENDENCY_OF: (
106107
SoftwareDependencyRelationship,
107108
RelationshipType.DEPENDS_ON,
108-
{"conditionality": DependencyConditionalityType.OPTIONAL},
109+
{"conditionality": DependencyConditionalityType.OPTIONAL, "swap": True},
109110
),
110111
Spdx2_RelationshipType.OTHER: (Relationship, RelationshipType.OTHER, {}),
111-
Spdx2_RelationshipType.PACKAGE_OF: (SoftwareDependencyRelationship, RelationshipType.DEPENDS_ON, {}),
112+
Spdx2_RelationshipType.PACKAGE_OF: (SoftwareDependencyRelationship, RelationshipType.DEPENDS_ON, "swap": True),
112113
Spdx2_RelationshipType.PATCH_APPLIED: (Relationship, RelationshipType.PATCH, {"swap": True}),
113114
Spdx2_RelationshipType.PATCH_FOR: (Relationship, RelationshipType.PATCH, {}),
114115
Spdx2_RelationshipType.PREREQUISITE_FOR: (
@@ -119,29 +120,29 @@
119120
Spdx2_RelationshipType.PROVIDED_DEPENDENCY_OF: (
120121
SoftwareDependencyRelationship,
121122
RelationshipType.DEPENDS_ON,
122-
{"scope": LifecycleScopeType.BUILD, "conditionality": DependencyConditionalityType.PROVIDED},
123+
{"scope": LifecycleScopeType.BUILD, "conditionality": DependencyConditionalityType.PROVIDED, "swap": True},
123124
),
124125
Spdx2_RelationshipType.RUNTIME_DEPENDENCY_OF: (
125126
SoftwareDependencyRelationship,
126127
RelationshipType.DEPENDS_ON,
127-
{"scope": LifecycleScopeType.RUNTIME},
128+
{"scope": LifecycleScopeType.RUNTIME, "swap": True},
128129
),
129130
Spdx2_RelationshipType.STATIC_LINK: (
130131
SoftwareDependencyRelationship,
131132
RelationshipType.DEPENDS_ON,
132-
{"linkage": SoftwareDependencyLinkType.STATIC},
133+
{"linkage": SoftwareDependencyLinkType.STATIC, "swap": True},
133134
),
134135
Spdx2_RelationshipType.TEST_CASE_OF: (Relationship, RelationshipType.TEST_CASE, {}),
135136
Spdx2_RelationshipType.TEST_DEPENDENCY_OF: (
136137
SoftwareDependencyRelationship,
137138
RelationshipType.DEPENDS_ON,
138-
{"scope": LifecycleScopeType.TEST},
139+
{"scope": LifecycleScopeType.TEST, "swap": True},
139140
),
140141
Spdx2_RelationshipType.TEST_OF: (Relationship, RelationshipType.TEST, {}),
141142
Spdx2_RelationshipType.TEST_TOOL_OF: (
142143
SoftwareDependencyRelationship,
143144
RelationshipType.DEPENDS_ON,
144-
{"scope": LifecycleScopeType.TEST, "linkage": SoftwareDependencyLinkType.TOOL},
145+
{"scope": LifecycleScopeType.TEST, "linkage": SoftwareDependencyLinkType.TOOL, "swap": True},
145146
),
146147
Spdx2_RelationshipType.VARIANT_OF: (Relationship, RelationshipType.VARIANT, {}),
147148
Spdx2_RelationshipType.REQUIREMENT_DESCRIPTION_FOR: (Relationship, RelationshipType.REQUIREMENT_FOR, {}),

0 commit comments

Comments
 (0)