1
0
mirror of https://github.com/natnat-mc/moonbuild synced 2026-05-28 18:49:40 +02:00

5 Commits

Author SHA1 Message Date
Codinget 77f73f3a21 Producing rockspec 2.1.3-1 2020-11-12 18:07:00 +01:00
Codinget 31fcc58ccd fix freeze with -j and sync targets 2020-11-12 18:06:41 +01:00
Codinget fcf7c3fa07 Producing rockspec 2.1.2-2 2020-11-09 19:53:43 +01:00
Codinget 88a8117f06 Producing rockspec 2.1.2-1 2020-11-09 19:53:14 +01:00
Codinget 69e781bc8f fix crash when multiple targets depend on the same target 2020-11-09 19:53:05 +01:00
6 changed files with 80 additions and 4 deletions
+2 -1
View File
@@ -34,6 +34,7 @@ transclosure = (obj, prop) ->
i = 1 i = 1
set = {} set = {}
imp = (e) -> imp = (e) ->
return unless e[prop]
for v in *e[prop] for v in *e[prop]
if not set[v] if not set[v]
elems[i], i = v, i+1 elems[i], i = v, i+1
@@ -122,7 +123,7 @@ class DepNode
return false return false
for file in *@ins for file in *@ins
if not exists file if not exists file
error "Node #{name} has ran all of its parents, but can't run since #{file} doesn't exist" error "Node #{@name} has ran all of its parents, but can't run since #{file} doesn't exist. Did you mean to use after instead of depends?"
return true return true
build: (opts={}) => build: (opts={}) =>
+1 -1
View File
@@ -39,7 +39,7 @@ class Executor
addprocess: (node, opts) => addprocess: (node, opts) =>
if node.sync if node.sync
while @nprocesses != 0 while @nprocesses != 0
@waitprocess @waitprocess!
node\build opts node\build opts
node.built = true node.built = true
node\updatecache! node\updatecache!
+5 -2
View File
@@ -1695,6 +1695,9 @@ transclosure = function(obj, prop)
local set = { } local set = { }
local imp local imp
imp = function(e) imp = function(e)
if not (e[prop]) then
return
end
local _list_0 = e[prop] local _list_0 = e[prop]
for _index_0 = 1, #_list_0 do for _index_0 = 1, #_list_0 do
local v = _list_0[_index_0] local v = _list_0[_index_0]
@@ -1818,7 +1821,7 @@ do
for _index_0 = 1, #_list_1 do for _index_0 = 1, #_list_1 do
local file = _list_1[_index_0] local file = _list_1[_index_0]
if not exists(file) then if not exists(file) then
error("Node " .. tostring(name) .. " has ran all of its parents, but can't run since " .. tostring(file) .. " doesn't exist") error("Node " .. tostring(self.name) .. " has ran all of its parents, but can't run since " .. tostring(file) .. " doesn't exist. Did you mean to use after instead of depends?")
end end
end end
return true return true
@@ -2256,7 +2259,7 @@ do
addprocess = function(self, node, opts) addprocess = function(self, node, opts)
if node.sync then if node.sync then
while self.nprocesses ~= 0 do while self.nprocesses ~= 0 do
local _ = self.waitprocess self:waitprocess()
end end
node:build(opts) node:build(opts)
node.built = true node.built = true
+24
View File
@@ -0,0 +1,24 @@
build = {
install = {
bin = {
moonbuild = "out/moonbuild"
}
},
type = "builtin"
}
dependencies = {
"lua >= 5.1",
"argparse >= 0.7.1-1",
"moonscript >= 0.5.0-1"
}
description = {
detailed = "moonbuild is a small build system that simplifies your build definitions by allowing you to use declarative as well as imperative rules. It represents the build as a DAG with explicit ordering, and doesn't give you any default confusing rules (unlike make). If you can, installing luaposix and/or luafilesystem will speed up builds and increase stability.\n",
summary = "Small build system in between make and a build.sh"
}
package = "moonbuild"
rockspec_format = "3.0"
source = {
tag = "v2.1.2",
url = "git://github.com/natnat-mc/moonbuild"
}
version = "2.1.2-1"
+24
View File
@@ -0,0 +1,24 @@
build = {
install = {
bin = {
moonbuild = "out/moonbuild"
}
},
type = "builtin"
}
dependencies = {
"lua >= 5.1",
"argparse >= 0.7.1-1",
"moonscript >= 0.5.0-1"
}
description = {
detailed = "moonbuild is a small build system that simplifies your build definitions by allowing you to use declarative as well as imperative rules. It represents the build as a DAG with explicit ordering, and doesn't give you any default confusing rules (unlike make). If you can, installing luaposix and/or luafilesystem will speed up builds and increase stability.\n",
summary = "Small build system in between make and a build.sh"
}
package = "moonbuild"
rockspec_format = "3.0"
source = {
tag = "v2.1.2",
url = "git://github.com/natnat-mc/moonbuild"
}
version = "2.1.2-2"
+24
View File
@@ -0,0 +1,24 @@
build = {
install = {
bin = {
moonbuild = "out/moonbuild"
}
},
type = "builtin"
}
dependencies = {
"lua >= 5.1",
"argparse >= 0.7.1-1",
"moonscript >= 0.5.0-1"
}
description = {
detailed = "moonbuild is a small build system that simplifies your build definitions by allowing you to use declarative as well as imperative rules. It represents the build as a DAG with explicit ordering, and doesn't give you any default confusing rules (unlike make). If you can, installing luaposix and/or luafilesystem will speed up builds and increase stability.\n",
summary = "Small build system in between make and a build.sh"
}
package = "moonbuild"
rockspec_format = "3.0"
source = {
tag = "v2.1.3",
url = "git://github.com/natnat-mc/moonbuild"
}
version = "2.1.3-1"