The "shared-lib-wrapper" in unison with the project it uses the version from its Parent POM.xml
Workflow:
1. Parent POM files get the Artifacts from the Maven Servers
2. These Dependancies/Artifacts are then Bundled into Shared Wrapper Package
Note: shared-lib-wrapper.jar is bundled with libraries having the versions specified in the properties of the main POM.xml
Code :
<parent>
<groupId>org.lorainelab.igb</groupId>
<artifactId>igb-project</artifactId>
<version>9.1.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>shared-lib-wrapper</artifactId>
<packaging>bundle</packaging>
[From Shared-lib-wrapper | POM.xml]
Dependencies Packaged:
<dependency>
<groupId>com.affymetrix</groupId>
<artifactId>fusion</artifactId>
</dependency>
[From Shared-lib-wrapper | POM.xml]
The Dependancy Packaged is w.r.t shared-lib-wrapper and it uses the Parent Version by-default when a Version is not Specified
Issue:
There are some Artifacts in the POM file which gets its version explicitly from the Configurations mentioned in the Parent POM File which looks something like this:
<commonsCsvVersion>1.2</commonsCsvVersion>
<commonsIoVersion>2.4</commonsIoVersion>
[From main | POM.xml]
This can be used across the application and there are no refactoring needed ones edited in the main POM File, but it looks like the POM Dependency is not completely generated with parent level declaration. Some of the example which needs changes:
<dependency>
<groupId>furbelow</groupId>
<artifactId>furbelow</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.7.9</version>
</dependency>
[From Shared-lib-wrapper | POM.xml]
In this case, the Version can be shifted to a centralized location i.e. in the Properties of the main POM.xml.
Similarly, we need to change all the POM Files with the updated properties for further update.
Note: We can create a ticket to update all the entries having "Hard-Coded" Versions with a Singleton Entry in the Main File.
The "shared-lib-wrapper" in unison with the project it uses the version from its Parent POM.xml
Workflow:
1. Parent POM files get the Artifacts from the Maven Servers
2. These Dependancies/Artifacts are then Bundled into Shared Wrapper Package
Note: shared-lib-wrapper.jar is bundled with libraries having the versions specified in the properties of the main POM.xml
Code :
<parent>
<groupId>org.lorainelab.igb</groupId>
<artifactId>igb-project</artifactId>
<version>9.1.0</version>
<relativePath>../../pom.xml</relativePath>
</parent>
<artifactId>shared-lib-wrapper</artifactId>
<packaging>bundle</packaging>
[From Shared-lib-wrapper | POM.xml]
Dependencies Packaged:
<dependency>
<groupId>com.affymetrix</groupId>
<artifactId>fusion</artifactId>
</dependency>
[From Shared-lib-wrapper | POM.xml]
The Dependancy Packaged is w.r.t shared-lib-wrapper and it uses the Parent Version by-default when a Version is not Specified
Issue:
There are some Artifacts in the POM file which gets its version explicitly from the Configurations mentioned in the Parent POM File which looks something like this:
<commonsCsvVersion>1.2</commonsCsvVersion>
<commonsIoVersion>2.4</commonsIoVersion>
[From main | POM.xml]
This can be used across the application and there are no refactoring needed ones edited in the main POM File, but it looks like the POM Dependency is not completely generated with parent level declaration. Some of the example which needs changes:
<dependency>
<groupId>furbelow</groupId>
<artifactId>furbelow</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-mapper-lgpl</artifactId>
<version>1.7.9</version>
</dependency>
[From Shared-lib-wrapper | POM.xml]
In this case, the Version can be shifted to a centralized location i.e. in the Properties of the main POM.xml.
Similarly, we need to change all the POM Files with the updated properties for further update.
Note: We can create a ticket to update all the entries having "Hard-Coded" Versions with a Singleton Entry in the Main File.