Since we switched to referencing Spring Framework using its BOM, it has become necessary to upload all components of Spring Framework referenced by the BOM to our Nexus repository as third-party resources. It is no longer sufficient to only upload those components that we actually use as had previously been the case.
Note |
---|
Note we may be moving off the BOM at some point anyway because BOMs apparently cause issues when parent POMs are mixed between components. |
The optimal way to do this is to use the bin/upload-nexus-dependencies.sh
script to upload the following components (for an example 5.1.5 release of Spring Framework):
org.springframework:spring-framework-bom:5.1.5.RELEASE:pom
org.springframework:spring-aspects:5.1.5.RELEASE
org.springframework:spring-context-indexer:5.1.5.RELEASE
org.springframework:spring-instrument:5.1.5.RELEASE
org.springframework:spring-jms:5.1.5.RELEASE
org.springframework:spring-test:5.1.5.RELEASE
org.springframework:spring-messaging:5.1.5.RELEASE
If you use the (default) transitive mode of the script, this will upload all the required components along with their dependencies, without having to enumerate every component referenced by the BOM.
The list will need to be recalculated should the internal relationships within Spring Framework change in the future.