mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 08:27:12 -07:00
.war: run the classpath contributors.
Need to make sure the Kotlin runtime is included in libs/.
This commit is contained in:
parent
f6d5c8a1f1
commit
947c620e56
1 changed files with 15 additions and 2 deletions
|
@ -105,8 +105,8 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
}
|
||||
|
||||
//
|
||||
// Transitive closure of libraries into WEB-INF/libs
|
||||
// Copy them all in kobaltBuild/war/WEB-INF/libs and created one IncludedFile out of that directory
|
||||
// The transitive closure of libraries goes into WEB-INF/libs.
|
||||
// Copy them all in kobaltBuild/war/WEB-INF/libs and create one IncludedFile out of that directory
|
||||
//
|
||||
val allDependencies = dependencyManager.transitiveClosure(project.compileDependencies)
|
||||
|
||||
|
@ -114,9 +114,22 @@ class PackagingPlugin @Inject constructor(val dependencyManager : DependencyMana
|
|||
val outDir = project.buildDirectory + "/war"
|
||||
val fullDir = outDir + "/" + WEB_INF
|
||||
File(fullDir).mkdirs()
|
||||
|
||||
// Run through all the classpath contributors and add their contributions to the libs/ directory
|
||||
context.pluginInfo.classpathContributors.map {
|
||||
it.entriesFor(project)
|
||||
}.map { deps : Collection<IClasspathDependency> ->
|
||||
deps.forEach { dep ->
|
||||
val jar = dep.jarFile.get()
|
||||
KFiles.copy(Paths.get(jar.path), Paths.get(fullDir, jar.name))
|
||||
}
|
||||
}
|
||||
|
||||
// Add the regular dependencies to the libs/ directory
|
||||
allDependencies.map { it.jarFile.get() }.forEach {
|
||||
KFiles.copy(Paths.get(it.absolutePath), Paths.get(fullDir, it.name))
|
||||
}
|
||||
|
||||
allFiles.add(IncludedFile(From(fullDir), To(WEB_INF), listOf(Glob("**"))))
|
||||
|
||||
val jarFactory = { os:OutputStream -> JarOutputStream(os, manifest) }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue