|
|
|
@ -1,6 +1,7 @@ |
|
|
|
|
import("core.package.package") |
|
|
|
|
import("core.base.semver") |
|
|
|
|
import("core.base.hashset") |
|
|
|
|
import("devel.git") |
|
|
|
|
import("packages", {alias = "packages_util"}) |
|
|
|
|
|
|
|
|
|
function _load_package(packagename, packagedir, packagefile) |
|
|
|
@ -46,8 +47,18 @@ function _update_version(instance, version, shasum) |
|
|
|
|
os.vexec("git pull %s dev", repourl) |
|
|
|
|
os.vexec("git branch %s", branch) |
|
|
|
|
os.vexec("git checkout %s", branch) |
|
|
|
|
local is_pending = false |
|
|
|
|
local remote_branches = os.iorun("git ls-remote --head %s", repourl) |
|
|
|
|
if remote_branches then |
|
|
|
|
for _, remote_branch in ipairs(remote_branches:split("\n")) do |
|
|
|
|
if remote_branch == "refs/heads/" .. branch then |
|
|
|
|
is_pending = true |
|
|
|
|
break |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
local scriptfile = path.join(instance:scriptdir(), "xmake.lua") |
|
|
|
|
if os.isfile(scriptfile) then |
|
|
|
|
if os.isfile(scriptfile) and not is_pending then |
|
|
|
|
local inserted = false |
|
|
|
|
local version_current |
|
|
|
|
io.gsub(scriptfile, "add_versions%(\"(.-)\",%s+\"(.-)\"%)", function (v, h) |
|
|
|
|