ppkarwasz commented on code in PR #490:
URL: https://github.com/apache/commons-compress/pull/490#discussion_r1508601256


##########
pom.xml:
##########
@@ -41,499 +45,115 @@ Brotli, Zstandard and ar, cpio, jar, tar, zip, dump, 7z, 
arj.
     <maven.compiler.target>1.8</maven.compiler.target>
 
     <commons.componentid>compress</commons.componentid>
-    <commons.module.name>org.apache.commons.compress</commons.module.name>
     <commons.jira.id>COMPRESS</commons.jira.id>
     <commons.jira.pid>12310904</commons.jira.pid>
     <!-- configuration bits for cutting a release candidate -->
     <commons.release.version>1.26.1</commons.release.version>
     <commons.release.next>1.26.2</commons.release.next>
     <commons.bc.version>1.26.0</commons.bc.version>
     <commons.rc.version>RC1</commons.rc.version>
-    <mockito.version>4.11.0</mockito.version>
 
     <commons.release.isDistModule>true</commons.release.isDistModule>
     
<commons.distSvnStagingUrl>scm:svn:https://dist.apache.org/repos/dist/dev/commons/${commons.componentid}</commons.distSvnStagingUrl>
-    
<commons.manifestlocation>${project.build.outputDirectory}/META-INF</commons.manifestlocation>
-    
<commons.manifestfile>${commons.manifestlocation}/MANIFEST.MF</commons.manifestfile>
-    <commons.osgi.import>
-      org.tukaani.xz;resolution:=optional,
-      org.brotli.dec;resolution:=optional,
-      com.github.luben.zstd;resolution:=optional,
-      org.objectweb.asm;resolution:=optional,
-      javax.crypto.*;resolution:=optional,
-      org.apache.commons.commons-codec;resolution:=optional,
-      org.apache.commons.commons-io;resolution:=optional,
-      org.apache.commons.lang3.reflect;resolution:=optional,
-      org.apache.commons.codec;resolution:=optional,
-      org.apache.commons.codec.digest;resolution:=optional,
-      *
-    </commons.osgi.import>
-
-    <!-- only show issues of the current version -->
-    
<commons.changes.onlyCurrentVersion>true</commons.changes.onlyCurrentVersion>
 
     <!-- definition uses commons.componentId starting with parent 47,
          this doesn't work for us -->
     
<commons.scmPubUrl>https://svn.apache.org/repos/infra/websites/production/commons/content/proper/${project.artifactId}</commons.scmPubUrl>
     <japicmp.skip>false</japicmp.skip>
 
-    <pax.exam.version>4.13.5</pax.exam.version>
-    <slf4j.version>2.0.12</slf4j.version>
-    <asm.version>9.6</asm.version>
     
<project.build.outputTimestamp>2024-02-19T00:42:57Z</project.build.outputTimestamp>
-    <!-- spdx 0.6.0 can require Java 11 depending on undocumented behavior 
which kicks in for us here. -->
-    <commons.spdx.version>0.5.5</commons.spdx.version>
   </properties>
 
   <issueManagement>
     <system>jira</system>
     <url>https://issues.apache.org/jira/browse/COMPRESS</url>
   </issueManagement>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.junit.jupiter</groupId>
-      <artifactId>junit-jupiter-params</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.junit.vintage</groupId>
-      <artifactId>junit-vintage-engine</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.hamcrest</groupId>
-      <artifactId>hamcrest</artifactId>
-      <version>2.2</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.luben</groupId>
-      <artifactId>zstd-jni</artifactId>
-      <version>1.5.5-11</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.brotli</groupId>
-      <artifactId>dec</artifactId>
-      <version>0.1.2</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <groupId>org.tukaani</groupId>
-      <artifactId>xz</artifactId>
-      <version>1.9</version>
-      <optional>true</optional>
-    </dependency>
-    <dependency>
-      <!-- For packages:
-           - org.apache.commons.compress.compressors.lz4 
-           - org.apache.commons.compress.compressors.snappy -->
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-      <version>1.16.1</version>
-    </dependency>
+  <dependencyManagement>
+    <dependencies>
+      <!-- Submodules -->
 
-    <!-- Pack200 -->
     <dependency>
-      <groupId>org.ow2.asm</groupId>
-      <artifactId>asm</artifactId>
-      <version>${asm.version}</version>
-      <optional>true</optional>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-compress</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
-    <!--  Test -->
     <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-core</artifactId>
-      <version>${mockito.version}</version>
-      <scope>test</scope>
-    </dependency>
-       <dependency>
-      <groupId>org.mockito</groupId>
-      <artifactId>mockito-junit-jupiter</artifactId>
-      <version>${mockito.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>com.github.marschall</groupId>
-      <artifactId>memoryfilesystem</artifactId>
-      <version>2.8.0</version>
-      <scope>test</scope>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-compress-brotli</artifactId>
+      <version>${project.version}</version>
     </dependency>
 
-    <!-- integration test verifying OSGi bundle works -->
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-container-native</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-junit4</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-cm</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-link-mvn</artifactId>
-      <version>${pax.exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.framework</artifactId>
-      <version>7.0.5</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.inject</groupId>
-      <artifactId>javax.inject</artifactId>
-      <version>1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-      <version>${slf4j.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>2.15.1</version>
-    </dependency>    
     <dependency>
       <groupId>org.apache.commons</groupId>
-      <artifactId>commons-lang3</artifactId>
-      <version>3.14.0</version>
-    </dependency>    
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-      <version>6.0.0</version>
-      <scope>provided</scope>
+      <artifactId>commons-compress-core</artifactId>
+      <version>${project.version}</version>
     </dependency>
-  </dependencies>
 
-  <scm>
+      <dependency>
+        <groupId>org.apache.commons</groupId>
+        <artifactId>commons-compress-core</artifactId>
+        <version>${project.version}</version>
+        <type>test-jar</type>
+      </dependency>
+
+    </dependencies>
+  </dependencyManagement>
+
+  <modules>
+    <module>compress</module>
+    <module>compress-brotli</module>
+    <module>compress-core</module>
+    <module>compress-parent</module>

Review Comment:
   Do you mean moving `compress-parent/pom.xml` here and this file to 
`compress-bom/pom.xml`, without changing the inheritance tree 
(`commons-compress-bom` -> `commons-compress-parent` -> 
`commons-compress-core`? It should probably work.
   
   In Log4j we structure our projects this way, which probably has to do with 
the fact that we use `${revision}` as version number and the definition of the 
`revision` property is in the root `pom.xml`. @vy, are the other reasons to put 
the BOM at the root of the project?



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscr...@commons.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to