This is an automated email from the ASF dual-hosted git repository.

slachiewicz pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/maven-remote-resources-plugin.git

commit 6c945b90d98a5498f3e21c2d04fc15b2df73a99c
Author: Sylwester Lachiewicz <[email protected]>
AuthorDate: Wed Oct 28 09:06:04 2026 +0000

    Show SPDX license groups within each organization
---
 src/it/resources/spdx-license-id/a-name/pom.xml         |  4 ++++
 src/it/resources/spdx-license-id/c-expression/pom.xml   |  4 ++++
 .../project/src/main/resources/DEPENDENCIES.vm          | 10 +++++++++-
 src/site/markdown/usage.md.vm                           | 17 +++++++++++++++++
 .../plugin/resources/remote/it/ITSpdxLicenseId.java     |  8 ++++++++
 5 files changed, 42 insertions(+), 1 deletion(-)

diff --git a/src/it/resources/spdx-license-id/a-name/pom.xml 
b/src/it/resources/spdx-license-id/a-name/pom.xml
index 61bfedf..a48ae21 100644
--- a/src/it/resources/spdx-license-id/a-name/pom.xml
+++ b/src/it/resources/spdx-license-id/a-name/pom.xml
@@ -26,6 +26,10 @@ under the License.
   <version>1.0</version>
   <packaging>pom</packaging>
 
+  <organization>
+    <name>Example Org</name>
+  </organization>
+
   <licenses>
     <license>
       <name>The Apache Software License, Version 2.0</name>
diff --git a/src/it/resources/spdx-license-id/c-expression/pom.xml 
b/src/it/resources/spdx-license-id/c-expression/pom.xml
index 6b8ec0b..0d739f4 100644
--- a/src/it/resources/spdx-license-id/c-expression/pom.xml
+++ b/src/it/resources/spdx-license-id/c-expression/pom.xml
@@ -26,6 +26,10 @@ under the License.
   <version>1.0</version>
   <packaging>pom</packaging>
 
+  <organization>
+    <name>Example Org</name>
+  </organization>
+
   <licenses>
     <license>
       <name>(Apache-2.0 OR EPL-2.0)</name>
diff --git 
a/src/it/resources/spdx-license-id/project/src/main/resources/DEPENDENCIES.vm 
b/src/it/resources/spdx-license-id/project/src/main/resources/DEPENDENCIES.vm
index 3d3323b..6ebd36b 100644
--- 
a/src/it/resources/spdx-license-id/project/src/main/resources/DEPENDENCIES.vm
+++ 
b/src/it/resources/spdx-license-id/project/src/main/resources/DEPENDENCIES.vm
@@ -24,7 +24,6 @@ $dependency.artifactId: #if( $id )$id#else$license.name#end
 #end
 #foreach( $entry in $spdx.group($projects).entrySet() )
 Group $entry.key:#foreach( $dependency in $entry.value ) 
$dependency.artifactId#end
-
 #end
 #foreach( $id in $spdx.ids($projects) )
 License text: $id
@@ -32,3 +31,12 @@ License text: $id
 #foreach( $dependency in $spdx.unresolved($projects) )
 Unresolved: $dependency.artifactId
 #end
+#foreach( $org in $projectsSortedByOrganization.entrySet() )
+Org $org.key.name:
+#foreach( $group in $spdx.group($org.value).entrySet() )
+  License $group.key:#foreach( $dependency in $group.value ) 
$dependency.artifactId#end
+#end
+#foreach( $dependency in $spdx.unresolved($org.value) )
+  Unresolved $dependency.artifactId
+#end
+#end
diff --git a/src/site/markdown/usage.md.vm b/src/site/markdown/usage.md.vm
index 20315aa..c2d81ba 100644
--- a/src/site/markdown/usage.md.vm
+++ b/src/site/markdown/usage.md.vm
@@ -142,7 +142,24 @@ $group.key:
 #end
 #foreach( $dependency in $spdx.unresolved($projects) )
 $dependency.name: #foreach( $license in $dependency.licenses )$license.name 
#end
+#end]]#
+```
+
+`${esc.d}spdx.group` and `${esc.d}spdx.unresolved` take any list of 
dependencies, so they also work inside each organization of 
`${esc.d}projectsSortedByOrganization`:
+
+```
+#[[#foreach( $organization in $projectsSortedByOrganization.entrySet() )
+From: '$organization.key.name'#if( $organization.key.url ) 
($organization.key.url)#end
 
+#foreach( $group in $spdx.group($organization.value).entrySet() )
+  $group.key:
+#foreach( $dependency in $group.value )
+    - $dependency.name ($dependency.groupId:$dependency.artifactId)
+#end
+#end
+#foreach( $dependency in $spdx.unresolved($organization.value) )
+  - $dependency.name: #foreach( $license in $dependency.licenses 
)$license.name #end
+#end
 #end]]#
 ```
 
diff --git 
a/src/test/java/org/apache/maven/plugin/resources/remote/it/ITSpdxLicenseId.java
 
b/src/test/java/org/apache/maven/plugin/resources/remote/it/ITSpdxLicenseId.java
index 7b03e2c..c65ea2c 100644
--- 
a/src/test/java/org/apache/maven/plugin/resources/remote/it/ITSpdxLicenseId.java
+++ 
b/src/test/java/org/apache/maven/plugin/resources/remote/it/ITSpdxLicenseId.java
@@ -67,5 +67,13 @@ public class ITSpdxLicenseId extends AbstractIT {
         assertTrue(content.contains("Unresolved: d-unknown\n"), content);
         assertEquals(1, content.split("License text: Apache-2.0\n", -1).length 
- 1, content);
         assertTrue(content.contains("License text: 
Classpath-exception-2.0\n"), content);
+
+        assertTrue(
+                content.contains("Org Example Org:\n"
+                        + "  License (Apache-2.0 OR EPL-2.0): c-expression\n"
+                        + "  License Apache-2.0: a-name\n"),
+                content);
+        assertTrue(content.contains("Org an unknown organization:\n  License 
Apache-2.0: b-url\n"), content);
+        assertTrue(content.contains("  Unresolved d-unknown\n"), content);
     }
 }

Reply via email to