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