Skip to content

Commit 16f4aed

Browse files
authored
[RORDEV-1502] Patching consent in env (#1120)
1 parent 9e5d805 commit 16f4aed

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
publishedPluginVersion=1.64.2
2-
pluginVersion=1.65.0-pre1
2+
pluginVersion=1.65.0-pre3
33
pluginName=readonlyrest
44

55
org.gradle.jvmargs=-Xmx6144m

ror-tools/src/main/scala/tech/beshu/ror/tools/RorToolsApp.scala

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import scopt.*
2121
import tech.beshu.ror.tools.RorTools.*
2222
import tech.beshu.ror.tools.core.patches.base.EsPatchExecutor
2323
import tech.beshu.ror.tools.core.utils.InOut.ConsoleInOut
24-
import tech.beshu.ror.tools.core.utils.RorToolsError.EsNotPatchedError
2524
import tech.beshu.ror.tools.core.utils.{EsDirectory, InOut, RorToolsError, RorToolsException}
2625

2726
import scala.util.{Failure, Success, Try}
@@ -48,9 +47,10 @@ object RorToolsApp extends RorTools {
4847
trait RorTools {
4948

5049
def run(args: Array[String])(implicit inOut: InOut): Result = {
50+
val allArgs = args ++ readArgsFromEnvVariables()
5151
OParser.runParser(
5252
parser,
53-
args.map(arg => if (arg.startsWith("--")) arg.toLowerCase else arg),
53+
allArgs.map(arg => if (arg.startsWith("--")) arg.toLowerCase else arg),
5454
Arguments(Command.Verify(None), PatchingConsent.AnswerNotGiven),
5555
parserSetup,
5656
) match {
@@ -65,6 +65,16 @@ trait RorTools {
6565
}
6666
}
6767

68+
private def readArgsFromEnvVariables(): Array[String] = {
69+
val allowedEnvVariableNames = List(
70+
consentFlagName,
71+
)
72+
sys.env.toList
73+
.filter(env => allowedEnvVariableNames.contains(env._1.toLowerCase))
74+
.flatMap { case (name, value) => Array(s"--$name", value) }
75+
.toArray
76+
}
77+
6878
private def handleParsedArguments(parsedArguments: Arguments)
6979
(implicit inOut: InOut) = {
7080
Try {
@@ -172,12 +182,14 @@ trait RorTools {
172182

173183
import builder.*
174184

185+
private val consentFlagName = "i_understand_and_accept_es_patching"
186+
175187
private lazy val parser = OParser.sequence(
176188
head("ROR tools", "1.0.0"),
177189
programName("java -jar ror-tools.jar"),
178190
patchCommand,
179191
note(""),
180-
opt[String]("i_understand_and_accept_es_patching")
192+
opt[String](consentFlagName)
181193
.valueName("<yes/no>")
182194
.validate {
183195
case "yes" => success

0 commit comments

Comments
 (0)