mirror of
https://gitee.com/dcren/initializr.git
synced 2025-07-15 23:13:30 +08:00
Add dependency type attribute
See gh-226
This commit is contained in:
parent
d8a0651ad4
commit
70c05ba246
@ -77,6 +77,8 @@ class Dependency extends MetadataElement {
|
||||
|
||||
String repository
|
||||
|
||||
String type
|
||||
|
||||
int weight
|
||||
|
||||
/**
|
||||
|
@ -40,13 +40,13 @@ repositories {
|
||||
}
|
||||
<% } %>
|
||||
dependencies {<% compileDependencies.each { %>
|
||||
compile('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}')<% } %><% if (language=='groovy') { %>
|
||||
compile('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}${it.type ? "@$it.type" : ""}')<% } %><% if (language=='groovy') { %>
|
||||
compile('org.codehaus.groovy:groovy')<% } %><% if (language=='kotlin') { %>
|
||||
compile("org.jetbrains.kotlin:kotlin-stdlib:\${kotlinVersion}")<% } %><% runtimeDependencies.each { %>
|
||||
runtime('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}')<% } %><% providedDependencies.each { %>
|
||||
providedRuntime('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}')<% } %>
|
||||
runtime('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}${it.type ? "@$it.type" : ""}')<% } %><% providedDependencies.each { %>
|
||||
providedRuntime('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}${it.type ? "@$it.type" : ""}')<% } %>
|
||||
testCompile('org.springframework.boot:spring-boot-starter-test') <% testDependencies.each { %>
|
||||
testCompile('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}')<% } %>
|
||||
testCompile('${it.groupId}:${it.artifactId}${it.version ? ":$it.version" : ""}${it.type ? "@$it.type" : ""}')<% } %>
|
||||
}
|
||||
<% if (boms) { %>
|
||||
dependencyManagement {
|
||||
|
@ -28,7 +28,8 @@
|
||||
<dependency>
|
||||
<groupId>${it.groupId}</groupId>
|
||||
<artifactId>${it.artifactId}</artifactId><% if (it.version != null) { %>
|
||||
<version>${it.version}</version><% } %>
|
||||
<version>${it.version}</version><% } %><% if (it.type != null) { %>
|
||||
<type>${it.type}</type><% } %>
|
||||
</dependency><% } %><% if (language=='groovy') { %>
|
||||
<dependency>
|
||||
<groupId>org.codehaus.groovy</groupId>
|
||||
@ -44,13 +45,15 @@
|
||||
<groupId>${it.groupId}</groupId>
|
||||
<artifactId>${it.artifactId}</artifactId><% if (it.version != null) { %>
|
||||
<version>${it.version}</version><% } %>
|
||||
<scope>runtime</scope>
|
||||
<scope>runtime</scope><% if (it.type != null) { %>
|
||||
<type>${it.type}</type><% } %>
|
||||
</dependency><% } %><% providedDependencies.each { %>
|
||||
<dependency>
|
||||
<groupId>${it.groupId}</groupId>
|
||||
<artifactId>${it.artifactId}</artifactId><% if (it.version != null) { %>
|
||||
<version>${it.version}</version><% } %>
|
||||
<scope>provided</scope>
|
||||
<scope>provided</scope><% if (it.type != null) { %>
|
||||
<type>${it.type}</type><% } %>
|
||||
</dependency><% } %>
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
@ -61,7 +64,8 @@
|
||||
<groupId>${it.groupId}</groupId>
|
||||
<artifactId>${it.artifactId}</artifactId><% if (it.version != null) { %>
|
||||
<version>${it.version}</version><% } %>
|
||||
<scope>test</scope>
|
||||
<scope>test</scope><% if (it.type != null) { %>
|
||||
<type>${it.type}</type><% } %>
|
||||
</dependency><% } %>
|
||||
</dependencies>
|
||||
<% if (boms) { %>
|
||||
|
@ -75,6 +75,30 @@ class ProjectGeneratorTests extends AbstractProjectGeneratorTests {
|
||||
.hasSpringBootStarterDependency('web')
|
||||
}
|
||||
|
||||
@Test
|
||||
void mavenPomWithTarDependency() {
|
||||
def dependency = new Dependency(id: 'custom-artifact', groupId: 'org.foo', artifactId: 'custom-artifact', type: "tar.gz")
|
||||
def metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.addDependencyGroup('test', dependency).build()
|
||||
applyMetadata(metadata)
|
||||
|
||||
def request = createProjectRequest('custom-artifact')
|
||||
generateMavenPom(request).hasDependency(dependency)
|
||||
.hasDependenciesCount(2)
|
||||
}
|
||||
|
||||
@Test
|
||||
void gradleBuildWithTarDependency() {
|
||||
def dependency = new Dependency(id: 'custom-artifact', groupId: 'org.foo', artifactId: 'custom-artifact', type: "tar.gz")
|
||||
def metadata = InitializrMetadataTestBuilder.withDefaults()
|
||||
.addDependencyGroup('test', dependency).build()
|
||||
applyMetadata(metadata)
|
||||
|
||||
def request = createProjectRequest('custom-artifact')
|
||||
generateGradleBuild(request)
|
||||
.contains("compile('org.foo:custom-artifact@tar.gz')")
|
||||
}
|
||||
|
||||
@Test
|
||||
void mavenPomWithWebFacet() {
|
||||
def dependency = new Dependency(id: 'thymeleaf', groupId: 'org.foo', artifactId: 'thymeleaf')
|
||||
|
@ -146,6 +146,9 @@ class PomAssert {
|
||||
if (expected.scope) {
|
||||
assertEquals "Wrong scope for $dependency", expected.scope, dependency.scope
|
||||
}
|
||||
if (expected.type) {
|
||||
assertEquals "Wrong type for $dependency", expected.type, dependency.type
|
||||
}
|
||||
this
|
||||
}
|
||||
|
||||
@ -238,6 +241,10 @@ class PomAssert {
|
||||
if (scope.length > 0) {
|
||||
dependency.scope = scope.item(0).textContent
|
||||
}
|
||||
def type = element.getElementsByTagName('type')
|
||||
if (type.length > 0) {
|
||||
dependency.type = type.item(0).textContent
|
||||
}
|
||||
def id = dependency.generateId()
|
||||
assertFalse("Duplicate dependency with id $id", dependencies.containsKey(id))
|
||||
dependencies[id] = dependency
|
||||
|
Loading…
Reference in New Issue
Block a user