Skip to content

Commit ce262d6

Browse files
author
krystian.panek
committed
Hotfix for aemCreate
1 parent 56bcb27 commit ce262d6

File tree

2 files changed

+17
-24
lines changed

2 files changed

+17
-24
lines changed

src/main/kotlin/com/cognifide/gradle/aem/instance/CollectTask.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ open class CollectTask : Zip() {
4040

4141
@get:Internal
4242
val satisfiedPackages: List<File>
43-
get() = satisfy.packageProvider.allFiles(satisfy.groupFilter, false)
43+
get() = satisfy.packageProvider.outputDirs(satisfy.groupFilter)
4444

4545
@get:Internal
4646
val builtPackages: List<File>
@@ -52,7 +52,7 @@ open class CollectTask : Zip() {
5252
}
5353

5454
private fun resolvePackages() {
55-
satisfy.packageProvider.allFiles(satisfy.groupFilter, true)
55+
satisfy.packageProvider.allFiles(satisfy.groupFilter)
5656
}
5757

5858
}

src/main/kotlin/com/cognifide/gradle/aem/internal/file/FileResolver.kt

Lines changed: 15 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.cognifide.gradle.aem.internal.file
22

3-
import com.cognifide.gradle.aem.AemException
43
import com.cognifide.gradle.aem.internal.Formats
54
import com.google.common.hash.HashCode
65
import groovy.lang.Closure
@@ -24,8 +23,10 @@ class FileResolver(val project: Project, val downloadDir: File) {
2423
val DOWNLOAD_LOCK = "download.lock"
2524
}
2625

27-
private inner class Resolver(val id: String, val group: String, val action: (Resolver) -> Unit) {
26+
private inner class Resolver(val id: String, val group: String, val action: (Resolver) -> File) {
2827
val dir = File("$downloadDir/$id")
28+
29+
val file: File by lazy { action(this) }
2930
}
3031

3132
private val resolvers = mutableListOf<Resolver>()
@@ -50,30 +51,22 @@ class FileResolver(val project: Project, val downloadDir: File) {
5051
}
5152
}
5253

53-
fun allFiles(filter: (String) -> Boolean = { true }, resolve: Boolean = true): List<File> {
54-
return resolveFiles(filter, resolve).map { it.dir }
54+
fun outputDirs(filter: (String) -> Boolean = { true }): List<File> {
55+
return filterResolvers(filter).map { it.dir }
5556
}
5657

57-
fun groupedFiles(filter: (String) -> Boolean = { true }, resolve: Boolean = true): Map<String, List<File>> {
58-
return resolveFiles(filter, resolve).fold(mutableMapOf<String, MutableList<File>>(), { files, resolver ->
59-
files.getOrPut(resolver.group, { mutableListOf() }).add(resolver.dir); files
60-
})
58+
fun allFiles(filter: (String) -> Boolean = { true }): List<File> {
59+
return filterResolvers(filter).map { it.file }
6160
}
6261

63-
private fun resolveFiles(filter: (String) -> Boolean, resolve: Boolean): List<Resolver> {
64-
val resolvers = resolvers.filter { filter(it.group) }
65-
if (resolve) {
66-
resolvers.onEach(this::resolveFile)
67-
}
68-
69-
return resolvers
62+
fun groupedFiles(filter: (String) -> Boolean = { true }): Map<String, List<File>> {
63+
return filterResolvers(filter).fold(mutableMapOf<String, MutableList<File>>(), { files, resolver ->
64+
files.getOrPut(resolver.group, { mutableListOf() }).add(resolver.file); files
65+
})
7066
}
7167

72-
private fun resolveFile(resolver: Resolver) {
73-
resolver.action(resolver)
74-
if (FileOperations.isDirEmpty(resolver.dir)) {
75-
throw AemException("Cannot resolve file(s) from group '${resolver.group}' to path: ${resolver.dir}")
76-
}
68+
private fun filterResolvers(filter: (String) -> Boolean): List<Resolver> {
69+
return resolvers.filter { filter(it.group) }
7770
}
7871

7972
fun url(url: String) {
@@ -187,10 +180,10 @@ class FileResolver(val project: Project, val downloadDir: File) {
187180
}
188181

189182
fun local(sourceFile: File) {
190-
resolve(sourceFile.absolutePath, { })
183+
resolve(sourceFile.absolutePath, { sourceFile })
191184
}
192185

193-
private fun resolve(hash: Any, resolver: (Resolver) -> Unit) {
186+
private fun resolve(hash: Any, resolver: (Resolver) -> File) {
194187
val id = HashCode.fromInt(HashCodeBuilder().append(hash).toHashCode()).toString()
195188
resolvers += Resolver(id, group, resolver)
196189
}

0 commit comments

Comments
 (0)