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.
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.