@@ -3,6 +3,7 @@ package kotlinx.benchmark.gradle
33import org.gradle.api.*
44import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinJvmAndroidCompilation
55import java.io.InputStream
6+ import java.net.URLDecoder
67import java.util.*
78import 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
2627private 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
5758private 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
7979private 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
8383private 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
124124private 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))
0 commit comments