mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
-a / --ask option.
This commit is contained in:
parent
6a44334d7a
commit
208f1d777b
3 changed files with 35 additions and 6 deletions
|
|
@ -24,6 +24,8 @@ some examples:
|
|||
|
||||
`vipack -p irc_bot` — will build the package and dependencies in the default prefix: `~/vpkLocal`
|
||||
|
||||
`vipack -a -p irc_bot` — ask for confirmation before building the package and dependencies in the default prefix: `~/vpkLocal`
|
||||
|
||||
`vipack -p irc_bot -P /tmp/coolprefix` — will do the same in the custom prefix.
|
||||
|
||||
`vipack -p irc_bot -P /tmp/coolprefix -t /tmp/myothertree` — the same, but the dependency resolution will be conducted by using custom package description tree.
|
||||
|
|
|
|||
|
|
@ -28,6 +28,9 @@ BEGIN
|
|||
opts.setOptRequired(opt, FALSE);
|
||||
options.add(options, opt);
|
||||
|
||||
opts.setOptRequired(opt, FALSE);
|
||||
options.add(options, opt);
|
||||
|
||||
opt := opts.createOpt();
|
||||
opts.setOptName(opt, "-s");
|
||||
opts.setOptLName(opt, "--sync");
|
||||
|
|
@ -89,7 +92,7 @@ END msgnopkg;
|
|||
|
||||
PROCEDURE main;
|
||||
VAR
|
||||
deps, sync, fetch: BOOLEAN;
|
||||
deps, sync, fetch, ask: BOOLEAN;
|
||||
package, prefix, pkgTree: ARRAY 128 OF CHAR;
|
||||
|
||||
options: opts.Options;
|
||||
|
|
@ -125,6 +128,14 @@ BEGIN
|
|||
opts.setOptRequired(opt, FALSE);
|
||||
options.add(options, opt);
|
||||
|
||||
opt := opts.createOpt();
|
||||
opts.setOptName(opt, "-a");
|
||||
opts.setOptLName(opt, "--ask");
|
||||
opts.setOptHasVal(opt, FALSE);
|
||||
opts.setOptDesc(opt, "only resolve and fetch, do not build");
|
||||
opts.setOptRequired(opt, FALSE);
|
||||
options.add(options, opt);
|
||||
|
||||
opt := opts.createOpt();
|
||||
opts.setOptName(opt, "-s");
|
||||
opts.setOptLName(opt, "--sync");
|
||||
|
|
@ -166,6 +177,11 @@ BEGIN
|
|||
fopt := opts.findOpt("-d", foptions);
|
||||
IF fopt # NIL THEN deps := TRUE END;
|
||||
|
||||
fopt := opts.createOpt();
|
||||
fopt := opts.findOpt("-a", foptions);
|
||||
IF fopt # NIL THEN ask := TRUE END;
|
||||
|
||||
|
||||
fopt := opts.createOpt();
|
||||
fopt := opts.findOpt("-f", foptions);
|
||||
IF fopt # NIL THEN fetch := TRUE END;
|
||||
|
|
@ -186,9 +202,9 @@ BEGIN
|
|||
IF deps THEN
|
||||
depTree := vpkInstaller.resolve(package)
|
||||
ELSIF fetch THEN
|
||||
vpkInstaller.fetch(package, prefix, pkgTree)
|
||||
vpkInstaller.fetch(package, prefix, pkgTree, ask)
|
||||
ELSE
|
||||
vpkInstaller.build(package, prefix, pkgTree)
|
||||
vpkInstaller.build(package, prefix, pkgTree, ask)
|
||||
END
|
||||
ELSE
|
||||
msgnopkg(options)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
MODULE vpkInstaller;
|
||||
IMPORT Out, StringList, vpkResolver, vpkdepTree, vpkDot, vpkEnv, vpkJsonDepRetriever, vpkSyncer, Platform;
|
||||
IMPORT In, Out, StringList, vpkResolver, vpkdepTree, vpkDot, vpkEnv, vpkJsonDepRetriever, vpkSyncer, Platform;
|
||||
|
||||
PROCEDURE resolve*(VAR unit: ARRAY OF CHAR): vpkdepTree.TdepTree;
|
||||
VAR
|
||||
|
|
@ -30,7 +30,16 @@ BEGIN
|
|||
RETURN tree
|
||||
END resolve;
|
||||
|
||||
PROCEDURE fetch*(VAR package, prefix, pkgTree: ARRAY OF CHAR);
|
||||
PROCEDURE ask();
|
||||
VAR
|
||||
ch: CHAR;
|
||||
BEGIN
|
||||
Out.String("would you like to merge these packages? (y/n) ");
|
||||
In.Char(ch);
|
||||
IF ch # 'y' THEN Out.Ln; Out.String('quitting'); Out.Ln; HALT(0); END
|
||||
END ask;
|
||||
|
||||
PROCEDURE fetch*(VAR package, prefix, pkgTree: ARRAY OF CHAR; a: BOOLEAN);
|
||||
VAR
|
||||
depTree: vpkdepTree.TdepTree;
|
||||
dep: vpkdepTree.Tdep;
|
||||
|
|
@ -39,6 +48,7 @@ VAR
|
|||
typ: ARRAY 16 OF CHAR;
|
||||
BEGIN
|
||||
depTree := resolve(package);
|
||||
IF a THEN ask END;
|
||||
i := 0;
|
||||
REPEAT
|
||||
dep := vpkdepTree.Get(depTree, i);
|
||||
|
|
@ -48,7 +58,7 @@ BEGIN
|
|||
UNTIL i = depTree.Count;
|
||||
END fetch;
|
||||
|
||||
PROCEDURE build*(VAR package, prefix, tree: ARRAY OF CHAR);
|
||||
PROCEDURE build*(VAR package, prefix, tree: ARRAY OF CHAR; a : BOOLEAN);
|
||||
VAR
|
||||
depTree: vpkdepTree.TdepTree;
|
||||
dep: vpkdepTree.Tdep;
|
||||
|
|
@ -63,6 +73,7 @@ VAR
|
|||
BEGIN
|
||||
builddir := vpkEnv.mkBldDir(prefix);
|
||||
depTree := resolve(package);
|
||||
IF a THEN ask END;
|
||||
i := 0;
|
||||
REPEAT
|
||||
dep := vpkdepTree.Get(depTree, i);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue