improve package cache

This commit is contained in:
ruki
2025-01-15 23:48:39 +08:00
Unverified
parent 2e6893d26a
commit 8e4ae35982
4 changed files with 50 additions and 4 deletions
+10 -1
View File
@@ -56,6 +56,10 @@ async function getBuildCachePath(): Promise<string> {
const projectRootPath = getProjectRootPath();
if (projectRootPath && projectRootPath !== '' && fsutils.isDir(projectRootPath)) {
const options: ExecOptions = {};
options.env = {
...process.env,
XMAKE_ROOT: 'y',
};
options.cwd = projectRootPath;
options.listeners = {
stdout: (data: Buffer) => {
@@ -153,7 +157,12 @@ export async function saveBuildCache(): Promise<void> {
await io.cp(buildCachePath, fullCachePath, {
recursive: true,
});
await exec('xmake', ['l', 'os.touch', path.join(fullCachePath, 'build_cache_saved.txt')]);
const options: ExecOptions = {};
options.env = {
...process.env,
XMAKE_ROOT: 'y',
};
await exec('xmake', ['l', 'os.touch', path.join(fullCachePath, 'build_cache_saved.txt')], options);
await cache.saveCache([buildCacheFolder], buildCacheKey);
}
}
+14
View File
@@ -27,6 +27,10 @@ async function getPackageCacheKey(): Promise<string> {
const projectRootPath = getProjectRootPath();
if (projectRootPath && projectRootPath !== '' && fsutils.isDir(projectRootPath)) {
const options: ExecOptions = {};
options.env = {
...process.env,
XMAKE_ROOT: 'y',
};
options.cwd = projectRootPath;
options.listeners = {
stdout: (data: Buffer) => {
@@ -43,6 +47,10 @@ async function getPackageCacheKey(): Promise<string> {
async function getPackageCachePath(): Promise<string> {
let packageCachePath = '';
const options: ExecOptions = {};
options.env = {
...process.env,
XMAKE_ROOT: 'y',
};
options.listeners = {
stdout: (data: Buffer) => {
packageCachePath += data.toString();
@@ -112,6 +120,12 @@ export async function savePackageCache(): Promise<void> {
await io.cp(packageCachePath, fullCachePath, {
recursive: true,
});
const options: ExecOptions = {};
options.env = {
...process.env,
XMAKE_ROOT: 'y',
};
await exec('xmake', ['l', 'os.touch', path.join(fullCachePath, 'package_cache_saved.txt')], options);
await cache.saveCache([packageCacheFolder], packageCacheKey);
}
}