Skip to content

Commit 7b7b9c4

Browse files
committed
打包 libnode
1 parent df90705 commit 7b7b9c4

File tree

2 files changed

+32
-1
lines changed

2 files changed

+32
-1
lines changed

.github/workflows/build_nuget.yml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,23 @@ jobs:
9494
done
9595
done
9696
97+
# puerts\unity\native\papi-nodejs\.backends\papi-nodejs\lib\Linux\libnode.so.93
98+
# puerts\unity\native\papi-nodejs\.backends\papi-nodejs\lib\Win64\libnode.dll
99+
# puerts\unity\native\papi-nodejs\.backends\papi-nodejs\lib\macOS\libnode.93.dylib
100+
- name: Process libraries dependencies
101+
run: |
102+
# Move libnode libraries to build directories
103+
if (Test-Path "unity/native/papi-nodejs/build_linux_x64_Release") {
104+
Move-Item -Path "unity/native/papi-nodejs/.backends/papi-nodejs/lib/Linux/libnode.so.93" -Destination "unity/native/papi-nodejs/build_linux_x64_Release/libnode.so.93" -Force
105+
}
106+
if (Test-Path "unity/native/papi-nodejs/build_win_x64_Release") {
107+
Move-Item -Path "unity/native/papi-nodejs/.backends/papi-nodejs/lib/Win64/libnode.dll" -Destination "unity/native/papi-nodejs/build_win_x64_Release/libnode.dll" -Force
108+
}
109+
if (Test-Path "unity/Assets/core/upm/Plugins/macOS") {
110+
Move-Item -Path "unity/native/papi-nodejs/.backends/papi-nodejs/lib/macOS/libnode.93.dylib" -Destination "unity/Assets/core/upm/Plugins/macOS/libnode.93.dylib" -Force
111+
}
112+
shell: pwsh
113+
97114
- name: Upload all native artifacts
98115
uses: actions/upload-artifact@v4
99116
with:

unity/nuget/build/Program.cs

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ public override void Run(BuildContext context)
111111

112112
Directory.CreateDirectory(targetDirectorymacOS.FullPath);
113113

114-
var filesmacOS = context.GetFiles(new GlobPattern($"{nativeAssetsPathmacOS.FullPath}/*{projectItem.DotNetNativeName}*dylib"), new GlobberSettings() { IsCaseSensitive = false});
114+
var filesmacOS = context.GetFiles(new GlobPattern($"{nativeAssetsPathmacOS.FullPath}/*{projectItem.DotNetNativeName}*dylib"), new GlobberSettings() { IsCaseSensitive = false });
115115
if (filesmacOS.Count == 0)
116116
{
117117
throw new CakeException($"No native assets found in '{nativeAssetsPathmacOS.FullPath}' for project '{projectItem.Name}'.");
@@ -122,6 +122,13 @@ public override void Run(BuildContext context)
122122
}
123123
context.CopyFiles(filesmacOS, targetDirectorymacOS.FullPath);
124124

125+
// Copy libnode dependencies for NodeJS
126+
if (projectItem.DotNetNativeName == "NodeJS")
127+
{
128+
var libnodeFilesmacOS = context.GetFiles(new GlobPattern($"{nativeAssetsPathmacOS.FullPath}/libnode*"), new GlobberSettings() { IsCaseSensitive = false });
129+
context.CopyFiles(libnodeFilesmacOS, targetDirectorymacOS.FullPath);
130+
}
131+
125132
continue;
126133
}
127134

@@ -144,6 +151,13 @@ public override void Run(BuildContext context)
144151

145152
var files = context.GetFiles(new GlobPattern($"{nativeAssetsPath.FullPath}/**/*.*"));
146153
context.CopyFiles(files, targetDirectory.FullPath);
154+
155+
// Copy libnode dependencies for NodeJS
156+
if (projectItem.DotNetNativeName == "NodeJS")
157+
{
158+
var libnodeFiles = context.GetFiles(new GlobPattern($"{nativeAssetsPath.FullPath}/libnode*"), new GlobberSettings() { IsCaseSensitive = false });
159+
context.CopyFiles(libnodeFiles, targetDirectory.FullPath);
160+
}
147161
}
148162
}
149163

0 commit comments

Comments
 (0)