diff options
| author | ruki <[email protected]> | 2023-09-14 23:17:05 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-09-14 23:17:05 +0800 |
| commit | ca3b8d3ed2d69b3b907c3da535f76e4fc26f5e03 (patch) | |
| tree | 30105dd801843ca603f2dfd637aa14027e96f2c0 | |
| parent | 631d88121448a1b08d67b57e134d34a35079d753 (diff) | |
improve xmakesrc path
| -rw-r--r-- | xmake/modules/private/service/remote_build/server.lua | 16 | ||||
| -rw-r--r-- | xmake/modules/private/service/remote_build/server_session.lua | 17 |
2 files changed, 21 insertions, 12 deletions
diff --git a/xmake/modules/private/service/remote_build/server.lua b/xmake/modules/private/service/remote_build/server.lua index 6522fffb5..5c8bb3ce2 100644 --- a/xmake/modules/private/service/remote_build/server.lua +++ b/xmake/modules/private/service/remote_build/server.lua @@ -24,6 +24,7 @@ import("private.service.server_config", {alias = "config"}) import("private.service.message") import("private.service.server") import("private.service.remote_build.server_session") +import("private.service.remote_build.filesync", {alias = "new_filesync"}) import("lib.detect.find_tool") -- define module @@ -47,6 +48,11 @@ function remote_build_server:init(daemon) -- init timeout self._SEND_TIMEOUT = config.get("remote_build.send_timeout") or config.get("send_timeout") or -1 self._RECV_TIMEOUT = config.get("remote_build.recv_timeout") or config.get("recv_timeout") or -1 + + -- init xmake filesync + local xmake_filesync = new_filesync(self:xmake_sourcedir(), path.join(self:workdir(), "xmakesrc_manifest.txt")) + xmake_filesync:ignorefiles_add(".git/**") + self._XMAKE_FILESYNC = xmake_filesync end -- get class @@ -63,6 +69,16 @@ function remote_build_server:workdir() return workdir end +-- get xmake sourcedir directory +function server_session:xmake_sourcedir() + return path.join(self:workdir(), "xmake_source") +end + +-- get filesync for xmakesrc +function server_session:_xmake_filesync() + return self._XMAKE_FILESYNC +end + -- on handle message function remote_build_server:_on_handle(stream, msg) local session_id = msg:session_id() diff --git a/xmake/modules/private/service/remote_build/server_session.lua b/xmake/modules/private/service/remote_build/server_session.lua index 77c02273f..7aa2825c0 100644 --- a/xmake/modules/private/service/remote_build/server_session.lua +++ b/xmake/modules/private/service/remote_build/server_session.lua @@ -37,15 +37,10 @@ local server_session = server_session or object() function server_session:init(server, session_id) self._ID = session_id self._SERVER = server - local filesync = new_filesync(self:sourcedir(), path.join(self:workdir(), "manifest.txt")) filesync:ignorefiles_add(".git/**") filesync:ignorefiles_add(".xmake/**") self._FILESYNC = filesync - - local xmake_filesync = new_filesync(self:xmake_sourcedir(), path.join(self:workdir(), "xmakesrc_manifest.txt")) - xmake_filesync:ignorefiles_add(".git/**") - self._XMAKE_FILESYNC = xmake_filesync end -- get server session id @@ -227,16 +222,14 @@ function server_session:clean(respmsg) local body = respmsg:body() vprint("%s: clean files in %s ..", self, self:workdir()) os.tryrm(self:sourcedir()) - os.tryrm(self:xmake_sourcedir()) os.tryrm(path.join(self:workdir(), "manifest.txt")) - os.tryrm(path.join(self:workdir(), "xmakesrc_manifest.txt")) if body.all then for _, sessiondir in ipairs(os.dirs(path.join(self:server():workdir(), "sessions", "*"))) do os.tryrm(path.join(sessiondir, "source")) - os.tryrm(path.join(sessiondir, "xmake_sourcedir")) os.tryrm(path.join(sessiondir, "manifest.txt")) - os.tryrm(path.join(sessiondir, "xmakesrc_manifest.txt")) end + os.tryrm(self:xmake_sourcedir()) + os.tryrm(path.join(self:server():workdir(), "xmakesrc_manifest.txt")) end vprint("%s: clean files ok", self) end @@ -321,7 +314,7 @@ end -- get xmake sourcedir directory function server_session:xmake_sourcedir() - return path.join(self:workdir(), "xmake_source") + return self:server():xmake_sourcedir() end -- get filesync @@ -329,9 +322,9 @@ function server_session:_filesync() return self._FILESYNC end --- get filesync for xmakesrc +-- get xmake filesync function server_session:_xmake_filesync() - return self._XMAKE_FILESYNC + return self:server():_xmake_filesync() end -- ensure source directory |
