commit
3c7a0d3bf2
|
|
@ -136,6 +136,9 @@ public class StandardConfigDataLocationResolver
|
||||||
@Override
|
@Override
|
||||||
public List<StandardConfigDataResource> resolveProfileSpecific(ConfigDataLocationResolverContext context,
|
public List<StandardConfigDataResource> resolveProfileSpecific(ConfigDataLocationResolverContext context,
|
||||||
ConfigDataLocation location, Profiles profiles) {
|
ConfigDataLocation location, Profiles profiles) {
|
||||||
|
if (context.getParent() != null) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
return resolve(getProfileSpecificReferences(context, location, profiles));
|
return resolve(getProfileSpecificReferences(context, location, profiles));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -614,7 +614,8 @@ class ConfigDataEnvironmentPostProcessorIntegrationTests {
|
||||||
this.application.setAdditionalProfiles("dev");
|
this.application.setAdditionalProfiles("dev");
|
||||||
ConfigurableApplicationContext context = this.application
|
ConfigurableApplicationContext context = this.application
|
||||||
.run("--spring.config.location=classpath:application-import-with-profile-variant.properties");
|
.run("--spring.config.location=classpath:application-import-with-profile-variant.properties");
|
||||||
assertThat(context.getEnvironment().getProperty("my.value")).isEqualTo("iwasimported-dev");
|
assertThat(context.getEnvironment().getProperty("my.value"))
|
||||||
|
.isEqualTo("application-import-with-profile-variant-dev");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -622,7 +623,8 @@ class ConfigDataEnvironmentPostProcessorIntegrationTests {
|
||||||
this.application.setAdditionalProfiles("dev");
|
this.application.setAdditionalProfiles("dev");
|
||||||
ConfigurableApplicationContext context = this.application.run(
|
ConfigurableApplicationContext context = this.application.run(
|
||||||
"--spring.config.location=classpath:application-import-with-profile-variant-and-direct-profile-import.properties");
|
"--spring.config.location=classpath:application-import-with-profile-variant-and-direct-profile-import.properties");
|
||||||
assertThat(context.getEnvironment().getProperty("my.value")).isEqualTo("iwasimported-dev");
|
assertThat(context.getEnvironment().getProperty("my.value"))
|
||||||
|
.isEqualTo("application-import-with-profile-variant-imported-dev");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|
@ -746,6 +748,19 @@ class ConfigDataEnvironmentPostProcessorIntegrationTests {
|
||||||
assertThat(environment.getProperty("test2")).isEqualTo("test2");
|
assertThat(environment.getProperty("test2")).isEqualTo("test2");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test // gh-26752
|
||||||
|
void runWhenHasProfileSpecificImportWithImportDoesNotImportSecondProfileSpecificFile() {
|
||||||
|
ConfigurableApplicationContext context = this.application
|
||||||
|
.run("--spring.config.name=application-profile-specific-import-with-import");
|
||||||
|
ConfigurableEnvironment environment = context.getEnvironment();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import")).isTrue();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import-p1")).isTrue();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import-p2")).isFalse();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import")).isTrue();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import-p1")).isFalse();
|
||||||
|
assertThat(environment.containsProperty("application-profile-specific-import-with-import-import-p2")).isFalse();
|
||||||
|
}
|
||||||
|
|
||||||
private Condition<ConfigurableEnvironment> matchingPropertySource(final String sourceName) {
|
private Condition<ConfigurableEnvironment> matchingPropertySource(final String sourceName) {
|
||||||
return new Condition<ConfigurableEnvironment>("environment containing property source " + sourceName) {
|
return new Condition<ConfigurableEnvironment>("environment containing property source " + sourceName) {
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
spring.config.import=classpath:application-import-with-profile-variant-imported-dev.properties
|
spring.config.import=classpath:application-import-with-profile-variant-imported-dev.properties
|
||||||
my.value=notimported-dev
|
my.value=application-import-with-profile-variant-and-direct-profile-import-dev
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
|
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
|
||||||
my.value=notimported
|
my.value=application-import-with-profile-variant-and-direct-profile-import
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
my.value=notimported-dev
|
my.value=application-import-with-profile-variant-dev
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
my.value=iwasimported-dev
|
my.value=application-import-with-profile-variant-imported-dev
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
my.value=iwasimported
|
my.value=application-import-with-profile-variant-imported
|
||||||
|
|
|
||||||
|
|
@ -1,2 +1,2 @@
|
||||||
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
|
spring.config.import=classpath:application-import-with-profile-variant-imported.properties
|
||||||
my.value=notimported
|
my.value=application-import-with-profile-variant
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
application-profile-specific-import-with-import-import-p1=true
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
application-profile-specific-import-with-import-import-p2=true
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
application-profile-specific-import-with-import-import=true
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
application-profile-specific-import-with-import-p1=true
|
||||||
|
spring.config.import=application-profile-specific-import-with-import-import.properties
|
||||||
|
|
@ -0,0 +1,2 @@
|
||||||
|
spring.profiles.active=p1,p2
|
||||||
|
application-profile-specific-import-with-import=true
|
||||||
Loading…
Reference in New Issue