mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
added branch concept. vipack now can pull for branch.
This commit is contained in:
parent
0990748ecb
commit
8ff51322f4
7 changed files with 39 additions and 31 deletions
6
makefile
6
makefile
|
|
@ -17,10 +17,10 @@ all: deps
|
|||
#git submodule update
|
||||
mkdir -p $(build_dir_path)
|
||||
cd $(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/lists/makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/lists/Makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/Internet/makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/time/makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/opts/makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/time/Makefile BUILD=$(build_dir_path)
|
||||
gmake -f $(mkfile_dir_path)/dps/opts/Makefile BUILD=$(build_dir_path)
|
||||
cd $(build_dir_path) && \
|
||||
$(VOC) -s \
|
||||
../src/vpkSettings.Mod \
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
MODULE vpkGit;
|
||||
IMPORT Out, Strings, Platform, vpkEnv;
|
||||
|
||||
PROCEDURE pull*(url : ARRAY OF CHAR; dst : ARRAY OF CHAR);
|
||||
PROCEDURE pull*(url : ARRAY OF CHAR; dst : ARRAY OF CHAR; branch: ARRAY OF CHAR);
|
||||
VAR i : INTEGER;
|
||||
cmd : ARRAY 2048 OF CHAR;
|
||||
BEGIN
|
||||
|
|
@ -13,20 +13,22 @@ BEGIN
|
|||
Strings.Append(dst, cmd);
|
||||
Strings.Append(" pull ", cmd);
|
||||
Strings.Append(url, cmd);
|
||||
Strings.Append(" ", cmd);
|
||||
Strings.Append(branch, cmd);
|
||||
i := Platform.System(cmd);
|
||||
END pull;
|
||||
|
||||
PROCEDURE syncTree*(url: ARRAY OF CHAR);
|
||||
PROCEDURE syncTree*(url, branch: ARRAY OF CHAR);
|
||||
VAR
|
||||
tmp: ARRAY 256 OF CHAR;
|
||||
BEGIN
|
||||
vpkEnv.getTreeDir(tmp);
|
||||
pull(url, tmp);
|
||||
pull(url, tmp, branch);
|
||||
END syncTree;
|
||||
|
||||
PROCEDURE fetchRepo*(url: ARRAY OF CHAR; dst: ARRAY OF CHAR);
|
||||
PROCEDURE fetchRepo*(url: ARRAY OF CHAR; dst, branch: ARRAY OF CHAR);
|
||||
BEGIN
|
||||
pull(url, dst);
|
||||
pull(url, dst, branch);
|
||||
END fetchRepo;
|
||||
|
||||
END vpkGit.
|
||||
|
|
|
|||
|
|
@ -53,6 +53,7 @@ VAR
|
|||
jsonRecord : vpkJsonParser.JsonTypePointer;
|
||||
b: BOOLEAN;
|
||||
treeTyp: ARRAY 8 OF CHAR;
|
||||
branch: ARRAY 128 OF CHAR;
|
||||
BEGIN
|
||||
f := vpkEnv.getConfFile();
|
||||
Files.Set(r, f, 0);
|
||||
|
|
@ -66,6 +67,8 @@ BEGIN
|
|||
IF ~b THEN Out.String("unable to read "); Out.String (vpkSettings.rmtTypKey); Out.String(" from json"); Out.Ln; HALT(1); END;
|
||||
IF treeTyp = vpkSettings.rmtTypGitVal THEN
|
||||
tree.typ := vpkSettings.git;
|
||||
b := vpkJsonParser.GetTerminal(jsonRecord, vpkSettings.rmtTreeBranchKey, branch);
|
||||
IF ~b THEN COPY("", tree.branch) ELSE COPY(branch, tree.branch) END;
|
||||
ELSIF treeTyp = vpkSettings.rmtTypHttpVal THEN
|
||||
tree.typ := vpkSettings.http
|
||||
ELSE
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ VAR
|
|||
depTree: vpkdepTree.TdepTree;
|
||||
dep: vpkdepTree.Tdep;
|
||||
i: LONGINT;
|
||||
URI: ARRAY 128 OF CHAR;
|
||||
URI, branch: ARRAY 128 OF CHAR;
|
||||
typ: ARRAY 16 OF CHAR;
|
||||
BEGIN
|
||||
depTree := resolve(package);
|
||||
|
|
@ -52,8 +52,8 @@ BEGIN
|
|||
i := 0;
|
||||
REPEAT
|
||||
dep := vpkdepTree.Get(depTree, i);
|
||||
vpkJsonDepRetriever.getURIandType(dep, URI, typ);
|
||||
vpkSyncer.fetch(dep.name^, URI, typ, prefix);
|
||||
vpkJsonDepRetriever.getURIandType(dep, URI, typ, branch);
|
||||
vpkSyncer.fetch(dep.name^, URI, typ, prefix, branch);
|
||||
INC(i)
|
||||
UNTIL i = depTree.Count;
|
||||
END fetch;
|
||||
|
|
@ -63,7 +63,7 @@ VAR
|
|||
depTree: vpkdepTree.TdepTree;
|
||||
dep: vpkdepTree.Tdep;
|
||||
i, j: LONGINT;
|
||||
URI: ARRAY 128 OF CHAR;
|
||||
URI, branch: ARRAY 128 OF CHAR;
|
||||
typ: ARRAY 16 OF CHAR;
|
||||
keys, values: StringList.TStringList;
|
||||
k, v: StringList.pstring;
|
||||
|
|
@ -81,8 +81,8 @@ BEGIN
|
|||
i := 0;
|
||||
REPEAT
|
||||
dep := vpkdepTree.Get(depTree, i);
|
||||
vpkJsonDepRetriever.getURIandType(dep, URI, typ);
|
||||
vpkSyncer.fetch(dep.name^, URI, typ, prefix);
|
||||
vpkJsonDepRetriever.getURIandType(dep, URI, typ, branch);
|
||||
vpkSyncer.fetch(dep.name^, URI, typ, prefix, branch);
|
||||
b := FALSE;
|
||||
b := vpkJsonDepRetriever.getBuildInfo(dep, keys, values);
|
||||
IF b THEN
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ BEGIN
|
|||
END;
|
||||
END getBuildInfo;
|
||||
|
||||
PROCEDURE getURIandType*(VAR d: vpkdepTree.Tdep; VAR URI: ARRAY OF CHAR; VAR type: ARRAY OF CHAR);
|
||||
PROCEDURE getURIandType*(VAR d: vpkdepTree.Tdep; VAR URI: ARRAY OF CHAR; VAR type: ARRAY OF CHAR; VAR branch: ARRAY OF CHAR);
|
||||
VAR
|
||||
jsonRecord, remote: vpkJsonParser.JsonTypePointer;
|
||||
p: strutils.pstring;
|
||||
|
|
@ -51,6 +51,7 @@ BEGIN
|
|||
v := values.GetString(values, i);
|
||||
IF k^ = vpkSettings.rmtTypKey THEN COPY(v^, type) END;
|
||||
IF k^ = vpkSettings.rmtTreeKey THEN COPY(v^, URI) END;
|
||||
IF k^ = vpkSettings.rmtTreeBranchKey THEN COPY(v^, branch) END;
|
||||
INC(i);
|
||||
UNTIL i = keys.Count - 1;
|
||||
ELSE
|
||||
|
|
|
|||
|
|
@ -10,18 +10,19 @@ CONST
|
|||
|
||||
graphName* = "deps.dot";
|
||||
|
||||
rmtType* = "Remote";
|
||||
rmtTypKey* = "type";
|
||||
rmtTypGitVal* = "git";
|
||||
rmtTypHttpVal* = "http";
|
||||
rmtTypHttpsVal* = "https";
|
||||
rmtTypGemiVal* = "gemini";
|
||||
rmtTreeKey* = "path";
|
||||
bldType* = "Build";
|
||||
(*defTreeVal* = "https://github.com/vishaps/vipackTree";*)
|
||||
defTreeVal* = "git@github.com:vishaps/vipackTree";
|
||||
confTreeVal* = defTreeVal;
|
||||
defTypVal* = rmtTypGitVal;
|
||||
rmtType* = "Remote";
|
||||
rmtTypKey* = "type";
|
||||
rmtTypGitVal* = "git";
|
||||
rmtTypHttpVal* = "http";
|
||||
rmtTypHttpsVal* = "https";
|
||||
rmtTypGemiVal* = "gemini";
|
||||
rmtTreeKey* = "path";
|
||||
rmtTreeBranchKey* = "branch";
|
||||
bldType* = "Build";
|
||||
(*defTreeVal* = "https://github.com/vishaps/vipackTree";*)
|
||||
defTreeVal* = "git@github.com:vishaps/vipackTree";
|
||||
confTreeVal* = defTreeVal;
|
||||
defTypVal* = rmtTypGitVal;
|
||||
|
||||
pkgTypKey* = "Package";
|
||||
depTypKey* = "Dependencies";
|
||||
|
|
@ -38,7 +39,8 @@ CONST
|
|||
TYPE
|
||||
tree* = RECORD
|
||||
url* : ARRAY 128 OF CHAR;
|
||||
typ* : SHORTINT
|
||||
typ* : SHORTINT;
|
||||
branch*: ARRAY 128 OF CHAR;
|
||||
END;
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -16,13 +16,13 @@ BEGIN
|
|||
(* Syncing *)
|
||||
vpkConf.getConfigTreeVal(tree);
|
||||
IF tree.typ = vpkSettings.git THEN
|
||||
vpkGit.syncTree(tree.url)
|
||||
vpkGit.syncTree(tree.url, tree.branch)
|
||||
ELSE
|
||||
Out.String("TODO: not a git url"); Out.Ln
|
||||
END;
|
||||
END sync;
|
||||
|
||||
PROCEDURE fetch*(name, url, typ, dst: ARRAY OF CHAR);
|
||||
PROCEDURE fetch*(name, url, typ, dst, branch: ARRAY OF CHAR);
|
||||
BEGIN
|
||||
IF dst = "" THEN
|
||||
vpkEnv.mkdefPkgDirPath(name, dst);
|
||||
|
|
@ -31,7 +31,7 @@ BEGIN
|
|||
END;
|
||||
|
||||
IF typ = vpkSettings.rmtTypGitVal THEN
|
||||
vpkGit.fetchRepo(url, dst);
|
||||
vpkGit.fetchRepo(url, dst, branch);
|
||||
ELSE
|
||||
Out.String("TODO: not a git url"); Out.Ln
|
||||
END
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue