mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
73 lines
1.7 KiB
Modula-2
73 lines
1.7 KiB
Modula-2
MODULE Vipack;
|
|
IMPORT vpkConf, vpkFsHelper, vpkLogger, vpkPackageFileParser, Texts, Strings, In, Platform, Oberon, Out, Files, vpkUserDetails;
|
|
|
|
PROCEDURE main();
|
|
|
|
CONST confFileName = "/vipack.conf";
|
|
|
|
VAR user, str, fn: ARRAY 32 OF CHAR;
|
|
confPath, string : ARRAY 120 OF CHAR;
|
|
i : INTEGER;
|
|
f : Files.File;
|
|
r : Files.Rider;
|
|
ch : CHAR;
|
|
S: Texts.Scanner;
|
|
command : ARRAY 500 OF CHAR;
|
|
|
|
PROCEDURE help();
|
|
BEGIN
|
|
vpkLogger.Log("HelpText");
|
|
END help;
|
|
|
|
BEGIN
|
|
(* Getting 1 argument and outputting it *)
|
|
Texts.OpenScanner(S, Oberon.Par.text, Oberon.Par.pos);
|
|
Texts.Scan(S);
|
|
Out.String(S.s); Out.Ln;
|
|
|
|
|
|
(* Vipack installation or help *)
|
|
command := S.s;
|
|
IF Strings.Match(command, "") OR Strings.Match(command, "--help")THEN
|
|
help;
|
|
ELSIF Strings.Match(command, "install") THEN
|
|
vpkPackageFileParser.install();
|
|
END;
|
|
|
|
|
|
confPath := "/home//.vipack";
|
|
|
|
(* Getting username from input if there is no $USER variable *)
|
|
IF ~(vpkUserDetails.GetUsername(user)) THEN
|
|
Out.String("username: "); In.Line(user);
|
|
END;
|
|
|
|
(* Making the full path to vipack.conf *)
|
|
Strings.Insert(user,6,confPath);
|
|
Out.String(confPath);Out.Ln;
|
|
|
|
(* Checking if ~/.vipack directory already exists *)
|
|
IF ~(vpkFsHelper.mkDir(confPath)) THEN
|
|
Out.String(confPath); Out.String(" already exists or path is wrong");Out.Ln;
|
|
ELSE Out.String("Creating directory "); Out.String(confPath);Out.Ln;
|
|
END;
|
|
|
|
(* Checking if vipack.conf already exists *)
|
|
Strings.Append(confFileName,confPath);
|
|
|
|
IF ~(vpkConf.confExists(confPath)) THEN
|
|
Out.String("Creating the configuration file "); Out.String(confPath);Out.Ln;
|
|
vpkConf.makeConf(confPath);
|
|
ELSE
|
|
Out.String("File already exists");Out.Ln;
|
|
END;
|
|
|
|
Out.String(user); Out.Ln;
|
|
END main;
|
|
|
|
|
|
BEGIN
|
|
|
|
main();
|
|
|
|
END Vipack.
|