Commit MetaInfo

Revisión7535f35d6a3609be92c5bdff7169d4b10f8bc745 (tree)
Tiempo2021-05-05 12:42:34
AutorRemilia Scarlet <remilia@post...>
CommiterRemilia Scarlet

Log Message

Allow --target to be specified more than once

Cambiar Resumen

Diferencia incremental

diff -r 0fa8e0e03b73 -r 7535f35d6a36 src/dbuildpk3/main.cr
--- a/src/dbuildpk3/main.cr Sun May 02 02:27:57 2021 -0600
+++ b/src/dbuildpk3/main.cr Tue May 04 21:42:34 2021 -0600
@@ -36,10 +36,9 @@
3636 # Initialize command line arguments
3737 DBuildPK3.args.addFlag("new", 'N', help: "Create a skeleton pk3build.yaml and exit. Will not overwrite an existing file.")
3838 DBuildPK3.args.addString("file", 'f', help: "Read this project file instead of pk3build.yaml.")
39- DBuildPK3.args.addString("target", 't', help: "The target to build, or 'all' to build all targets.")
39+ DBuildPK3.args.addMultiString("target", 't', help: "The target to build, or 'all' to build all targets. Can be used more than once.")
4040 DBuildPK3.args.addString("run", 'r', help: "Runs a run-target.")
4141
42-
4342 DBuildPK3.args.addMultiString("ignore", 'i', "Target Options", "Ignore a specific file for this build. Can be used multiple times.")
4443 DBuildPK3.args.addString("ignore-file", 'I', "Target Options", "Read filenames to ignore from the given file.")
4544 DBuildPK3.args.addFlag("force", 'F', "Target Options", "Always build the target even if it doesn't need building.")
@@ -140,19 +139,23 @@
140139
141140 # Build
142141 if DBuildPK3.args["target"].called
143- if DBuildPK3.args["target"].str == "all"
142+ targets = DBuildPK3.args["target"].as(RemiArgParser::MultiStringArgument)
143+
144+ if targets.values.includes?("all")
144145 # Build all targets
145146 @project.targets.each do |name, _|
146147 @project.build(name, ignores, DBuildPK3.args["force"].called)
147148 end
148149 else
149- # Build a specific target
150- tgt = @project.targets[DBuildPK3.args["target"].str]?
150+ # Build specific target(s)
151+ targets.values.each do |tgtName|
152+ tgt = @project.targets[tgtName]?
151153
152- if tgt
153- @project.build(DBuildPK3.args["target"].str, ignores, DBuildPK3.args["force"].called)
154- else
155- RemiLog.log.fatal("Unknown target: #{DBuildPK3.args["target"].str}")
154+ if tgt
155+ @project.build(tgtName, ignores, DBuildPK3.args["force"].called)
156+ else
157+ RemiLog.log.fatal("Unknown target: #{tgtName}")
158+ end
156159 end
157160 end
158161 else
Show on old repository browser