Following on from #18532.
There are still some settings (in 2.3.1.RELEASE) getting inherited which need to be overridden but which are not documented:
- scm -> developerConnection
- scm -> connection
- issueManagement
- organization
A complete override would look like this:
<description/>
<url/>
<organization/>
<issueManagement/>
<developers>
<developer/>
</developers>
<licenses>
<license/>
</licenses>
<scm>
<connection/>
<developerConnection/>
<url/>
</scm>
However, both organization and issueManagement are not required by Maven central so it would be better to remove them from spring-boot-starter-parent, to eliminate the need for overriding them.
scm developerConnection and connection are required so need adding to the documentation.
Comment From: wilkinsona
Thank you, @rupert-madden-abbott.
scm developerConnection and connection are required so need adding to the documentation.
I'm not sure that they are required. We haven't got those in spring-boot-starter-parent
in Spring Boot 2.2.x, although we do have them in some other poms.
Comment From: wilkinsona
Here are the relevant parts of the effective pom for a project using spring-boot-starter-parent
2.2.8:
<url>https://projects.spring.io/spring-boot/#/spring-boot-starter-parent/demo</url>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Pivotal</name>
<email>info@pivotal.io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl>https://www.spring.io</organizationUrl>
</developer>
</developers>
<scm>
<url>https://github.com/spring-projects/spring-boot/spring-boot-starter-parent/demo</url>
</scm>
And here's the equivalent when using 2.3.1:
<url>https://spring.io/projects/spring-boot/demo</url>
<organization>
<name>Pivotal Software, Inc.</name>
<url>https://spring.io</url>
</organization>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0</url>
</license>
</licenses>
<developers>
<developer>
<name>Pivotal</name>
<email>info@pivotal.io</email>
<organization>Pivotal Software, Inc.</organization>
<organizationUrl>https://www.spring.io</organizationUrl>
</developer>
</developers>
<scm>
<connection>scm:git:git://github.com/spring-projects/spring-boot.git/demo</connection>
<developerConnection>scm:git:ssh://git@github.com/spring-projects/spring-boot.git/demo</developerConnection>
<url>https://github.com/spring-projects/spring-boot/demo</url>
</scm>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/spring-projects/spring-boot/issues</url>
</issueManagement>
Given how it's used, I think it makes sense to minimise the elements in spring-boot-starter-parent
. It looks like we can safely remove organization
scm/connection
, scm/developerConnection
, and issueManagement
and not fall afoul of Maven Central's pom validation.