Skip to content

Commit 9847796

Browse files
authored
Merge pull request #69 from Cognifide/vlt-skip-properties-with-wildcards
VLT skip properties with wildcards
2 parents 5f2af8c + 66b4f6c commit 9847796

File tree

10 files changed

+27
-11
lines changed

10 files changed

+27
-11
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ buildscript {
6363
}
6464
6565
dependencies {
66-
classpath 'com.cognifide.gradle:aem-plugin:2.0.8'
66+
classpath 'com.cognifide.gradle:aem-plugin:2.0.9'
6767
}
6868
}
6969

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ plugins {
66
}
77

88
group 'com.cognifide.gradle'
9-
version '2.0.8'
9+
version '2.0.9'
1010
description = 'Gradle AEM Plugin'
1111
defaultTasks = ['clean', 'publishToMavenLocal']
1212

src/main/kotlin/com/cognifide/gradle/aem/AemConfig.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -196,7 +196,7 @@ open class AemConfig(project: Project) : Serializable {
196196
var vaultSkipProperties: MutableList<String> = mutableListOf(
197197
"jcr:lastModified",
198198
"jcr:created",
199-
"cq:lastModified",
199+
"cq:lastModified*",
200200
"cq:lastReplicat*",
201201
"jcr:uuid"
202202
)

src/main/kotlin/com/cognifide/gradle/aem/vlt/VltCleaner.kt

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

3+
import com.cognifide.gradle.aem.internal.Patterns
34
import org.apache.commons.io.FileUtils
45
import org.apache.commons.io.filefilter.NameFileFilter
56
import org.apache.commons.io.filefilter.TrueFileFilter
@@ -8,13 +9,16 @@ import org.apache.commons.lang3.StringUtils
89
import org.gradle.api.logging.Logger
910
import java.io.File
1011
import java.io.IOException
12+
import java.util.regex.Pattern
1113

1214
class VltCleaner(val root: File, val logger: Logger) {
1315

1416
companion object {
1517
val VLT_FILE = ".vlt"
1618

1719
val JCR_CONTENT_FILE = ".content.xml"
20+
21+
val CONTENT_PROP_PATTERN = Pattern.compile("([^=]+)=\"([^\"]+)\"")
1822
}
1923

2024
fun removeVltFiles() {
@@ -44,7 +48,7 @@ class VltCleaner(val root: File, val logger: Logger) {
4448

4549
for (line in lines) {
4650
val cleanLine = StringUtils.trimToEmpty(line)
47-
if (contentProperties.any { cleanLine.startsWith(it) }) {
51+
if (lineContainsProperty(line, contentProperties)) {
4852
when {
4953
cleanLine.endsWith("/>") -> {
5054
result.add(result.removeAt(result.size - 1) + "/>")
@@ -65,5 +69,15 @@ class VltCleaner(val root: File, val logger: Logger) {
6569
return result
6670
}
6771

72+
private fun lineContainsProperty(line: String, props: List<String>): Boolean {
73+
val normalizedLine = line.trim().removeSuffix("/>").removeSuffix(">")
74+
val matcher = CONTENT_PROP_PATTERN.matcher(normalizedLine)
75+
if (matcher.matches()) {
76+
return Patterns.wildcard(matcher.group(1), props)
77+
}
78+
79+
return false
80+
}
81+
6882
}
6983

src/test/kotlin/com/cognifide/gradle/aem/vlt/VltCleanerTest.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ class VltCleanerTest {
1515

1616
@Test
1717
fun shouldCleanupDotContentWithDefaultClosing() {
18-
cleanUpDotContent("cleanupDotContent/defaultClosing")
18+
cleanupDotContent("cleanupDotContent/defaultClosing")
1919
}
2020

2121
@Test
2222
fun shouldCleanupDotContentWithSelfClosing() {
23-
cleanUpDotContent("cleanupDotContent/selfClosing")
23+
cleanupDotContent("cleanupDotContent/selfClosing")
2424
}
2525

26-
private fun cleanUpDotContent(case: String) {
26+
private fun cleanupDotContent(case: String) {
2727
val expectedFile = File(javaClass.getResource("$case-expected.xml").toURI())
2828
val sourceFile = File(javaClass.getResource("$case.xml").toURI())
2929
val testedFile = File(tmpDir.newFolder(), ".content.xml")
@@ -32,7 +32,7 @@ class VltCleanerTest {
3232
VltCleaner(testedFile.parentFile, NopLogger()).cleanupDotContent(listOf(
3333
"jcr:lastModified",
3434
"jcr:created",
35-
"cq:lastModified",
35+
"cq:lastModified*",
3636
"cq:lastReplicat*",
3737
"jcr:uuid"
3838
), "\r\n")

src/test/resources/com/cognifide/gradle/aem/test/compose/assembly/gradle/buildscript.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ repositories {
77
}
88

99
dependencies {
10-
classpath 'com.cognifide.gradle:aem-plugin:2.0.8'
10+
classpath 'com.cognifide.gradle:aem-plugin:2.0.9'
1111
classpath "org.dm.gradle:gradle-bundle-plugin:0.10.0"
1212
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.1.4"
1313
}

src/test/resources/com/cognifide/gradle/aem/test/compose/bundle-and-content/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
}
88

99
dependencies {
10-
classpath 'com.cognifide.gradle:aem-plugin:2.0.8'
10+
classpath 'com.cognifide.gradle:aem-plugin:2.0.9'
1111
classpath 'org.dm.gradle:gradle-bundle-plugin:0.10.0'
1212
}
1313
}

src/test/resources/com/cognifide/gradle/aem/test/debug/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ buildscript {
77
}
88

99
dependencies {
10-
classpath 'com.cognifide.gradle:aem-plugin:2.0.8'
10+
classpath 'com.cognifide.gradle:aem-plugin:2.0.9'
1111
}
1212
}
1313

src/test/resources/com/cognifide/gradle/aem/vlt/cleanupDotContent/defaultClosing.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
jcr:uuid="123e4567-e89b-12d3-a456-426655440000"
77
jcr:title="Sample Page"
88
sling:resourceType="example/core/components/page"
9+
cq:lastReplicatedBy="foo"
910
cq:lastModifiedBy="foo">
1011
</jcr:content>
1112
</jcr:root>

src/test/resources/com/cognifide/gradle/aem/vlt/cleanupDotContent/selfClosing.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,6 @@
66
jcr:uuid="123e4567-e89b-12d3-a456-426655440000"
77
jcr:title="Sample Page"
88
sling:resourceType="example/core/components/page"
9+
cq:lastReplicatedBy="foo"
910
cq:lastModifiedBy="foo"/>
1011
</jcr:root>

0 commit comments

Comments
 (0)