Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4bbcde461d | |||
| cba15111e7 | |||
| 3bc95acf7b |
@@ -16,25 +16,14 @@ jobs:
|
||||
- name: Check out repository code
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: Packages List
|
||||
run : |
|
||||
xmake show -l packages | grep -E 'require|project' > ${{ github.workspace }}/packages.txt
|
||||
cat ${{ github.workspace }}/packages.txt
|
||||
|
||||
- name: Calc deps hash
|
||||
uses: seepine/hash-files@v1
|
||||
id: get-hash
|
||||
with:
|
||||
patterns: 'packages.txt'
|
||||
|
||||
- name: Packages cache
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ~/.xmake/packages
|
||||
key: ${{ runner.os }}-${{ steps.get-hash.outputs.hash }}
|
||||
path: ${{ github.workspace }}/build/.packages
|
||||
key: ${{ runner.os }}-xmake_cache
|
||||
|
||||
- name: XMake config
|
||||
run: xmake f --policies=package.install_only -p linux -y
|
||||
run: xmake f -p linux -y
|
||||
|
||||
- name: Build
|
||||
run: xmake
|
||||
|
||||
@@ -1,3 +1,9 @@
|
||||
|
||||
if is_mode("debug") then
|
||||
add_defines("DEBUG_ENABLED")
|
||||
end
|
||||
|
||||
|
||||
-- more on https://xmake.io/#/manual/project_target
|
||||
target(PROJECT_NAME)
|
||||
set_kind("shared")
|
||||
@@ -35,8 +41,9 @@ target(PROJECT_NAME)
|
||||
on_run(
|
||||
(function(godot_project_folder)
|
||||
return function(target)
|
||||
os.execv("echo", {"godot --path", godot_project_folder})
|
||||
os.exec("godot --path " .. godot_project_folder)
|
||||
local cmd = format("godot --path %s", godot_project_folder)
|
||||
os.execv("echo", {cmd})
|
||||
os.exec(cmd)
|
||||
end
|
||||
end)(GODOT_PROJECT_FOLDER)
|
||||
)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
-- target_platform: the target platform, like "Windows Desktop"
|
||||
-- name: the export execute name, it will be endswith ".exe" on windows
|
||||
task("export")
|
||||
on_run((function(godot_project_folder, publish_folder)
|
||||
on_run((function(godot_project_folder, publish_folder, project_name)
|
||||
return function(target_platform)
|
||||
local name = godot_project_folder
|
||||
|
||||
@@ -35,13 +35,15 @@ task("export")
|
||||
|
||||
local godot_project_file = path.join(godot_project_folder, "project.godot")
|
||||
|
||||
local export_path = path.absolute(path.join(publish_folder, name))
|
||||
local export_path = path.absolute(path.join(publish_folder, project_name))
|
||||
|
||||
os.execv("echo", {"godot", godot_project_file, export_mode, target_platform, export_path})
|
||||
os.exec("godot %s --headless --%s %s %s", godot_project_file, export_mode, "\"" .. target_platform .. "\"", export_path)
|
||||
local cmd = format("godot %s --headless --%s %s %s", godot_project_file, export_mode, "\"" .. target_platform .. "\"", export_path)
|
||||
|
||||
os.execv("echo", {cmd})
|
||||
os.exec(cmd)
|
||||
end
|
||||
|
||||
end)(GODOT_PROJECT_FOLDER, PUBLISH_FOLDER))
|
||||
end)(GODOT_PROJECT_FOLDER, PUBLISH_FOLDER, PROJECT_NAME))
|
||||
task_end()
|
||||
|
||||
|
||||
@@ -202,3 +204,22 @@ android.release.arm64 = "res://lib/libProjectName.android_release_arm64.so"
|
||||
description = "Generate gdextension file",
|
||||
}
|
||||
task_end()
|
||||
|
||||
|
||||
task("import-assets")
|
||||
on_run((function(godot_project_folder, project_name)
|
||||
return function ()
|
||||
local godot_project_file = path.join(godot_project_folder, "project.godot")
|
||||
|
||||
local cmd = format("godot --headless --import %s", godot_project_file)
|
||||
os.execv("echo", {cmd})
|
||||
os.exec(cmd)
|
||||
end
|
||||
end)(GODOT_PROJECT_FOLDER, PROJECT_NAME))
|
||||
|
||||
set_menu {
|
||||
usage = "xmake import-assets",
|
||||
|
||||
description = "Import project assets",
|
||||
}
|
||||
task_end()
|
||||
Reference in New Issue
Block a user