23 changed files with 182 additions and 368 deletions
@ -0,0 +1,78 @@
@@ -0,0 +1,78 @@
|
||||
import org.springframework.boot.gradle.tasks.bundling.BootJar |
||||
import org.springframework.boot.gradle.tasks.bundling.BootWar |
||||
|
||||
plugins { |
||||
id "java" |
||||
id "org.springframework.boot" |
||||
id "war" |
||||
} |
||||
|
||||
apply plugin: "io.spring.dependency-management" |
||||
|
||||
repositories { |
||||
maven { url "file:${rootDir}/../test-repository"} |
||||
mavenCentral() |
||||
maven { |
||||
url "https://repo.spring.io/milestone" |
||||
content { |
||||
excludeGroup "org.springframework.boot" |
||||
} |
||||
} |
||||
maven { |
||||
url "https://repo.spring.io/snapshot" |
||||
content { |
||||
excludeGroup "org.springframework.boot" |
||||
} |
||||
} |
||||
} |
||||
|
||||
configurations { |
||||
jetty |
||||
tomcat |
||||
undertow |
||||
} |
||||
|
||||
tasks.register("resourcesJar", Jar) { jar -> |
||||
def nested = project.resources.text.fromString("nested") |
||||
from(nested) { |
||||
into "META-INF/resources/" |
||||
rename (".*", "nested-meta-inf-resource.txt") |
||||
} |
||||
if (!isWindows()) { |
||||
def encodedName = project.resources.text.fromString("encoded-name") |
||||
from(encodedName) { |
||||
into "META-INF/resources/" |
||||
rename (".*", 'nested-reserved-!#\\$%&()*+,:=?@[]-meta-inf-resource.txt') |
||||
} |
||||
} |
||||
classifier = 'resources' |
||||
} |
||||
|
||||
dependencies { |
||||
compileOnly("org.eclipse.jetty:jetty-server") |
||||
|
||||
implementation("org.springframework.boot:spring-boot-starter") |
||||
implementation("org.springframework:spring-web") |
||||
|
||||
jetty("org.springframework.boot:spring-boot-starter-jetty") |
||||
jetty files(resourcesJar) |
||||
tomcat("org.springframework.boot:spring-boot-starter-tomcat") |
||||
tomcat files(resourcesJar) |
||||
undertow("org.springframework.boot:spring-boot-starter-undertow") |
||||
undertow files(resourcesJar) |
||||
} |
||||
|
||||
def boolean isWindows() { |
||||
return File.separatorChar == '\\'; |
||||
} |
||||
|
||||
["jetty", "tomcat", "undertow"].each { container -> |
||||
def configurer = { task -> |
||||
task.dependsOn resourcesJar |
||||
task.mainClass = "com.example.ResourceHandlingApplication" |
||||
task.classpath = sourceSets.main.runtimeClasspath.plus(configurations.getByName(container)) |
||||
task.classifier = container |
||||
} |
||||
tasks.register("${container}BootJar", BootJar, configurer) |
||||
tasks.register("${container}BootWar", BootWar, configurer) |
||||
} |
||||
@ -0,0 +1,25 @@
@@ -0,0 +1,25 @@
|
||||
pluginManagement { |
||||
repositories { |
||||
maven { url "file:${rootDir}/../test-repository"} |
||||
mavenCentral() |
||||
maven { |
||||
url "https://repo.spring.io/milestone" |
||||
content { |
||||
excludeGroup "org.springframework.boot" |
||||
} |
||||
} |
||||
maven { |
||||
url "https://repo.spring.io/snapshot" |
||||
content { |
||||
excludeGroup "org.springframework.boot" |
||||
} |
||||
} |
||||
} |
||||
resolutionStrategy { |
||||
eachPlugin { |
||||
if (requested.id.id == "org.springframework.boot") { |
||||
useModule "org.springframework.boot:spring-boot-gradle-plugin:${requested.version}" |
||||
} |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1 @@
@@ -0,0 +1 @@
|
||||
webapp resource |
||||
9
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/AbstractApplicationLauncher.java
9
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/AbstractApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/AbstractApplicationLauncher.java
6
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/BootRunApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/BootRunApplicationLauncher.java
6
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/BootRunApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/BootRunApplicationLauncher.java
21
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServerContainerInvocationContextProvider.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServerContainerInvocationContextProvider.java
21
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServerContainerInvocationContextProvider.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServerContainerInvocationContextProvider.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarDevelopmentIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerJarPackagingIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerTest.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerTest.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerTest.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerTest.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarDevelopmentIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java
0
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/EmbeddedServletContainerWarPackagingIntegrationTests.java
4
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ExplodedApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/ExplodedApplicationLauncher.java
4
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/ExplodedApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/ExplodedApplicationLauncher.java
8
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/IdeApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/IdeApplicationLauncher.java
8
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/IdeApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/IdeApplicationLauncher.java
4
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/PackagedApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/PackagedApplicationLauncher.java
4
spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/test/java/org/springframework/boot/context/embedded/PackagedApplicationLauncher.java → spring-boot-tests/spring-boot-integration-tests/spring-boot-server-tests/src/intTest/java/org/springframework/boot/context/embedded/PackagedApplicationLauncher.java
@ -1,184 +0,0 @@
@@ -1,184 +0,0 @@
|
||||
/* |
||||
* Copyright 2012-2021 the original author or authors. |
||||
* |
||||
* Licensed under the Apache License, Version 2.0 (the "License"); |
||||
* you may not use this file except in compliance with the License. |
||||
* You may obtain a copy of the License at |
||||
* |
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
* |
||||
* Unless required by applicable law or agreed to in writing, software |
||||
* distributed under the License is distributed on an "AS IS" BASIS, |
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
||||
* See the License for the specific language governing permissions and |
||||
* limitations under the License. |
||||
*/ |
||||
|
||||
package org.springframework.boot.context.embedded; |
||||
|
||||
import java.io.File; |
||||
import java.io.FileOutputStream; |
||||
import java.io.FileReader; |
||||
import java.io.FileWriter; |
||||
import java.io.IOException; |
||||
import java.nio.file.Path; |
||||
import java.util.Collections; |
||||
import java.util.HashMap; |
||||
import java.util.Map; |
||||
import java.util.jar.JarOutputStream; |
||||
import java.util.zip.ZipEntry; |
||||
|
||||
import com.samskivert.mustache.Mustache; |
||||
import org.apache.maven.shared.invoker.DefaultInvocationRequest; |
||||
import org.apache.maven.shared.invoker.DefaultInvoker; |
||||
import org.apache.maven.shared.invoker.InvocationRequest; |
||||
import org.apache.maven.shared.invoker.InvocationResult; |
||||
import org.apache.maven.shared.invoker.MavenInvocationException; |
||||
|
||||
import org.springframework.util.FileCopyUtils; |
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat; |
||||
|
||||
/** |
||||
* Builds a Spring Boot application using Maven. |
||||
* |
||||
* @author Andy Wilkinson |
||||
*/ |
||||
class ApplicationBuilder { |
||||
|
||||
private final Path temp; |
||||
|
||||
private final String packaging; |
||||
|
||||
private final String container; |
||||
|
||||
ApplicationBuilder(Path temp, String packaging, String container) { |
||||
this.temp = temp; |
||||
this.packaging = packaging; |
||||
this.container = container; |
||||
} |
||||
|
||||
File buildApplication() throws Exception { |
||||
File containerDirectory = new File(this.temp.toFile(), this.container); |
||||
if (containerDirectory.exists()) { |
||||
return new File(containerDirectory, "app/target/app-0.0.1." + this.packaging); |
||||
} |
||||
return doBuildApplication(containerDirectory); |
||||
} |
||||
|
||||
String getPackaging() { |
||||
return this.packaging; |
||||
} |
||||
|
||||
String getContainer() { |
||||
return this.container; |
||||
} |
||||
|
||||
private File doBuildApplication(File containerDirectory) throws IOException, MavenInvocationException { |
||||
File resourcesJar = createResourcesJar(); |
||||
File appDirectory = new File(containerDirectory, "app"); |
||||
appDirectory.mkdirs(); |
||||
File settingsXml = writeSettingsXml(appDirectory); |
||||
writePom(appDirectory, resourcesJar); |
||||
copyApplicationSource(appDirectory); |
||||
packageApplication(appDirectory, settingsXml); |
||||
return new File(appDirectory, "target/app-0.0.1." + this.packaging); |
||||
} |
||||
|
||||
private File createResourcesJar() throws IOException { |
||||
File resourcesJar = new File(this.temp.toFile(), "resources.jar"); |
||||
if (resourcesJar.exists()) { |
||||
return resourcesJar; |
||||
} |
||||
try (JarOutputStream resourcesJarStream = new JarOutputStream(new FileOutputStream(resourcesJar))) { |
||||
resourcesJarStream.putNextEntry(new ZipEntry("META-INF/resources/")); |
||||
resourcesJarStream.closeEntry(); |
||||
resourcesJarStream.putNextEntry(new ZipEntry("META-INF/resources/nested-meta-inf-resource.txt")); |
||||
resourcesJarStream.write("nested".getBytes()); |
||||
resourcesJarStream.closeEntry(); |
||||
if (!isWindows()) { |
||||
resourcesJarStream.putNextEntry( |
||||
new ZipEntry("META-INF/resources/nested-reserved-!#$%&()*+,:=?@[]-meta-inf-resource.txt")); |
||||
resourcesJarStream.write("encoded-name".getBytes()); |
||||
resourcesJarStream.closeEntry(); |
||||
} |
||||
return resourcesJar; |
||||
} |
||||
} |
||||
|
||||
private void writePom(File appDirectory, File resourcesJar) throws IOException { |
||||
Map<String, Object> context = new HashMap<>(); |
||||
context.put("packaging", this.packaging); |
||||
context.put("container", this.container); |
||||
context.put("bootVersion", Versions.getBootVersion()); |
||||
context.put("resourcesJarPath", resourcesJar.getAbsolutePath()); |
||||
try (FileWriter out = new FileWriter(new File(appDirectory, "pom.xml")); |
||||
FileReader templateReader = new FileReader("src/test/resources/pom-template.xml")) { |
||||
Mustache.compiler().escapeHTML(false).compile(templateReader).execute(context, out); |
||||
} |
||||
} |
||||
|
||||
private File writeSettingsXml(File appDirectory) throws IOException { |
||||
Map<String, Object> context = new HashMap<>(); |
||||
context.put("repository", new File("build/test-repository").toURI().toURL()); |
||||
context.put("localRepository", new File("build/local-m2-repository").getAbsolutePath()); |
||||
File settingsXml = new File(appDirectory, "settings.xml"); |
||||
try (FileWriter out = new FileWriter(settingsXml); |
||||
FileReader templateReader = new FileReader("src/test/resources/settings-template.xml")) { |
||||
Mustache.compiler().escapeHTML(false).compile(templateReader).execute(context, out); |
||||
} |
||||
return settingsXml; |
||||
} |
||||
|
||||
private void copyApplicationSource(File appDirectory) throws IOException { |
||||
File examplePackage = new File(appDirectory, "src/main/java/com/example"); |
||||
examplePackage.mkdirs(); |
||||
FileCopyUtils.copy(new File("src/test/java/com/example/ResourceHandlingApplication.java"), |
||||
new File(examplePackage, "ResourceHandlingApplication.java")); |
||||
// To allow aliased resources on Concourse Windows CI (See gh-15553) to be served
|
||||
// as static resources.
|
||||
if (this.container.equals("jetty")) { |
||||
FileCopyUtils.copy(new File("src/test/java/com/example/JettyServerCustomizerConfig.java"), |
||||
new File(examplePackage, "JettyServerCustomizerConfig.java")); |
||||
} |
||||
if ("war".equals(this.packaging)) { |
||||
File srcMainWebapp = new File(appDirectory, "src/main/webapp"); |
||||
srcMainWebapp.mkdirs(); |
||||
FileCopyUtils.copy("webapp resource", new FileWriter(new File(srcMainWebapp, "webapp-resource.txt"))); |
||||
} |
||||
copyAutoConfigurationFiles(appDirectory); |
||||
return; |
||||
} |
||||
|
||||
private void copyAutoConfigurationFiles(File appDirectory) throws IOException { |
||||
File autoConfigPackage = new File(appDirectory, "src/main/java/com/autoconfig"); |
||||
autoConfigPackage.mkdirs(); |
||||
FileCopyUtils.copy(new File("src/test/java/com/autoconfig/ExampleAutoConfiguration.java"), |
||||
new File(autoConfigPackage, "ExampleAutoConfiguration.java")); |
||||
File srcMainResources = new File(appDirectory, "src/main/resources"); |
||||
srcMainResources.mkdirs(); |
||||
File metaInf = new File(srcMainResources, "META-INF"); |
||||
metaInf.mkdirs(); |
||||
FileCopyUtils.copy(new File("src/test/resources/META-INF/spring.factories"), |
||||
new File(metaInf, "spring.factories")); |
||||
} |
||||
|
||||
private void packageApplication(File appDirectory, File settingsXml) throws MavenInvocationException { |
||||
InvocationRequest invocation = new DefaultInvocationRequest(); |
||||
invocation.setBaseDirectory(appDirectory); |
||||
invocation.setGoals(Collections.singletonList("package")); |
||||
if (settingsXml != null) { |
||||
invocation.setUserSettingsFile(settingsXml); |
||||
} |
||||
invocation.setUpdateSnapshots(true); |
||||
DefaultInvoker invoker = new DefaultInvoker(); |
||||
invoker.setMavenHome(new File("build/maven-binaries/apache-maven-3.6.2")); |
||||
InvocationResult execute = invoker.execute(invocation); |
||||
assertThat(execute.getExitCode()).isEqualTo(0); |
||||
} |
||||
|
||||
private boolean isWindows() { |
||||
return File.separatorChar == '\\'; |
||||
} |
||||
|
||||
} |
||||
@ -1,87 +0,0 @@
@@ -1,87 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> |
||||
<modelVersion>4.0.0</modelVersion> |
||||
<parent> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-parent</artifactId> |
||||
<version>{{bootVersion}}</version> |
||||
<relativePath /> |
||||
</parent> |
||||
<groupId>com.example</groupId> |
||||
<artifactId>app</artifactId> |
||||
<version>0.0.1</version> |
||||
<packaging>{{packaging}}</packaging> |
||||
<properties> |
||||
<resourcesJarPath>{{resourcesJarPath}}</resourcesJarPath> |
||||
</properties> |
||||
<dependencies> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-starter-{{container}}</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>org.springframework</groupId> |
||||
<artifactId>spring-web</artifactId> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>javax.servlet</groupId> |
||||
<artifactId>javax.servlet-api</artifactId> |
||||
<scope>provided</scope> |
||||
</dependency> |
||||
<dependency> |
||||
<groupId>com.example</groupId> |
||||
<artifactId>resources</artifactId> |
||||
<version>1.0</version> |
||||
<scope>system</scope> |
||||
<systemPath>${resourcesJarPath}</systemPath> |
||||
</dependency> |
||||
</dependencies> |
||||
<build> |
||||
<plugins> |
||||
<plugin> |
||||
<groupId>org.springframework.boot</groupId> |
||||
<artifactId>spring-boot-maven-plugin</artifactId> |
||||
<configuration> |
||||
<includeSystemScope>true</includeSystemScope> |
||||
</configuration> |
||||
</plugin> |
||||
</plugins> |
||||
</build> |
||||
<repositories> |
||||
<repository> |
||||
<id>spring-snapshots</id> |
||||
<url>https://repo.spring.io/snapshot</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
<repository> |
||||
<id>spring-milestones</id> |
||||
<url>https://repo.spring.io/milestone</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
</repositories> |
||||
<pluginRepositories> |
||||
<pluginRepository> |
||||
<id>spring-snapshots</id> |
||||
<url>https://repo.spring.io/snapshot</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
<pluginRepository> |
||||
<id>spring-milestones</id> |
||||
<url>https://repo.spring.io/milestone</url> |
||||
<snapshots> |
||||
<enabled>false</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
</pluginRepositories> |
||||
</project> |
||||
@ -1,31 +0,0 @@
@@ -1,31 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?> |
||||
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
||||
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 https://maven.apache.org/xsd/settings-1.0.0.xsd"> |
||||
<localRepository>{{localRepository}}</localRepository> |
||||
<profiles> |
||||
<profile> |
||||
<id>repository</id> |
||||
<activation> |
||||
<activeByDefault>true</activeByDefault> |
||||
</activation> |
||||
<repositories> |
||||
<repository> |
||||
<id>repository</id> |
||||
<url>{{repository}}</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</repository> |
||||
</repositories> |
||||
<pluginRepositories> |
||||
<pluginRepository> |
||||
<id>repository</id> |
||||
<url>{{repository}}</url> |
||||
<snapshots> |
||||
<enabled>true</enabled> |
||||
</snapshots> |
||||
</pluginRepository> |
||||
</pluginRepositories> |
||||
</profile> |
||||
</profiles> |
||||
</settings> |
||||
Loading…
Reference in new issue