summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorruki <[email protected]>2018-08-28 22:36:39 +0800
committerruki <[email protected]>2018-08-28 09:39:57 +0800
commitb8d96694e9fae19c96a9579ccea4333522cc7f7f (patch)
treed87ce11fbabf583472ce600812781e7e149b284e
parent38af3ecd45ca1c806a584a9b49eb442e3ac21dcb (diff)
remote fetch git refs for require action
-rw-r--r--tests/projects/c/package/xmake.lua27
-rwxr-xr-xtests/projects/package/basic/src/main.c (renamed from tests/projects/c/package/src/main.c)0
-rw-r--r--tests/projects/package/basic/test.lua (renamed from tests/projects/c/package/test.lua)0
-rw-r--r--tests/projects/package/basic/xmake.lua19
-rw-r--r--xmake/actions/require/package.lua68
5 files changed, 20 insertions, 94 deletions
diff --git a/tests/projects/c/package/xmake.lua b/tests/projects/c/package/xmake.lua
deleted file mode 100644
index 3a787f313..000000000
--- a/tests/projects/c/package/xmake.lua
+++ /dev/null
@@ -1,27 +0,0 @@
-
--- define package
-package("zlib-pcre2")
- add_deps("zlib >=1.2.11", {system = false})
- add_deps("pcre2", {optional = true})
-package_end()
-
--- requires
-add_requires("zlib-pcre2")
-add_requires("[email protected] ~1.6.0", {alias = "tbox"})
-add_requires("unknown", {optional = true})
-
--- add modes
-add_rules("mode.debug", "mode.release")
-
--- add target
-target("console")
-
- -- set kind
- set_kind("binary")
-
- -- add files
- add_files("src/*.c")
-
- -- add packages
- add_packages("tbox", "zlib-mbedtls")
-
diff --git a/tests/projects/c/package/src/main.c b/tests/projects/package/basic/src/main.c
index 9ae580511..9ae580511 100755
--- a/tests/projects/c/package/src/main.c
+++ b/tests/projects/package/basic/src/main.c
diff --git a/tests/projects/c/package/test.lua b/tests/projects/package/basic/test.lua
index 2db93991f..2db93991f 100644
--- a/tests/projects/c/package/test.lua
+++ b/tests/projects/package/basic/test.lua
diff --git a/tests/projects/package/basic/xmake.lua b/tests/projects/package/basic/xmake.lua
new file mode 100644
index 000000000..098a04575
--- /dev/null
+++ b/tests/projects/package/basic/xmake.lua
@@ -0,0 +1,19 @@
+
+-- requires
+add_requires("zlib >=1.2.11", "tbox ~1.6.0", "pcre2")
+
+-- add modes
+add_rules("mode.debug", "mode.release")
+
+-- add target
+target("console")
+
+ -- set kind
+ set_kind("binary")
+
+ -- add files
+ add_files("src/*.c")
+
+ -- add packages
+ add_packages("tbox", "zlib", "pcre2")
+
diff --git a/xmake/actions/require/package.lua b/xmake/actions/require/package.lua
index c9c385298..3faf9bf41 100644
--- a/xmake/actions/require/package.lua
+++ b/xmake/actions/require/package.lua
@@ -307,63 +307,6 @@ function _load_packages(requires, requires_extra, parentinfo)
return packages
end
--- load all git refs from packages
-function _load_packages_gitrefs(packages)
-
- -- enter cache scope
- cache.enter("local.require")
-
- -- load cache
- local gitrefs = nil
- if option.get("force") then
- gitrefs = {}
- else
- gitrefs = cache.get("gitrefs") or {}
- end
-
- -- run tasks
- local results = {}
- process.runjobs(function (index)
- local package = packages[index]
- if package then
-
- -- attempt to get refs from cache first
- local refs = gitrefs[package:name()]
- if refs then
- results[package:name()] = {tags = refs.tags, branches = refs.branches}
- else
- -- attempt to get refs from the git url
- local tags = {}
- local branches = {}
- for _, url in ipairs(package:urls()) do
- if git.checkurl(url) then
-
- -- trace
- vprint("fetching refs for the git url ... %s", url)
-
- -- fetch refs
- tags, branches = git.refs(url)
-
- -- save result
- results[package:name()] = {tags = tags, branches = branches}
-
- -- cache result
- gitrefs[package:name()] = {tags = tags, branches = branches}
- break
- end
- end
- end
- end
- end, #packages)
-
- -- save cache
- cache.set("gitrefs", gitrefs)
- cache.flush()
-
- -- ok?
- return results
-end
-
-- sort packages urls
function _sort_packages_urls(packages)
@@ -381,23 +324,14 @@ end
-- select packages version
function _select_packages_version(packages)
- -- load git refs from packages
- local gitrefs = _load_packages_gitrefs(packages)
-
-- sort and update urls
for _, package in ipairs(packages) do
-- exists urls? otherwise be phony package (only as package group)
if #package:urls() > 0 then
- -- attempt to get tags and branches from the git url
- local refs = {}
- if gitrefs then
- refs = gitrefs[package:name()] or {}
- end
-
-- select package version
- local version, source = semver.select(package:requireinfo().version, package:versions(), refs.tags, refs.branches)
+ local version, source = semver.select(package:requireinfo().version, package:versions(), {}, {"master"})
-- save version to package
package:version_set(version, source)