|
|
@ -1,45 +1,54 @@ |
|
|
|
import os |
|
|
|
import os |
|
|
|
import json |
|
|
|
import json |
|
|
|
|
|
|
|
import Command |
|
|
|
|
|
|
|
|
|
|
|
def add(author, package: str) -> None: |
|
|
|
def add(author, package) -> None: |
|
|
|
f_conf = open("./config.json", "r") |
|
|
|
f_conf = open("./config.json", "r") |
|
|
|
conf = json.loads(f_conf.read()) |
|
|
|
conf = json.loads(f_conf.read()) |
|
|
|
f_conf.close() |
|
|
|
f_conf.close() |
|
|
|
if package in conf["packages"]: raise Exception("Package already added") |
|
|
|
if package in conf["packages"]: raise Exception("Package already added") |
|
|
|
f_conf = open("./config.json", "w") |
|
|
|
f_conf = open("./config.json", "w") |
|
|
|
conf["packages"].append({ "author": author, "pkg": package}) |
|
|
|
conf["packages"].append({ "author": author, "name": package}) |
|
|
|
f_conf.write(json.dumps(conf, indent=4)) |
|
|
|
f_conf.write(json.dumps(conf, indent=4)) |
|
|
|
f_conf.close() |
|
|
|
f_conf.close() |
|
|
|
|
|
|
|
|
|
|
|
install(author, package) |
|
|
|
install(author, package) |
|
|
|
|
|
|
|
|
|
|
|
def install_root() -> None: |
|
|
|
def install_root() -> None: |
|
|
|
|
|
|
|
if not os.path.exists("./config.json"): |
|
|
|
|
|
|
|
raise Exception("No package config file") |
|
|
|
f_conf = open("./config.json", "r") |
|
|
|
f_conf = open("./config.json", "r") |
|
|
|
conf = json.loads(f_conf.read()) |
|
|
|
conf = json.loads(f_conf.read()) |
|
|
|
f_conf.close() |
|
|
|
f_conf.close() |
|
|
|
for package in conf["packages"]: |
|
|
|
for pkg in conf["packages"]: |
|
|
|
install(package) |
|
|
|
install(pkg["author"], pkg["name"]) |
|
|
|
|
|
|
|
|
|
|
|
def install(author, package) -> None: |
|
|
|
def install(author, package) -> None: |
|
|
|
if os.path.exists(f"./vendor/{package}"): |
|
|
|
if os.path.exists(f"./vendor/{package}"): |
|
|
|
return |
|
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
os.system(f"git clone https://github.com/{author}/{package} ./vendor/{package}") |
|
|
|
Command.exec(f"git clone https://github.com/{author}/{package} ./vendor/{package}") |
|
|
|
|
|
|
|
|
|
|
|
if os.path.exists(f"./vendor/{package}/config.json"): |
|
|
|
if os.path.exists(f"./vendor/{package}/config.json"): |
|
|
|
conf = open(f"./vendor/{package}/config.json", "r").read() |
|
|
|
conf = open(f"./vendor/{package}/config.json", "r").read() |
|
|
|
conf = json.loads(conf) |
|
|
|
conf = json.loads(conf) |
|
|
|
if len(conf["packages"]) > 0: |
|
|
|
if len(conf["packages"]) > 0: |
|
|
|
for pkg in conf["packages"]: |
|
|
|
for pkg in conf["packages"]: |
|
|
|
install(pkg["author"], pkg["pkg"]) |
|
|
|
install(pkg["author"], pkg["name"]) |
|
|
|
|
|
|
|
|
|
|
|
if os.path.exists(f"./vendor/{package}/dependencies.lua"): |
|
|
|
if os.path.exists(f"./vendor/{package}/dependencies.lua"): |
|
|
|
dep = open(f"./vendor/{package}/dependencies.lua", "r") |
|
|
|
dep = open(f"./vendor/{package}/dependencies.lua", "r") |
|
|
|
pkg_deps = dep.read() |
|
|
|
pkg_deps = dep.read() |
|
|
|
dep.close() |
|
|
|
dep.close() |
|
|
|
dep = open(f"./deps.lua", "a") |
|
|
|
if not os.path.exists("./deps.lua"): |
|
|
|
dep.write("\n" + pkg_deps) |
|
|
|
dep = open("./deps.lua", "w") |
|
|
|
dep.close() |
|
|
|
dep.write("IncludeDirs = {}") |
|
|
|
|
|
|
|
dep.write("\n" + pkg_deps) |
|
|
|
|
|
|
|
dep.close() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
dep = open(f"./deps.lua", "a") |
|
|
|
|
|
|
|
dep.write("\n" + pkg_deps) |
|
|
|
|
|
|
|
dep.close() |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|