Skip to content

Commit 7277999

Browse files
committed
调整目录
1 parent 69ea4fe commit 7277999

File tree

7 files changed

+101
-31
lines changed

7 files changed

+101
-31
lines changed

.github/workflows/main.yml

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -22,61 +22,65 @@ jobs:
2222
uses: actions/setup-dotnet@v4
2323
with:
2424
dotnet-version: '8.0.x'
25-
25+
# 下载windows平台的llvm
2626
- name: download llvm
2727
uses: wei/wget@v1
2828
with:
2929
args: -O clang.tar.xz https://github.com/llvm/llvm-project/releases/download/llvmorg-20.1.0/clang+llvm-20.1.0-x86_64-pc-windows-msvc.tar.xz
30-
30+
# 解压llvm
3131
- name: unzip llvm
3232
uses: developerdino/action-tar@v1
3333
with:
3434
args: tar -xvf clang.tar.xz
35+
# 下载windows平台zig
3536
- name: download zig
3637
uses: wei/wget@v1
3738
with:
3839
args: -O zig.zip https://ziglang.org/builds/zig-windows-x86_64-0.15.0-dev.379+ffd85ffcd.zip
39-
40+
41+
# 解压zig
4042
- name: unzip zig
4143
uses: somaz94/compress-decompress@v1
4244
with:
4345
command: decompress
4446
source: ./zig.zip
4547
format: zip
4648
dest: './zig'
47-
- name: delete files
48-
run: |
49-
49+
50+
# 复制文件到指定目录
5051
- name: cp win-x64 bin files
5152
run: |
52-
mkdir -p ./src/bin/win-x64
53-
cp -r ./clang+llvm-20.1.0-x86_64-pc-windows-msvc/bin/llvm-objcopy.exe ./src/bin/win-x64/llvm-objcopy.exe
54-
cp -r ./zig/zig-windows-x86_64-0.15.0-dev.379+ffd85ffcd/* ./src/bin/win-x64
55-
rm -rf ./src/bin/win-x64/lib/tsan
56-
rm -rf ./src/bin/win-x64/lib/libcxxabi
57-
rm -rf ./src/bin/win-x64/lib/libcxx
58-
rm -rf ./src/bin/win-x64/lib/libc/darwin
59-
rm -rf ./src/bin/win-x64/lib/libc/glibc
60-
rm -rf ./src/bin/win-x64/lib/libc/include
61-
rm -rf ./src/bin/win-x64/lib/libc/mingw
62-
rm -rf ./src/bin/win-x64/lib/libc/wasi
63-
rm -rf ./src/bin/win-x64/lib/libc/include
64-
rm -rf ./src/bin/win-x64/lib/wasi
65-
rm -rf ./src/bin/win-x64/lib/fuzzer
66-
rm -rf ./src/bin/win-x64/lib/docs
67-
rm -rf ./src/bin/win-x64/lib/doc
68-
69-
- name: upx exe
70-
run: upx -9 ./src/bin/win-x64/zig.exe
53+
mkdir -p ./src/PublishAotCross.Compiler.win-x64/bin
54+
cp -r ./clang+llvm-20.1.0-x86_64-pc-windows-msvc/bin/llvm-objcopy.exe ./src/PublishAotCross.Compiler.win-x64/bin/llvm-objcopy.exe
55+
cp -r ./zig/zig-windows-x86_64-0.15.0-dev.379+ffd85ffcd/* ./src/PublishAotCross.Compiler.win-x64/bin
56+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/tsan
57+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libcxxabi
58+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libcxx
59+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/darwin
60+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/glibc
61+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/include
62+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/mingw
63+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/wasi
64+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/libc/include
65+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/wasi
66+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/fuzzer
67+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/docs
68+
rm -rf ./src/PublishAotCross.Compiler.win-x64/bin/lib/doc
7169
70+
# 压缩upx
71+
- name: upx exe
72+
run: upx -9 ./src/PublishAotCross.Compiler.win-x64/bin/zig.exe
73+
74+
# 打nuget包
7275
- name: pack nugets
73-
run: dotnet build -t:Pack src/PublishAotCross.Compiler.nuproj -o ./packages -p:Version=0.0.0-alpha.${{github.run_number}} --property PackageCompressionLevel=Optimal
76+
run: dotnet build -t:Pack src/PublishAotCross.Compiler.win-x64/PublishAotCross.Compiler.win-x64.nuproj -o ./packages -p:Version=0.0.0-alpha.${{github.run_number}} --property PackageCompressionLevel=Optimal
7477
- name: Upload a Build Artifact
7578
uses: actions/upload-artifact@v4
7679
with:
7780
name: packages
7881
path: packages
7982

83+
# 发布nuget
8084
publish-to-nuget:
8185
needs: build
8286
runs-on: ubuntu-latest
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<Project Sdk="Microsoft.Build.NoTargets">
2+
<PropertyGroup>
3+
<TargetFramework>netstandard2.0</TargetFramework>
4+
<PackageId>PublishAotCross.Compiler.linux-x64</PackageId>
5+
<Version>1.0</Version>
6+
<Authors>OpenHarmony.NET</Authors>
7+
<Company>OpenHarmony.NET</Company>
8+
<Description>MSBuild targets to aid in crosscompiling Native AOT publishing.</Description>
9+
<PackageProjectUrl>https://github.com/OpenHarmony.NET/PublishAotCross.Compiler</PackageProjectUrl>
10+
</PropertyGroup>
11+
12+
<ItemGroup>
13+
<!-- 包含 bin 目录下的所有文件并保留目录结构 -->
14+
<None Include="bin/**/*">
15+
<Pack>true</Pack>
16+
<PackagePath>build/bin</PackagePath>
17+
</None>
18+
19+
<None Include="PublishAotCross.Compiler.linux-x64.targets">
20+
<Pack>true</Pack>
21+
<PackagePath>build</PackagePath>
22+
</None>
23+
<None Include="SetupCompiler.linux-x64.targets">
24+
<Pack>true</Pack>
25+
<PackagePath>build</PackagePath>
26+
</None>
27+
</ItemGroup>
28+
</Project>
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<!-- Only Windows host targeting Linux is currently supported -->
4+
<Import Project="SetupCompiler.linux-x64.targets" Condition="$(RuntimeIdentifier.Contains('linux')) and $([MSBuild]::IsOSPlatform('Linux'))" />
5+
6+
</Project>
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
2+
3+
<PropertyGroup>
4+
<DisableUnsupportedError>true</DisableUnsupportedError>
5+
</PropertyGroup>
6+
7+
<UsingTask TaskName="SetUpZigPath"
8+
TaskFactory="RoslynCodeTaskFactory"
9+
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll">
10+
11+
<ParameterGroup>
12+
<Value ParameterType="System.String" Required="true" />
13+
</ParameterGroup>
14+
15+
<Task>
16+
<Using Namespace="System" />
17+
<Using Namespace="System.IO" />
18+
<Code Type="Fragment" Language="cs">
19+
<![CDATA[
20+
Environment.SetEnvironmentVariable("PATH", Value + Path.PathSeparator + Environment.GetEnvironmentVariable("PATH"));
21+
]]>
22+
</Code>
23+
</Task>
24+
25+
</UsingTask>
26+
27+
<Target Name="SetUpZigPath" BeforeTargets="SetupOSSpecificProps">
28+
<PrependPath Value="$(MSBuildThisFileDirectory)/bin" />
29+
30+
</Target>
31+
32+
</Project>

src/PublishAotCross.Compiler.nuproj renamed to src/PublishAotCross.Compiler.win-x64/PublishAotCross.Compiler.win-x64.nuproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.Build.NoTargets">
22
<PropertyGroup>
33
<TargetFramework>netstandard2.0</TargetFramework>
4-
<PackageId>PublishAotCross.Compiler</PackageId>
4+
<PackageId>PublishAotCross.Compiler.win-x64</PackageId>
55
<Version>1.0</Version>
66
<Authors>OpenHarmony.NET</Authors>
77
<Company>OpenHarmony.NET</Company>
@@ -11,12 +11,12 @@
1111

1212
<ItemGroup>
1313
<!-- 包含 bin 目录下的所有文件并保留目录结构 -->
14-
<None Include="bin/win-x64/**/*">
14+
<None Include="bin/**/*">
1515
<Pack>true</Pack>
16-
<PackagePath>build/bin/win-x64</PackagePath>
16+
<PackagePath>build/bin</PackagePath>
1717
</None>
1818

19-
<None Include="PublishAotCross.Compiler.targets">
19+
<None Include="PublishAotCross.Compiler.win-x64.targets">
2020
<Pack>true</Pack>
2121
<PackagePath>build</PackagePath>
2222
</None>

src/PublishAotCross.Compiler.targets renamed to src/PublishAotCross.Compiler.win-x64/PublishAotCross.Compiler.win-x64.targets

File renamed without changes.

src/SetupCompiler.win-x64.targets renamed to src/PublishAotCross.Compiler.win-x64/SetupCompiler.win-x64.targets

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
</UsingTask>
2626

2727
<Target Name="SetUpZigPath" BeforeTargets="SetupOSSpecificProps">
28-
<PrependPath Value="$(MSBuildThisFileDirectory)/bin/win-x64" />
28+
<PrependPath Value="$(MSBuildThisFileDirectory)/bin" />
2929

3030
</Target>
3131

0 commit comments

Comments
 (0)