Skip to content

Commit f667861

Browse files
committed
Fix generate folders in android template project
1 parent 4092879 commit f667861

File tree

4 files changed

+19
-16
lines changed

4 files changed

+19
-16
lines changed

plugin/main/src/kotlinx/benchmark/gradle/AndroidMultiplatformTasks.kt

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ package kotlinx.benchmark.gradle
33
import org.gradle.api.*
44
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
55
import java.io.InputStream
6+
import java.net.URLDecoder
67
import java.util.*
78
import java.util.concurrent.TimeUnit
89

@@ -24,15 +25,15 @@ private fun Project.generatedAndroidProjectDir(target: AndroidBenchmarkTarget, c
2425
androidBenchmarkBuildDir(target, compilation).resolve(GENERATED_ANDROID_PROJECT_NAME)
2526

2627
private fun Project.createSetupAndroidProjectTask(target: AndroidBenchmarkTarget, compilation: KotlinJvmAndroidCompilation) {
27-
task<DefaultTask>("setup${compilation.name.capitalize()}AndroidProject") {
28+
task<DefaultTask>("setup${compilation.name.capitalize(Locale.ROOT)}AndroidProject") {
2829
group = "benchmark"
2930
description = "Sets up an empty android project to generate benchmarks into"
3031

3132
doFirst {
3233
sync {
3334
it.apply {
3435
val pluginJarPath = BenchmarksPlugin::class.java.protectionDomain.codeSource.location.path
35-
from(project.zipTree(pluginJarPath))
36+
from(project.zipTree(URLDecoder.decode(pluginJarPath, "UTF-8")))
3637
into(androidBenchmarkBuildDir(target, compilation))
3738
include("$GENERATED_ANDROID_PROJECT_NAME/**")
3839
}
@@ -55,11 +56,10 @@ private fun Project.createSetupAndroidProjectTask(target: AndroidBenchmarkTarget
5556
}
5657

5758
private fun Project.createUnpackAarTask(target: AndroidBenchmarkTarget, compilation: KotlinJvmAndroidCompilation) {
58-
// TODO: capitalize(Locale.ROOT) everywhere in the project. For toLower/UpperCase() as well.
59-
task<DefaultTask>("unpack${compilation.name.capitalize()}Aar") {
59+
task<DefaultTask>("unpack${compilation.name.capitalize(Locale.ROOT)}Aar") {
6060
group = "benchmark"
6161
description = "Unpacks the AAR file produced by ${target.name} compilation '${compilation.name}'"
62-
dependsOn("bundle${compilation.name.capitalize()}Aar")
62+
dependsOn("bundle${compilation.name.capitalize(Locale.ROOT)}Aar")
6363
doLast {
6464
logger.info("Unpacking AAR file produced by ${target.name} compilation '${compilation.name}'")
6565

@@ -77,15 +77,15 @@ private fun Project.createUnpackAarTask(target: AndroidBenchmarkTarget, compilat
7777
}
7878

7979
private fun generateSourcesTaskName(target: AndroidBenchmarkTarget, compilation: KotlinJvmAndroidCompilation): String {
80-
return "${target.name}${compilation.name.capitalize()}${BenchmarksPlugin.BENCHMARK_GENERATE_SUFFIX}"
80+
return "${target.name}${compilation.name.capitalize(Locale.ROOT)}${BenchmarksPlugin.BENCHMARK_GENERATE_SUFFIX}"
8181
}
8282

8383
private fun Project.createAndroidBenchmarkGenerateSourceTask(target: AndroidBenchmarkTarget, compilation: KotlinJvmAndroidCompilation) {
8484
task<DefaultTask>(generateSourcesTaskName(target, compilation)) {
8585
group = "benchmark"
8686
description = "Generates Android source files for ${target.name} compilation '${compilation.name}'"
87-
dependsOn("unpack${compilation.name.capitalize()}Aar")
88-
dependsOn("setup${compilation.name.capitalize()}AndroidProject")
87+
dependsOn("unpack${compilation.name.capitalize(Locale.ROOT)}Aar")
88+
dependsOn("setup${compilation.name.capitalize(Locale.ROOT)}AndroidProject")
8989

9090
doLast {
9191

@@ -94,7 +94,7 @@ private fun Project.createAndroidBenchmarkGenerateSourceTask(target: AndroidBenc
9494
val targetDir = generatedAndroidProjectDir(target, compilation)
9595
.resolve("microbenchmark/src/androidTest/kotlin")
9696

97-
check(targetDir.exists())
97+
targetDir.mkdirs()
9898

9999
generateBenchmarkSourceFiles(targetDir, classDescriptors)
100100
}
@@ -122,7 +122,7 @@ private fun detectAndroidDevice() {
122122

123123
// Use shell command to execute separate project gradle task
124124
private fun Project.createAndroidBenchmarkExecTask(target: AndroidBenchmarkTarget, compilation: KotlinJvmAndroidCompilation) {
125-
task<DefaultTask>("android${compilation.name.capitalize()}Benchmark") {
125+
task<DefaultTask>("android${compilation.name.capitalize(Locale.ROOT)}Benchmark") {
126126
group = "benchmark"
127127
description = "Executes benchmarks for ${target.name} compilation '${compilation.name}'"
128128
dependsOn(generateSourcesTaskName(target, compilation))

plugin/main/src/kotlinx/benchmark/gradle/AnnotationProcessor.kt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package kotlinx.benchmark.gradle
22

33
import org.jetbrains.org.objectweb.asm.*
44
import org.jetbrains.org.objectweb.asm.tree.*
5+
import java.util.*
56
import java.util.jar.*
67

78
data class AnnotationData(
@@ -197,8 +198,8 @@ class AnnotationProcessor {
197198
}
198199

199200
private fun getFieldVisibility(classNode: ClassNode, fieldNode: FieldNode): Visibility {
200-
val getterName = "get${fieldNode.name.capitalize()}"
201-
val setterName = "set${fieldNode.name.capitalize()}"
201+
val getterName = "get${fieldNode.name.capitalize(Locale.ROOT)}"
202+
val setterName = "set${fieldNode.name.capitalize(Locale.ROOT)}"
202203

203204
val getterMethod = classNode.methods.find { it.name == getterName }
204205
val setterMethod = classNode.methods.find { it.name == setterName }

plugin/main/src/kotlinx/benchmark/gradle/BenchmarkConfiguration.kt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmCompilation
77
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeCompilation
88
import org.jetbrains.kotlin.gradle.plugin.mpp.NativeBuildType
99
import org.jetbrains.kotlin.gradle.targets.js.ir.KotlinJsIrCompilation
10+
import java.util.*
1011

1112
open class BenchmarkConfiguration
1213
@KotlinxBenchmarkPluginInternalApi
@@ -46,13 +47,13 @@ constructor(
4647
}
4748

4849
@KotlinxBenchmarkPluginInternalApi
49-
fun capitalizedName() = if (name == "main") "" else name.capitalize()
50+
fun capitalizedName() = if (name == "main") "" else name.capitalize(Locale.ROOT)
5051

5152
@KotlinxBenchmarkPluginInternalApi
52-
fun prefixName(suffix: String) = if (name == "main") suffix else name + suffix.capitalize()
53+
fun prefixName(suffix: String) = if (name == "main") suffix else name + suffix.capitalize(Locale.ROOT)
5354

5455
@KotlinxBenchmarkPluginInternalApi
55-
fun reportFileExt(): String = reportFormat?.toLowerCase() ?: "json"
56+
fun reportFileExt(): String = reportFormat?.toLowerCase(Locale.ROOT) ?: "json"
5657
}
5758

5859
open class BenchmarkTarget

plugin/main/src/kotlinx/benchmark/gradle/JvmJavaTasks.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ package kotlinx.benchmark.gradle
22

33
import kotlinx.benchmark.gradle.internal.KotlinxBenchmarkPluginInternalApi
44
import org.gradle.api.*
5+
import java.util.*
56

67
@KotlinxBenchmarkPluginInternalApi
78
fun Project.processJavaSourceSet(target: JavaBenchmarkTarget) {
@@ -43,7 +44,7 @@ private fun Project.configureJmhDependency(target: JavaBenchmarkTarget) {
4344
val dependencyConfiguration = if (target.name == "main")
4445
configurationRoot
4546
else
46-
"${target.name}${configurationRoot.capitalize()}"
47+
"${target.name}${configurationRoot.capitalize(Locale.ROOT)}"
4748

4849
dependencies.add(dependencyConfiguration, jmhCore)
4950
}

0 commit comments

Comments
 (0)