Interpolate property values for repositories
Update RepositoryConfigurationFactory to apply a RegexBasedInterpolator to repository IDs and URLs. Fixes gh-4318 Closes gh-4319
This commit is contained in:
committed by
Phillip Webb
parent
5df807926e
commit
5e7376fb3c
@@ -90,6 +90,21 @@ public class RepositoryConfigurationFactoryTests {
|
||||
"foo:bar");
|
||||
}
|
||||
|
||||
@Test
|
||||
public void interpolationProfileRepositories() {
|
||||
SystemProperties.doWithSystemProperties(new Runnable() {
|
||||
@Override
|
||||
public void run() {
|
||||
List<RepositoryConfiguration> repositoryConfiguration = RepositoryConfigurationFactory
|
||||
.createDefaultRepositoryConfiguration();
|
||||
assertRepositoryConfiguration(repositoryConfiguration, "central", "local",
|
||||
"spring-snapshot", "spring-milestone", "interpolate-releases",
|
||||
"interpolate-snapshots");
|
||||
}
|
||||
}, "user.home:src/test/resources/maven-settings/active-profile-repositories",
|
||||
"interpolate:true");
|
||||
}
|
||||
|
||||
private void assertRepositoryConfiguration(
|
||||
List<RepositoryConfiguration> configurations, String... expectedNames) {
|
||||
assertThat(configurations, hasSize(expectedNames.length));
|
||||
|
||||
@@ -56,6 +56,42 @@
|
||||
</repository>
|
||||
</repositories>
|
||||
</profile>
|
||||
<profile>
|
||||
<id>interpolation-profile</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>interpolate</name>
|
||||
<value>true</value>
|
||||
</property>
|
||||
</activation>
|
||||
<properties>
|
||||
<repo.base>maven.example.com</repo.base>
|
||||
<repo.content>${repo.base}/content</repo.content>
|
||||
</properties>
|
||||
<repositories>
|
||||
<repository>
|
||||
<id>interpolate-releases</id>
|
||||
<url>${repo.content}/releases</url>
|
||||
<releases>
|
||||
<enabled>true</enabled>
|
||||
<updatePolicy>never</updatePolicy>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>false</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
<repository>
|
||||
<id>interpolate-snapshots</id>
|
||||
<url>${repo.content}/snapshots</url>
|
||||
<releases>
|
||||
<enabled>false</enabled>
|
||||
</releases>
|
||||
<snapshots>
|
||||
<enabled>true</enabled>
|
||||
</snapshots>
|
||||
</repository>
|
||||
</repositories>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</settings>
|
||||
|
||||
Reference in New Issue
Block a user