vipack builds!

This commit is contained in:
Norayr Chilingarian 2022-01-18 22:10:39 +04:00
parent ee31eb68fb
commit 6f532c7390
3 changed files with 39 additions and 19 deletions

View file

@ -81,15 +81,34 @@ BEGIN
Strings.Append("/", path); Strings.Append("/", path);
END mkPkgDirPath; END mkPkgDirPath;
PROCEDURE mkBldDirPath*(VAR prefix, builddir: ARRAY OF CHAR); PROCEDURE mkBldDir*(VAR prefix: ARRAY OF CHAR): StringList.pstring;
VAR
builddir: StringList.pstring;
ln : INTEGER;
BEGIN BEGIN
COPY(prefix, builddir); ln := 3 + Strings.Length(prefix) + Strings.Length(vpkSettings.vpkBldDir);
createIfNotThere(builddir); NEW(builddir, ln);
Strings.Append("/", builddir); COPY(prefix, builddir^);
Strings.Append(vpkSettings.vpkBldDir, builddir); createIfNotThere(builddir^);
createIfNotThere(builddir); Strings.Append("/", builddir^);
Strings.Append("/", builddir); Strings.Append(vpkSettings.vpkBldDir, builddir^);
END mkBldDirPath; createIfNotThere(builddir^);
Strings.Append("/", builddir^);
RETURN builddir
END mkBldDir;
PROCEDURE mkCmd*(VAR p0, p1: ARRAY OF CHAR): StringList.pstring;
VAR
cmd: StringList.pstring;
ln: INTEGER;
BEGIN
ln := 2 + Strings.Length(p0) + Strings.Length(p1);
NEW(cmd, ln);
COPY(p0, cmd^);
Strings.Append(" ", cmd^);
Strings.Append(p1, cmd^);
RETURN cmd
END mkCmd;
PROCEDURE setConfFileName; PROCEDURE setConfFileName;
VAR VAR

View file

@ -58,11 +58,10 @@ VAR
keys, values: StringList.TStringList; keys, values: StringList.TStringList;
k, v: StringList.pstring; k, v: StringList.pstring;
b: BOOLEAN; b: BOOLEAN;
builddir: ARRAY 512 OF CHAR; builddir, cmd, srcPath: StringList.pstring;
cmd, srcPath: StringList.pstring; res: INTEGER;
chdirRes: INTEGER;
BEGIN BEGIN
vpkEnv.mkBldDirPath(prefix, builddir); builddir := vpkEnv.mkBldDir(prefix);
b := FALSE; b := FALSE;
depTree := resolve(package); depTree := resolve(package);
i := 0; i := 0;
@ -76,19 +75,20 @@ BEGIN
REPEAT REPEAT
k := keys.GetString(keys, j); k := keys.GetString(keys, j);
v := values.GetString(values, j); v := values.GetString(values, j);
Out.Int(j, 0); Out.String(": "); Out.String(k^); Out.Ln; res := Platform.Chdir(builddir^);
Out.Int(j, 0); Out.String(": "); Out.String(v^); Out.Ln; IF res # 0 THEN
chdirRes := Platform.Chdir(builddir); Out.String("failed to change directory to "); Out.String(builddir^); Out.Ln; Out.String("this should never happen."); Out.Ln; HALT(66);
IF chdirRes # 0 THEN
Out.String("failed to change directory to "); Out.String(builddir); Out.Ln; Out.String("this should never happen."); Out.Ln; HALT(66);
END; END;
srcPath := vpkEnv.getSrcRelPath(dep.name^, v^); srcPath := vpkEnv.getSrcRelPath(dep.name^, v^);
Out.String(srcPath^); Out.Ln; Out.String(srcPath^); Out.Ln;
cmd := vpkEnv.mkCmd(k^, srcPath^);
Out.String(cmd^);
res := Platform.System(cmd^);
IF res # 0 THEN Out.String("failed to run build command"); Out.Ln END;
INC(j) INC(j)
UNTIL j = keys.Count - 1; UNTIL j = keys.Count - 1;
ELSE ELSE
Out.String("no build info found for the package: "); Out.String(dep.name^); Out.Ln; Out.String("no build info found for the package: "); Out.String(dep.name^); Out.Ln;
HALT(67);
END; END;
INC(i); INC(i);
UNTIL i = depTree.Count; UNTIL i = depTree.Count;

View file

@ -18,7 +18,8 @@ CONST
rmtTypGemiVal* = "gemini"; rmtTypGemiVal* = "gemini";
rmtTreeKey* = "path"; rmtTreeKey* = "path";
bldType* = "Build"; bldType* = "Build";
defTreeVal* = "https://github.com/vishaps/vipackTree"; (*defTreeVal* = "https://github.com/vishaps/vipackTree";*)
defTreeVal* = "git@github.com:vishaps/vipackTree";
confTreeVal* = defTreeVal; confTreeVal* = defTreeVal;
defTypVal* = rmtTypGitVal; defTypVal* = rmtTypGitVal;