mirror of
https://github.com/vishapoberon/vipak.git
synced 2026-04-05 20:42:26 +00:00
old unnecessary files removed.
This commit is contained in:
parent
049495a336
commit
3d0d443d7b
4 changed files with 0 additions and 489 deletions
|
|
@ -1,116 +0,0 @@
|
||||||
MODULE vpkDependencyResolver;
|
|
||||||
IMPORT vpkJsonParser, vpkSettings, vpkPackageResolver, Strings, vpkLogger;
|
|
||||||
|
|
||||||
CONST ArrayMaxNumber = 30;
|
|
||||||
|
|
||||||
VAR
|
|
||||||
moduleNames: ARRAY ArrayMaxNumber OF vpkJsonParser.TString;
|
|
||||||
moduleJson: ARRAY ArrayMaxNumber OF vpkJsonParser.TString;
|
|
||||||
moduleVersions: ARRAY ArrayMaxNumber OF vpkJsonParser.TString;
|
|
||||||
|
|
||||||
j : LONGINT;
|
|
||||||
|
|
||||||
PROCEDURE ResolveVersionFiles *(jsonString: ARRAY OF CHAR);
|
|
||||||
VAR
|
|
||||||
jsonRecord, dependencies: vpkJsonParser.JsonTypePointer;
|
|
||||||
keyFound: BOOLEAN;
|
|
||||||
packageName, version, filePath: ARRAY 32 OF CHAR;
|
|
||||||
returnedJSON: vpkJsonParser.TString;
|
|
||||||
keys: ARRAY ArrayMaxNumber OF vpkJsonParser.TString;
|
|
||||||
i, k : LONGINT;
|
|
||||||
BEGIN
|
|
||||||
jsonRecord := vpkJsonParser.Create(jsonString);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Package", packageName);
|
|
||||||
IF keyFound THEN
|
|
||||||
vpkLogger.Log("Parsing package by name");
|
|
||||||
vpkLogger.Log(packageName);
|
|
||||||
vpkLogger.Log("------------------------");
|
|
||||||
ELSE vpkLogger.Log("Value for the Key is not found"); RETURN; END;
|
|
||||||
|
|
||||||
dependencies := jsonRecord.GetNonTerminal(jsonRecord, "Dependencies");
|
|
||||||
|
|
||||||
IF dependencies = NIL THEN
|
|
||||||
vpkLogger.Log("Parsing package by name");
|
|
||||||
vpkLogger.Log(packageName);
|
|
||||||
vpkLogger.Log("Error");
|
|
||||||
vpkLogger.Log("No dependency");
|
|
||||||
vpkLogger.Log("------------------------");
|
|
||||||
END;
|
|
||||||
|
|
||||||
dependencies.GetTerminalKeys(dependencies, keys);
|
|
||||||
|
|
||||||
FOR i := 0 TO dependencies.TerminalNumber - 1 DO (* TODO: rewrite with working getter everywhere*)
|
|
||||||
keyFound := dependencies.GetTerminal(dependencies, keys[i], version);
|
|
||||||
|
|
||||||
IF ~keyFound THEN vpkLogger.Log('ERROR while searching key'); vpkLogger.Log(keys[i]); END;
|
|
||||||
ASSERT(keyFound);
|
|
||||||
|
|
||||||
COPY("", filePath);
|
|
||||||
Strings.Append("/", filePath);
|
|
||||||
Strings.Append(keys[i], filePath);
|
|
||||||
Strings.Append("/", filePath);
|
|
||||||
Strings.Append(version, filePath);
|
|
||||||
Strings.Append("/", filePath);
|
|
||||||
Strings.Append(vpkSettings.packageFileName, filePath);
|
|
||||||
|
|
||||||
vpkJsonParser.Empty(returnedJSON);
|
|
||||||
|
|
||||||
vpkPackageResolver.ResolveFile(
|
|
||||||
vpkSettings.host,
|
|
||||||
vpkSettings.port,
|
|
||||||
filePath,
|
|
||||||
keys[i],
|
|
||||||
vpkSettings.packageFileName,
|
|
||||||
returnedJSON
|
|
||||||
);
|
|
||||||
|
|
||||||
keyFound := FALSE;
|
|
||||||
IF j >= LEN(moduleNames) THEN
|
|
||||||
vpkLogger.Log("Out of range in ResolveVersionFiles function in ...");
|
|
||||||
END;
|
|
||||||
ASSERT(j < LEN(moduleNames));
|
|
||||||
|
|
||||||
FOR k := 0 TO j - 1 DO
|
|
||||||
IF Strings.Match(moduleNames[k], keys[i]) THEN
|
|
||||||
keyFound := TRUE;
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
|
|
||||||
|
|
||||||
IF ~keyFound THEN
|
|
||||||
COPY(keys[i], moduleNames[j]);
|
|
||||||
COPY(version, moduleVersions[j]);
|
|
||||||
COPY(returnedJSON, moduleJson[j]);
|
|
||||||
INC(j);
|
|
||||||
ResolveVersionFiles(returnedJSON);
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
END ResolveVersionFiles;
|
|
||||||
|
|
||||||
PROCEDURE ResolvePackages*();
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
keyFound: BOOLEAN;
|
|
||||||
jsonRecord, filesRecord: vpkJsonParser.JsonTypePointer;
|
|
||||||
values: ARRAY 10 OF vpkJsonParser.TString;
|
|
||||||
host, port, path, packageName, version: ARRAY 50 OF CHAR;
|
|
||||||
BEGIN
|
|
||||||
FOR i := 0 TO j - 1 DO
|
|
||||||
jsonRecord := vpkJsonParser.Create(moduleJson[i]);
|
|
||||||
filesRecord := jsonRecord.GetNonTerminal(jsonRecord, "Files");
|
|
||||||
|
|
||||||
IF filesRecord = NIL THEN
|
|
||||||
vpkLogger.Log("Error: no files section found");
|
|
||||||
END;
|
|
||||||
|
|
||||||
ASSERT(filesRecord # NIL);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Remote", host);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Port", port);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Path", path);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Package", packageName);
|
|
||||||
keyFound := jsonRecord.GetTerminal(jsonRecord, "Version", version);
|
|
||||||
vpkPackageResolver.Resolve(host, port, path, packageName, version, filesRecord.TerminalValues); (* TODO: filesRecord.TerminalValues create working getter for this*)
|
|
||||||
END;
|
|
||||||
END ResolvePackages;
|
|
||||||
|
|
||||||
END vpkDependencyResolver.
|
|
||||||
|
|
@ -1,34 +0,0 @@
|
||||||
MODULE vpkInstaller;
|
|
||||||
IMPORT
|
|
||||||
vpkJsonParser,
|
|
||||||
vpkFileManager,
|
|
||||||
vpkHttp,
|
|
||||||
vpkLogger,
|
|
||||||
vpkDependencyResolver,
|
|
||||||
vpkSettings;
|
|
||||||
CONST
|
|
||||||
MAXARRAYNUMBER = 1000;
|
|
||||||
PROCEDURE install*;
|
|
||||||
VAR
|
|
||||||
jsonData: ARRAY MAXARRAYNUMBER OF CHAR;
|
|
||||||
success: BOOLEAN;
|
|
||||||
BEGIN
|
|
||||||
vpkLogger.Log("Starting install process");
|
|
||||||
success := vpkFileManager.fileToString(vpkSettings.packageFileName, jsonData);
|
|
||||||
|
|
||||||
IF ~success THEN vpkLogger.Log("Some ERROR occured while reading VERSIONFILE") END;
|
|
||||||
ASSERT(success);
|
|
||||||
|
|
||||||
vpkLogger.Log("Starting resolving dependencies");
|
|
||||||
|
|
||||||
vpkDependencyResolver.ResolveVersionFiles(jsonData);
|
|
||||||
vpkDependencyResolver.ResolvePackages();
|
|
||||||
vpkLogger.Log("======================");
|
|
||||||
vpkLogger.Log("======================");
|
|
||||||
vpkLogger.Log("Installation complete");
|
|
||||||
vpkLogger.Log("Thanks for using OPIUM!");
|
|
||||||
END install;
|
|
||||||
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
END vpkInstaller.
|
|
||||||
|
|
@ -1,289 +0,0 @@
|
||||||
MODULE vpkJsonParser;
|
|
||||||
IMPORT vpkLogger, vpkCharacterStack, Strings, strUtils, vpkSettings, StringList;
|
|
||||||
CONST
|
|
||||||
ArrayMaxNumber = 30;
|
|
||||||
ArrayMaxNumberChar = 2000;
|
|
||||||
(* Const *)
|
|
||||||
symbolBracketStart = "{";
|
|
||||||
symbolBracketEnd = "}";
|
|
||||||
(* TODO: Reverse " and ' *)
|
|
||||||
quote = '"';
|
|
||||||
coma = ",";
|
|
||||||
TYPE
|
|
||||||
TString* = ARRAY ArrayMaxNumberChar OF CHAR;
|
|
||||||
|
|
||||||
JsonTypePointer* = POINTER TO JsonType;
|
|
||||||
|
|
||||||
JsonType* = RECORD
|
|
||||||
GetTerminal* : PROCEDURE(self : JsonTypePointer; string : ARRAY OF CHAR; VAR returnValue : ARRAY OF CHAR): BOOLEAN;
|
|
||||||
GetNonTerminal* : PROCEDURE(self : JsonTypePointer; key : ARRAY OF CHAR): JsonTypePointer;
|
|
||||||
HasKey* : PROCEDURE(self : JsonTypePointer; key : ARRAY OF CHAR): BOOLEAN;
|
|
||||||
TypeOfTheKey* : PROCEDURE(self : JsonTypePointer; key : ARRAY OF CHAR; VAR returnValue : ARRAY OF CHAR);
|
|
||||||
GetTerminalKeys* : PROCEDURE(self : JsonTypePointer; VAR destination : StringList.TStringList);
|
|
||||||
GetTerminalValues* : PROCEDURE(self : JsonTypePointer; VAR destination : StringList.TStringList);
|
|
||||||
GetNoneTerminalKeys* : PROCEDURE(self : JsonTypePointer; VAR destination : ARRAY OF TString);
|
|
||||||
GetTerminalNumber* : PROCEDURE(self : JsonTypePointer): LONGINT;
|
|
||||||
GetNonTerminalNumber* : PROCEDURE(self : JsonTypePointer): LONGINT;
|
|
||||||
|
|
||||||
TerminalKeys : ARRAY ArrayMaxNumber OF TString;
|
|
||||||
TerminalValues* : ARRAY ArrayMaxNumber OF TString;
|
|
||||||
TerminalNumber* : LONGINT;
|
|
||||||
|
|
||||||
NonTerminalKeys : ARRAY ArrayMaxNumber OF TString;
|
|
||||||
NonTerminalValues : POINTER TO ARRAY OF JsonTypePointer;
|
|
||||||
NonTerminalNumber* : LONGINT;
|
|
||||||
END;
|
|
||||||
|
|
||||||
VAR
|
|
||||||
jsonRecord: JsonTypePointer;
|
|
||||||
testValue: ARRAY ArrayMaxNumber OF CHAR;
|
|
||||||
keyFound: BOOLEAN;
|
|
||||||
|
|
||||||
PROCEDURE GetTerminalNumber*(self : JsonTypePointer): LONGINT;
|
|
||||||
BEGIN RETURN self.TerminalNumber END GetTerminalNumber;
|
|
||||||
|
|
||||||
PROCEDURE GetNonTerminalNumber*(self : JsonTypePointer): LONGINT;
|
|
||||||
BEGIN RETURN self.NonTerminalNumber END GetNonTerminalNumber;
|
|
||||||
|
|
||||||
PROCEDURE GetNonTerminal(self : JsonTypePointer; key : ARRAY OF CHAR): JsonTypePointer;
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
FOR i := 0 TO self.NonTerminalNumber - 1 DO
|
|
||||||
IF Strings.Match(key, self.NonTerminalKeys[i]) THEN RETURN self.NonTerminalValues[i] END;
|
|
||||||
END;
|
|
||||||
|
|
||||||
RETURN NIL;
|
|
||||||
END GetNonTerminal;
|
|
||||||
|
|
||||||
PROCEDURE Empty *(VAR string: ARRAY OF CHAR);
|
|
||||||
VAR
|
|
||||||
i : LONGINT;
|
|
||||||
BEGIN
|
|
||||||
FOR i := 0 TO LEN(string) - 1 DO string[i] := 0X END;
|
|
||||||
COPY("", string);
|
|
||||||
END Empty;
|
|
||||||
|
|
||||||
PROCEDURE GetTerminal *(self: JsonTypePointer; key: ARRAY OF CHAR; VAR returnValue: ARRAY OF CHAR): BOOLEAN;
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
noneTerminal: JsonTypePointer;
|
|
||||||
strings: strUtils.pstrings;
|
|
||||||
parent, children: ARRAY ArrayMaxNumber OF CHAR;
|
|
||||||
BEGIN
|
|
||||||
|
|
||||||
FOR i := 0 TO self.TerminalNumber DO
|
|
||||||
IF Strings.Match(key, self.TerminalKeys[i]) THEN COPY(self.TerminalValues[i], returnValue); RETURN TRUE END;
|
|
||||||
END;
|
|
||||||
|
|
||||||
strings := strUtils.tokenize(key, '.');
|
|
||||||
|
|
||||||
IF LEN(strings^) < 1 THEN RETURN FALSE END;
|
|
||||||
|
|
||||||
COPY(strings^[0]^, parent);
|
|
||||||
|
|
||||||
IF Strings.Length(parent) < 1 THEN RETURN FALSE END;
|
|
||||||
|
|
||||||
noneTerminal := self.GetNonTerminal(self, parent);
|
|
||||||
|
|
||||||
IF noneTerminal = NIL THEN RETURN FALSE END;
|
|
||||||
|
|
||||||
FOR i := 1 TO LEN(strings^) - 1 DO
|
|
||||||
Strings.Append(strings^[i]^, children);
|
|
||||||
IF i < LEN(strings^) - 1 THEN
|
|
||||||
Strings.Append(".", children);
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
|
|
||||||
RETURN noneTerminal.GetTerminal(noneTerminal, children, returnValue);
|
|
||||||
|
|
||||||
RETURN FALSE;
|
|
||||||
END GetTerminal;
|
|
||||||
|
|
||||||
PROCEDURE GetTerminalKeys(self : JsonTypePointer; VAR destination : StringList.TStringList);
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
IF destination = NIL THEN destination := StringList.Create() END;
|
|
||||||
FOR i := 0 TO self.TerminalNumber DO
|
|
||||||
destination.AppendString(destination, self.TerminalKeys[i]);
|
|
||||||
END;
|
|
||||||
END GetTerminalKeys;
|
|
||||||
|
|
||||||
PROCEDURE GetTerminalValues(self : JsonTypePointer; VAR destination : StringList.TStringList);
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
IF destination = NIL THEN destination := StringList.Create() END;
|
|
||||||
FOR i := 0 TO self.TerminalNumber - 1 DO
|
|
||||||
destination.AppendString(destination, self.TerminalValues[i]);
|
|
||||||
END;
|
|
||||||
END GetTerminalValues;
|
|
||||||
|
|
||||||
PROCEDURE GetNoneTerminalKeys(self : JsonTypePointer; VAR destination : ARRAY OF TString);
|
|
||||||
VAR
|
|
||||||
i: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
FOR i := 0 TO self.NonTerminalNumber - 1 DO
|
|
||||||
destination[i] := self.NonTerminalKeys[i];
|
|
||||||
END;
|
|
||||||
END GetNoneTerminalKeys;
|
|
||||||
(*
|
|
||||||
TODO:
|
|
||||||
Create a good validation for comas
|
|
||||||
Create a good validation for name repetition
|
|
||||||
*)
|
|
||||||
|
|
||||||
PROCEDURE PushDownString(
|
|
||||||
string: ARRAY OF CHAR;
|
|
||||||
startCharacter: CHAR;
|
|
||||||
endCharacter: CHAR;
|
|
||||||
i: LONGINT;
|
|
||||||
VAR returnString: ARRAY OF CHAR): LONGINT;
|
|
||||||
VAR
|
|
||||||
characterStack: vpkCharacterStack.CharacterStackType;
|
|
||||||
j , k: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
NEW(characterStack);
|
|
||||||
j := i;
|
|
||||||
characterStack := vpkCharacterStack.Create();
|
|
||||||
Empty(returnString);
|
|
||||||
REPEAT
|
|
||||||
IF (characterStack.Count > 1) & (string[j] = endCharacter) THEN
|
|
||||||
REPEAT UNTIL characterStack.pop(characterStack) = startCharacter;
|
|
||||||
ELSE
|
|
||||||
characterStack.push(characterStack, string[j]);
|
|
||||||
INC(j);
|
|
||||||
END;
|
|
||||||
UNTIL characterStack.Count = 0; (* do not trust top it btings OAX on EOL*)
|
|
||||||
|
|
||||||
IF j >= LEN(returnString) THEN
|
|
||||||
vpkLogger.Log('ERROR string out of range in JSON parser');
|
|
||||||
END;
|
|
||||||
ASSERT(j < LEN(returnString));
|
|
||||||
|
|
||||||
FOR k := i TO j DO
|
|
||||||
returnString[k - i] := string[k];
|
|
||||||
END;
|
|
||||||
|
|
||||||
RETURN j; (* returning next symbol of quote *)
|
|
||||||
END PushDownString;
|
|
||||||
|
|
||||||
PROCEDURE deQuote(text: ARRAY OF CHAR; VAR result: ARRAY OF CHAR);
|
|
||||||
VAR
|
|
||||||
i, j: LONGINT;
|
|
||||||
BEGIN
|
|
||||||
j := 0;
|
|
||||||
FOR i := 0 TO Strings.Length(text) DO
|
|
||||||
IF text[i] # quote THEN
|
|
||||||
result[j] := text[i];
|
|
||||||
INC(j);
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
END deQuote;
|
|
||||||
|
|
||||||
PROCEDURE Create*(text: ARRAY OF CHAR): JsonTypePointer;
|
|
||||||
VAR
|
|
||||||
self: JsonTypePointer;
|
|
||||||
i, j, terminalIterator, noneTerminalIterator: LONGINT;
|
|
||||||
characterStack: vpkCharacterStack.CharacterStackType;
|
|
||||||
key, val, nonTerminalVal, string: ARRAY ArrayMaxNumberChar OF CHAR;
|
|
||||||
symbol: CHAR;
|
|
||||||
symbolStart: CHAR;
|
|
||||||
quoteStart: BOOLEAN;
|
|
||||||
BEGIN
|
|
||||||
NEW(self);
|
|
||||||
NEW(self.NonTerminalValues, ArrayMaxNumber);
|
|
||||||
self.GetTerminal := GetTerminal;
|
|
||||||
self.GetNonTerminal := GetNonTerminal;
|
|
||||||
self.GetTerminalKeys := GetTerminalKeys;
|
|
||||||
self.GetTerminalValues := GetTerminalValues;
|
|
||||||
self.GetNoneTerminalKeys := GetNoneTerminalKeys;
|
|
||||||
NEW(characterStack);
|
|
||||||
characterStack := vpkCharacterStack.Create();
|
|
||||||
|
|
||||||
i := 0;
|
|
||||||
j := 0;
|
|
||||||
terminalIterator := 0;
|
|
||||||
noneTerminalIterator := 0;
|
|
||||||
|
|
||||||
Empty(key);
|
|
||||||
Empty(val);
|
|
||||||
Empty(nonTerminalVal);
|
|
||||||
Empty(string);
|
|
||||||
|
|
||||||
quoteStart := FALSE;
|
|
||||||
|
|
||||||
REPEAT
|
|
||||||
IF (text[i] = symbolBracketStart) & (i = 0) THEN
|
|
||||||
INC(i);
|
|
||||||
(* Logger.Log("Starting Parse Json"); *)
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF symbol = symbolBracketStart THEN
|
|
||||||
(* Logger.Log("End Parsing Json"); *)
|
|
||||||
END;
|
|
||||||
symbol := text[i];
|
|
||||||
|
|
||||||
(* Logger.LogIntLn(i); *)
|
|
||||||
(* IF i > 508 THEN
|
|
||||||
Logger.Log(text);
|
|
||||||
END; *)
|
|
||||||
(* terminals *)
|
|
||||||
IF symbol = quote THEN
|
|
||||||
i := PushDownString(text, quote, quote, i, string);
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF (Strings.Length(string) > 0) & (symbol = quote) THEN
|
|
||||||
IF Strings.Length(key) > 0 THEN
|
|
||||||
COPY(string, val);
|
|
||||||
ELSE
|
|
||||||
COPY(string, key);
|
|
||||||
END;
|
|
||||||
|
|
||||||
Empty(string);
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF (Strings.Length(key) > 0) & (Strings.Length(val) > 0) THEN
|
|
||||||
deQuote(key, self.TerminalKeys[terminalIterator]);
|
|
||||||
deQuote(val, self.TerminalValues[terminalIterator]);
|
|
||||||
|
|
||||||
INC(terminalIterator);
|
|
||||||
|
|
||||||
Empty(key);
|
|
||||||
Empty(val);
|
|
||||||
END;
|
|
||||||
|
|
||||||
(* none terminals *)
|
|
||||||
IF symbol = symbolBracketStart THEN
|
|
||||||
i := PushDownString(text, symbolBracketStart, symbolBracketEnd, i, string);
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF (Strings.Length(string) > 0) & (symbol = symbolBracketStart) THEN
|
|
||||||
IF Strings.Length(key) > 0 THEN
|
|
||||||
COPY(string, nonTerminalVal);
|
|
||||||
END;
|
|
||||||
|
|
||||||
Empty(string);
|
|
||||||
END;
|
|
||||||
|
|
||||||
IF (Strings.Length(key) > 0) & (Strings.Length(nonTerminalVal) > 0) THEN
|
|
||||||
deQuote(key, self.NonTerminalKeys[noneTerminalIterator]);
|
|
||||||
self.NonTerminalValues[noneTerminalIterator] := Create(nonTerminalVal);
|
|
||||||
|
|
||||||
INC(noneTerminalIterator);
|
|
||||||
|
|
||||||
Empty(key);
|
|
||||||
Empty(nonTerminalVal);
|
|
||||||
END;
|
|
||||||
|
|
||||||
INC(i);
|
|
||||||
UNTIL (i >= LEN(text) - 1) OR (text[i] = 0X);
|
|
||||||
|
|
||||||
self.NonTerminalNumber := noneTerminalIterator;
|
|
||||||
self.TerminalNumber := terminalIterator;
|
|
||||||
|
|
||||||
RETURN self;
|
|
||||||
END Create;
|
|
||||||
|
|
||||||
END vpkJsonParser.
|
|
||||||
|
|
@ -1,50 +0,0 @@
|
||||||
MODULE vpkPackageResolver;
|
|
||||||
IMPORT vpkStorage, vpkHttp, Strings, vpkLogger, vpkSettings, vpkJsonParser;
|
|
||||||
|
|
||||||
CONST ArrayMaxNumber = 1000;
|
|
||||||
|
|
||||||
PROCEDURE ResolveFile *(host, port, path, packageName, fileName : ARRAY OF CHAR; VAR returnValue : ARRAY OF CHAR);
|
|
||||||
VAR
|
|
||||||
localPath: ARRAY ArrayMaxNumber OF CHAR;
|
|
||||||
isSuccessfull: BOOLEAN;
|
|
||||||
BEGIN
|
|
||||||
vpkLogger.Log('path');
|
|
||||||
vpkLogger.Log(path);
|
|
||||||
vpkHttp.get(host, port, path, returnValue);
|
|
||||||
vpkHttp.getClean(returnValue, returnValue);
|
|
||||||
isSuccessfull := vpkStorage.createDir(packageName, vpkSettings.installPath);
|
|
||||||
|
|
||||||
IF ~isSuccessfull THEN vpkLogger.Log("Something went wrong, while downloading files") END;
|
|
||||||
ASSERT(isSuccessfull);
|
|
||||||
vpkLogger.Log(path);
|
|
||||||
|
|
||||||
vpkLogger.Log(packageName);
|
|
||||||
COPY(vpkSettings.installPath, localPath);
|
|
||||||
|
|
||||||
Strings.Append("/", localPath);
|
|
||||||
Strings.Append(packageName, localPath);
|
|
||||||
Strings.Append("/", localPath);
|
|
||||||
Strings.Append(fileName, localPath);
|
|
||||||
|
|
||||||
isSuccessfull := vpkStorage.stringToFile(localPath, returnValue);
|
|
||||||
|
|
||||||
END ResolveFile;
|
|
||||||
|
|
||||||
PROCEDURE Resolve *(host, port, path, packageName, version: ARRAY OF CHAR; files: ARRAY OF vpkJsonParser.TString);
|
|
||||||
VAR
|
|
||||||
i : LONGINT;
|
|
||||||
helperString: ARRAY 10000 OF CHAR;
|
|
||||||
BEGIN
|
|
||||||
Strings.Append("/", path);
|
|
||||||
FOR i := 0 TO LEN(files) - 1 DO
|
|
||||||
IF ~Strings.Match(files[i], "") THEN
|
|
||||||
vpkJsonParser.Empty(helperString);
|
|
||||||
COPY(path, helperString);
|
|
||||||
Strings.Append(files[i], helperString);
|
|
||||||
|
|
||||||
ResolveFile(host, port, helperString, packageName, files[i], helperString);
|
|
||||||
END;
|
|
||||||
END;
|
|
||||||
END Resolve;
|
|
||||||
|
|
||||||
END vpkPackageResolver.
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue