Skip to content

Commit 243e6a7

Browse files
committed
打包 libnode
1 parent a1ac98f commit 243e6a7

File tree

3 files changed

+38
-2
lines changed

3 files changed

+38
-2
lines changed

.github/workflows/build_nuget.yml

Lines changed: 22 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 ("${{ matrix.platform }}" -eq "linux" -and (Test-Path "unity/native/papi-nodejs/build_linux_x64_papi-nodejs")) {
104+
Move-Item -Path "unity/native/papi-nodejs/.backends/papi-nodejs/lib/Linux/libnode.so.93" -Destination "unity/native/papi-nodejs/build_linux_x64_papi-nodejs/libnode.so.93" -Force
105+
}
106+
if ("${{ matrix.platform }}" -eq "win" -and (Test-Path "unity/native/papi-nodejs/build_win_x64_papi-nodejs/Release")) {
107+
Move-Item -Path "unity/native/papi-nodejs/.backends/papi-nodejs/lib/Win64/libnode.dll" -Destination "unity/native/papi-nodejs/build_win_x64_papi-nodejs/Release/libnode.dll" -Force
108+
}
109+
if ("${{ matrix.platform }}" -eq "osx" -and (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:
@@ -102,12 +119,17 @@ jobs:
102119
unity/Assets/core/upm/Plugins/macOS/*.dylib
103120
unity/native/papi-lua/build_${{ matrix.platform }}_${{ matrix.arch }}_*/Release/*.dll
104121
unity/native/papi-lua/build_${{ matrix.platform }}_${{ matrix.arch }}_*/lib*.so
122+
105123
unity/native/papi-nodejs/build_${{ matrix.platform }}_${{ matrix.arch }}_*/Release/*.dll
106124
unity/native/papi-nodejs/build_${{ matrix.platform }}_${{ matrix.arch }}_*/lib*.so
125+
unity/native/papi-nodejs/build_linux_x64_papi-nodejs/libnode.so.93
126+
107127
unity/native/papi-quickjs/build_${{ matrix.platform }}_${{ matrix.arch }}_*/Release/*.dll
108128
unity/native/papi-quickjs/build_${{ matrix.platform }}_${{ matrix.arch }}_*/lib*.so
129+
109130
unity/native/papi-v8/build_${{ matrix.platform }}_${{ matrix.arch }}_*/Release/*.dll
110131
unity/native/papi-v8/build_${{ matrix.platform }}_${{ matrix.arch }}_*/lib*.so
132+
111133
unity/native/puerts/build_${{ matrix.platform }}_${{ matrix.arch }}_*/Release/*.dll
112134
unity/native/puerts/build_${{ matrix.platform }}_${{ matrix.arch }}_*/lib*.so
113135
pack_nuget:

unity/nuget/Puerts.NodeJS.NativeAssets.Linux/Puerts.NodeJS.NativeAssets.Linux.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<Import Project="..\NativeAssets.Common.props" />
99

1010
<ItemGroup>
11-
<None Include="lib\**\*.so" Pack="True" PackagePath="runtimes\" />
11+
<None Include="lib\**\*.so*" Pack="True" PackagePath="runtimes\" />
1212
</ItemGroup>
1313

1414
</Project>

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)