Skip to content

Commit d896f57

Browse files
authored
Encode logfile option with URLEncoder (#1363)
* Encode logfile option with URLEncoder * Add fallback to logfile
1 parent 5aa81ea commit d896f57

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

codegen/src/main/scala/akka/grpc/gen/Main.scala

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package akka.grpc.gen
66

77
import java.io.ByteArrayOutputStream
8+
import java.net.URLDecoder
89

910
import com.google.protobuf.compiler.PluginProtos.CodeGeneratorRequest
1011
import akka.grpc.gen.javadsl.{ JavaClientCodeGenerator, JavaInterfaceCodeGenerator, JavaServerCodeGenerator }
@@ -45,7 +46,14 @@ object Main extends App {
4546
private val extraGenerators: List[String] =
4647
parameters.getOrElse("extra_generators", "").split(";").toList.filter(_ != "")
4748

48-
private val logger = parameters.get("logfile").map(new FileLogger(_)).getOrElse(SilencedLogger)
49+
// Prefer logfile_enc with fallback to logfile
50+
private val logger: Logger =
51+
parameters
52+
.get("logfile_enc")
53+
.map(URLDecoder.decode(_, "utf-8"))
54+
.orElse(parameters.get("logfile"))
55+
.map(new FileLogger(_))
56+
.getOrElse(SilencedLogger)
4957

5058
val out = {
5159
val codeGenerators =

gradle-plugin/src/main/groovy/akka/grpc/gradle/AkkaGrpcPlugin.groovy

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import org.gradle.internal.component.local.model.DefaultProjectComponentSelector
1111
import org.gradle.util.GradleVersion
1212
import org.gradle.util.VersionNumber
1313

14+
import java.net.URLEncoder
1415
import java.nio.file.Files
1516
import java.nio.file.Path
1617

@@ -125,7 +126,7 @@ class AkkaGrpcPlugin implements Plugin<Project> {
125126
option "server_power_apis=${akkaGrpcExt.serverPowerApis}"
126127
option "use_play_actions=${akkaGrpcExt.usePlayActions}"
127128
option "extra_generators=${akkaGrpcExt.extraGenerators.join(';')}"
128-
option "logfile=${project.projectDir.toPath().relativize(logFile).toString()}"
129+
option "logfile_enc=${URLEncoder.encode(logFile.toString(), "utf-8")}"
129130
if (akkaGrpcExt.includeStdTypes) {
130131
option "include_std_types=true"
131132
}

0 commit comments

Comments
 (0)