@@ -21,7 +21,6 @@ import scopt.*
21
21
import tech .beshu .ror .tools .RorTools .*
22
22
import tech .beshu .ror .tools .core .patches .base .EsPatchExecutor
23
23
import tech .beshu .ror .tools .core .utils .InOut .ConsoleInOut
24
- import tech .beshu .ror .tools .core .utils .RorToolsError .EsNotPatchedError
25
24
import tech .beshu .ror .tools .core .utils .{EsDirectory , InOut , RorToolsError , RorToolsException }
26
25
27
26
import scala .util .{Failure , Success , Try }
@@ -48,9 +47,10 @@ object RorToolsApp extends RorTools {
48
47
trait RorTools {
49
48
50
49
def run (args : Array [String ])(implicit inOut : InOut ): Result = {
50
+ val allArgs = args ++ readArgsFromEnvVariables()
51
51
OParser .runParser(
52
52
parser,
53
- args .map(arg => if (arg.startsWith(" --" )) arg.toLowerCase else arg),
53
+ allArgs .map(arg => if (arg.startsWith(" --" )) arg.toLowerCase else arg),
54
54
Arguments (Command .Verify (None ), PatchingConsent .AnswerNotGiven ),
55
55
parserSetup,
56
56
) match {
@@ -65,6 +65,16 @@ trait RorTools {
65
65
}
66
66
}
67
67
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
+
68
78
private def handleParsedArguments (parsedArguments : Arguments )
69
79
(implicit inOut : InOut ) = {
70
80
Try {
@@ -172,12 +182,14 @@ trait RorTools {
172
182
173
183
import builder .*
174
184
185
+ private val consentFlagName = " i_understand_and_accept_es_patching"
186
+
175
187
private lazy val parser = OParser .sequence(
176
188
head(" ROR tools" , " 1.0.0" ),
177
189
programName(" java -jar ror-tools.jar" ),
178
190
patchCommand,
179
191
note(" " ),
180
- opt[String ](" i_understand_and_accept_es_patching " )
192
+ opt[String ](consentFlagName )
181
193
.valueName(" <yes/no>" )
182
194
.validate {
183
195
case " yes" => success
0 commit comments