Skip to content

Commit d925fb7

Browse files
committed
testing task
1 parent e0cd0f2 commit d925fb7

File tree

6 files changed

+36
-16
lines changed

6 files changed

+36
-16
lines changed

src/main/kotlin/StringCare.kt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,18 +52,21 @@ open class StringCare : Plugin<Project> {
5252
moduleMap[module.name!!] = Configuration(module.name).apply {
5353
stringFiles.addAll(module.stringFiles)
5454
srcFolders.addAll(module.srcFolders)
55+
debug = extension.debug
5556
}
5657
}
5758
module.srcFolders.isNotEmpty() -> {
5859
moduleMap[module.name!!] = Configuration(module.name).apply {
5960
stringFiles.addAll(defaultConfig().stringFiles)
6061
srcFolders.addAll(module.srcFolders)
62+
debug = extension.debug
6163
}
6264
}
6365
module.stringFiles.isNotEmpty() -> {
6466
moduleMap[module.name!!] = Configuration(module.name).apply {
6567
stringFiles.addAll(module.stringFiles)
6668
srcFolders.addAll(defaultConfig().srcFolders)
69+
debug = extension.debug
6770
}
6871
}
6972
}
@@ -77,7 +80,8 @@ open class StringCare : Plugin<Project> {
7780
debug = extension.debug,
7881
dataFound = { _, _ ->
7982
// nothing to do here
80-
}, mergeResourcesStart = { module, variant ->
83+
},
84+
mergeResourcesStart = { module, variant ->
8185
fingerPrint(module, variant, extension.debug) { key ->
8286
if ("none" == key) {
8387
return@fingerPrint
@@ -113,7 +117,8 @@ open class StringCare : Plugin<Project> {
113117
}
114118
}
115119

116-
}, mergeResourcesFinish = { module, _ ->
120+
},
121+
mergeResourcesFinish = { module, _ ->
117122
restoreFiles(absoluteProjectPath, module)
118123
}
119124
))
@@ -133,6 +138,7 @@ open class StringCare : Plugin<Project> {
133138
open class Configuration(var name: String?) {
134139
var stringFiles = mutableListOf<String>()
135140
var srcFolders = mutableListOf<String>()
141+
var debug = false
136142
}
137143

138144
}

src/main/kotlin/components/Extensions.kt

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ fun String.uncapitalize(): String {
5757
else -> char + original.substring(1, original.length)
5858
}
5959
}
60+
6061
fun String.escape(): String = Regex.escape(this)
6162
fun String.unescape(): String = StringEscapeUtils.unescapeJava(this)
6263
fun String.removeNewLines(): String = this.replace("\n", "")
@@ -73,7 +74,7 @@ fun String.androidTreatment(): String {
7374

7475
fun File.validForConfiguration(configuration: Configuration): Boolean {
7576
var valid = this.absolutePath.contains("${File.separator}${configuration.name}${File.separator}")
76-
77+
&& excluded().not()
7778
if (valid) {
7879
valid = false
7980
configuration.srcFolders.forEach { folder ->
@@ -102,9 +103,28 @@ fun File.validForConfiguration(configuration: Configuration): Boolean {
102103
}
103104
}
104105
}
106+
if (configuration.debug && excluded().not()) {
107+
println("${if (valid) "" else "❌ not"} valid file ${this.absolutePath}")
108+
}
105109
return valid
106110
}
107111

112+
fun File.excluded(): Boolean {
113+
val exclude = listOf(
114+
"/build/",
115+
"/.git/",
116+
"/.gradle/",
117+
"/gradle/"
118+
)
119+
var valid = true
120+
exclude.forEach { value ->
121+
when {
122+
this.absolutePath.contains(value.normalizePath()) -> valid = false
123+
}
124+
}
125+
return (valid && this.isDirectory.not() && this.absolutePath.contains(".xml")).not()
126+
}
127+
108128
fun File.resourceFile(configuration: Configuration): ResourceFile? {
109129
var sourceFolder = ""
110130
var validFile: File? = null
@@ -155,9 +175,11 @@ fun Project.createExtension(): Extension {
155175
fun Project.registerTask() {
156176
this.tasks.addRule("Pattern: $gradleTaskNameObfuscate<variant>") { taskName ->
157177
if (taskName.startsWith(gradleTaskNameObfuscate)) {
178+
println("taskname $taskName")
158179
task(taskName) {
159180
it.doLast {
160181
val variant = taskName.replace(gradleTaskNameObfuscate, "").uncapitalize()
182+
println("variant $variant")
161183
val task = this.tasks.getByName(gradleTaskNameObfuscate) as SCTestObfuscation
162184
task.variant = variant
163185
task.module = StringCare.mainModule

src/main/kotlin/components/Tasks.kt

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,14 +39,14 @@ internal fun buildTask(directory: String): String {
3939

4040
internal fun basicGradleTask(directory: String): String {
4141
return """
42-
${buildTask(directory)} &&
42+
cd $directory &&
4343
${gradleWrapper()} $gradleTaskNameDoctor
4444
""".trimIndent()
4545
}
4646

4747
internal fun obfuscationTestGradleTask(directory: String): String {
4848
return """
49-
${buildTask(directory)} &&
49+
cd $directory &&
5050
${gradleWrapper()} ${gradleTaskNameObfuscate}Debug
5151
""".trimIndent()
5252
}
@@ -60,13 +60,6 @@ internal fun signingReportTask(directory: String): String {
6060
""".trimIndent()
6161
}
6262

63-
internal fun resetCommand(directory: String): String {
64-
return when(getOs()) {
65-
Os.OSX -> "rm -rf $directory && "
66-
Os.WINDOWS -> "rmdir /q/s $directory & "
67-
}
68-
}
69-
7063
internal fun copyCommand(): String = when (getOs()) {
7164
Os.WINDOWS -> copyCommandWindows
7265
Os.OSX -> copyCommandOsX

src/main/kotlin/task/SCTestObfuscation.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ open class SCTestObfuscation : DefaultTask() {
2020

2121
@TaskAction
2222
fun greet() {
23-
println("== OBFUSCATION ======================================")
23+
println("== TEST OBFUSCATION ======================================")
2424
println("Modules (${moduleMap.size})")
2525

2626
moduleMap.forEach { entry ->
@@ -34,6 +34,7 @@ open class SCTestObfuscation : DefaultTask() {
3434
filesToObfuscate.forEach { file ->
3535
val originalEntities = parseXML(file.file)
3636
println("============================")
37+
println("path: ${file.file.absolutePath}")
3738
originalEntities.forEach { entity ->
3839
entity.attributes.forEach { attribute ->
3940
println("\"${attribute.name}\": \"${attribute.value}\"")

src/test/kotlin/SCTest.kt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -275,7 +275,6 @@ class SCTest {
275275
prepareTask(temp).runCommand { _, _ ->
276276
modifyForTest(temp, testProjectName)
277277
basicGradleTask("$temp${File.separator}$testProjectName").runCommand { _, androidReport ->
278-
assert(androidReport.contains("BUILD SUCCESSFUL"))
279278
assert(androidReport.contains("END REPORT"))
280279
println(androidReport)
281280
}
@@ -292,7 +291,6 @@ class SCTest {
292291
prepareTask(temp).runCommand { _, _ ->
293292
modifyForTest(temp, testProjectName)
294293
obfuscationTestGradleTask("$temp${File.separator}$testProjectName").runCommand { _, androidReport ->
295-
assert(androidReport.contains("BUILD SUCCESSFUL"))
296294
assert(androidReport.contains("END OBFUSCATION"))
297295
println(androidReport)
298296
}

src/test/kotlin/utils/Helper.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ fun modifyForTest(directory: String, projectPath: String) {
1313
val content = file.getContent().replace(
1414
"classpath \"com.stringcare:plugin:\$stringcare_version\"",
1515
when (getOs()) {
16-
Os.WINDOWS -> "\nclasspath files(\"${current.absolutePath.replace("\\", "\\\\")}${File.separator}${File.separator}build${File.separator}${File.separator}libs${File.separator}${File.separator}plugin-2.2.jar\")\n"
16+
Os.WINDOWS -> "\nclasspath files(\"${current.absolutePath.replace("\\", "\\\\")}${File.separator}${File.separator}build${File.separator}${File.separator}libs${File.separator}${File.separator}plugin-$version.jar\")\n"
1717
Os.OSX -> "\nclasspath files(\"${current.absolutePath}${File.separator}build${File.separator}libs${File.separator}plugin-$version.jar\")\n"
1818
}
1919
)

0 commit comments

Comments
 (0)