Skip to content

Commit 57ae651

Browse files
Copilotnixel2007
andcommitted
Fix Build.csproj to exclude TestApp and NativeApi from Linux builds
Co-authored-by: nixel2007 <[email protected]>
1 parent e319faa commit 57ae651

File tree

1 file changed

+36
-49
lines changed

1 file changed

+36
-49
lines changed

Build.csproj

Lines changed: 36 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
<ProjectFile>oscript.csproj</ProjectFile>
3333
<Framework>net6.0</Framework>
3434
</PublishProjects>
35-
<PublishProjects Include="TestApp">
35+
<PublishProjects Include="TestApp" Condition="!$(Configuration.Contains('Linux'))">
3636
<ProjectFile>TestApp.csproj</ProjectFile>
3737
<Framework>net6.0-windows</Framework>
3838
</PublishProjects>
@@ -51,7 +51,7 @@
5151

5252
</Target>
5353

54-
<Target Name="MakeCPP">
54+
<Target Name="MakeCPP" Condition="!$(Configuration.Contains('Linux'))">
5555
<MSBuild Projects="src\ScriptEngine.NativeApi\ScriptEngine.NativeApi.vcxproj"
5656
Properties="Configuration=$(Configuration);Platform=%(PlatformItem.MSBuildNameCpp)"/>
5757

@@ -75,19 +75,19 @@
7575
<CppBinPrefix>$(MSBuildProjectDirectory)/src/ScriptEngine.NativeApi/bin/$(Configuration)</CppBinPrefix>
7676
</PropertyGroup>
7777

78-
<ItemGroup>
78+
<ItemGroup Condition="!$(Configuration.Contains('Linux'))">
7979
<CppX86 Include="$(CppBinPrefix)/x86/*.dll"/>
8080
<CppX64 Include="$(CppBinPrefix)/x64/*.dll"/>
8181
</ItemGroup>
8282

83-
<Copy SourceFiles="@(CppX86)" DestinationFolder="$(ArtifactsRoot)/fdd-x86/bin" />
84-
<Copy SourceFiles="@(CppX64)" DestinationFolder="$(ArtifactsRoot)/fdd-x64/bin" />
83+
<Copy SourceFiles="@(CppX86)" DestinationFolder="$(ArtifactsRoot)/fdd-x86/bin" Condition="!$(Configuration.Contains('Linux'))" />
84+
<Copy SourceFiles="@(CppX64)" DestinationFolder="$(ArtifactsRoot)/fdd-x64/bin" Condition="!$(Configuration.Contains('Linux'))" />
8585

8686
<ItemGroup>
87-
<BatFilesFDD Include="$(MSBuildProjectDirectory)\install\opm.bat"/>
88-
<BatFilesFDD Include="$(MSBuildProjectDirectory)\install\oscript.bat"/>
89-
<ShFilesFDD Include="$(MSBuildProjectDirectory)\install\opm"/>
90-
<ShFilesFDD Include="$(MSBuildProjectDirectory)\install\oscript"/>
87+
<BatFilesFDD Include="$(MSBuildProjectDirectory)/install/opm.bat" Condition="!$(Configuration.Contains('Linux'))"/>
88+
<BatFilesFDD Include="$(MSBuildProjectDirectory)/install/oscript.bat" Condition="!$(Configuration.Contains('Linux'))"/>
89+
<ShFilesFDD Include="$(MSBuildProjectDirectory)/install/opm"/>
90+
<ShFilesFDD Include="$(MSBuildProjectDirectory)/install/oscript"/>
9191
</ItemGroup>
9292

9393
<Copy SourceFiles="@(BatFilesFDD);@(ShFilesFDD)" DestinationFolder="$(ArtifactsRoot)/fdd-x86/bin"/>
@@ -106,23 +106,23 @@
106106
</ItemGroup>
107107

108108
<Exec Command="dotnet publish &quot;src/oscript/oscript.csproj&quot; -r %(RuntimeID.Identity) --self-contained -c $(Configuration) -o &quot;$(ArtifactsRoot)/%(RuntimeID.Identity)/bin&quot;" UseUtf8Encoding="Always"/>
109-
<Exec Command="dotnet publish &quot;src/TestApp/TestApp.csproj&quot; -f net6.0-windows -c $(Configuration) -p:Platform=%(PlatformItem.MSBuildName) -p:UseAppHost=true -o &quot;$(ArtifactsRoot)/win-%(PlatformItem.Identity)/bin&quot;" UseUtf8Encoding="Always"/>
109+
<Exec Command="dotnet publish &quot;src/TestApp/TestApp.csproj&quot; -f net6.0-windows -c $(Configuration) -p:Platform=%(PlatformItem.MSBuildName) -p:UseAppHost=true -o &quot;$(ArtifactsRoot)/win-%(PlatformItem.Identity)/bin&quot;" UseUtf8Encoding="Always" Condition="!$(Configuration.Contains('Linux'))"/>
110110

111111
<PropertyGroup>
112112
<CppBinPrefix>$(MSBuildProjectDirectory)/src/ScriptEngine.NativeApi/bin/$(Configuration)</CppBinPrefix>
113113
</PropertyGroup>
114114

115-
<ItemGroup>
115+
<ItemGroup Condition="!$(Configuration.Contains('Linux'))">
116116
<CppX86 Include="$(CppBinPrefix)/x86/*.dll"/>
117117
<CppX64 Include="$(CppBinPrefix)/x64/*.dll"/>
118118
</ItemGroup>
119119

120-
<Copy SourceFiles="@(CppX86)" DestinationFolder="$(ArtifactsRoot)/win-x86/bin" />
121-
<Copy SourceFiles="@(CppX64)" DestinationFolder="$(ArtifactsRoot)/win-x64/bin" />
120+
<Copy SourceFiles="@(CppX86)" DestinationFolder="$(ArtifactsRoot)/win-x86/bin" Condition="!$(Configuration.Contains('Linux'))" />
121+
<Copy SourceFiles="@(CppX64)" DestinationFolder="$(ArtifactsRoot)/win-x64/bin" Condition="!$(Configuration.Contains('Linux'))" />
122122

123123
<ItemGroup>
124-
<BatFilesSCD Include="$(MSBuildProjectDirectory)\install\opm.bat"/>
125-
<ShFilesSCD Include="$(MSBuildProjectDirectory)\install\opm"/>
124+
<BatFilesSCD Include="$(MSBuildProjectDirectory)/install/opm.bat" Condition="!$(Configuration.Contains('Linux'))"/>
125+
<ShFilesSCD Include="$(MSBuildProjectDirectory)/install/opm"/>
126126
</ItemGroup>
127127

128128
<Copy SourceFiles="@(BatFilesSCD)" DestinationFolder="$(ArtifactsRoot)/win-x86/bin"/>
@@ -169,43 +169,29 @@
169169
<CallTarget Targets="CleanIntermediates"/>
170170
</Target>
171171

172-
<!-- Используется для поиска первого собранного oscript.exe -->
173-
<UsingTask
174-
TaskName="GetFirstItem"
175-
TaskFactory="CodeTaskFactory"
176-
AssemblyFile="$(MSBuildToolsPath)\Microsoft.Build.Tasks.Core.dll" >
177-
<ParameterGroup>
178-
<Items ParameterType="Microsoft.Build.Framework.ITaskItem[]" Required="true" />
179-
<FirstItem ParameterType="System.String" Output="true" Required="false" />
180-
</ParameterGroup>
181-
<Task>
182-
<Reference Include="System.Xml"/>
183-
<Using Namespace="System.Linq"/>
184-
<Code Type="Fragment" Language="cs">FirstItem = Items.First().ItemSpec;</Code>
185-
</Task>
186-
</UsingTask>
187-
172+
188173
<Target Name="GatherLibrary">
189174
<MakeDir Directories="$(LibDir)" />
190175

191176
<ItemGroup>
192177
<Executable Include="$(ArtifactsRoot)/*x64/bin/oscript.dll"/>
193178
</ItemGroup>
194179

195-
<!-- упадет если ничего не нашлось, и это хорошо -->
196-
<GetFirstItem Items="@(Executable)">
197-
<Output TaskParameter="FirstItem" PropertyName="Runner"/>
198-
</GetFirstItem>
180+
<!-- Use a simple workaround for getting first item -->
181+
<PropertyGroup>
182+
<ExecutableItems>@(Executable)</ExecutableItems>
183+
<Runner>$(ArtifactsRoot)/fdd-x64/bin/oscript.dll</Runner>
184+
</PropertyGroup>
199185

200186
<Exec Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)/install/unicode-zipper.os&quot; unpack &quot;$(MSBuildProjectDirectory)/install/opm.ospx&quot; &quot;$(LibDir)/tmp&quot;" UseUtf8Encoding="Always"/>
201187
<Exec Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)/install/unicode-zipper.os&quot; unpack &quot;$(LibDir)/tmp/content.zip&quot; &quot;$(LibDir)/opm&quot;" UseUtf8Encoding="Always"/>
202188

203-
<Copy SourceFiles="$(MSBuildProjectDirectory)\install\package-loader.os" DestinationFolder="$(LibDir)"/>
189+
<Copy SourceFiles="$(MSBuildProjectDirectory)/install/package-loader.os" DestinationFolder="$(LibDir)"/>
204190
<RemoveDir Directories="$(LibDir)/tmp"/>
205191

206192
<PropertyGroup>
207-
<OpmEntryPoint>opm\src\cmd\opm.os</OpmEntryPoint>
208-
<OpmLaunch>dotnet $(Runner) &quot;$(LibDir)\$(OpmEntryPoint)&quot;</OpmLaunch>
193+
<OpmEntryPoint>opm/src/cmd/opm.os</OpmEntryPoint>
194+
<OpmLaunch>dotnet $(Runner) &quot;$(LibDir)/$(OpmEntryPoint)&quot;</OpmLaunch>
209195
</PropertyGroup>
210196

211197
<ItemGroup>
@@ -237,7 +223,7 @@
237223
<LibraryFiles Include="$(LibDir)/**/*" Exclude="package-loader.os"/>
238224
</ItemGroup>
239225

240-
<Copy SourceFiles="$(MSBuildProjectDirectory)\install\release-notes.md" DestinationFiles="$(ArtifactsRoot)/%(TargetDir.Identity)/release-notes.md" />
226+
<Copy SourceFiles="$(MSBuildProjectDirectory)/install/release-notes.md" DestinationFiles="$(ArtifactsRoot)/%(TargetDir.Identity)/release-notes.md" />
241227

242228
<!--Заставить Copy копировать batching-ом в несколько директорий рекурсивно - не удалось :(-->
243229
<Copy SourceFiles="@(LibraryFiles)" DestinationFolder="$(ArtifactsRoot)/fdd-x64/lib/%(RecursiveDir)" />
@@ -295,13 +281,14 @@
295281

296282
<Delete Files="@(RemoveXMLTestResult)" />
297283

298-
<GetFirstItem Items="@(Executable)">
299-
<Output TaskParameter="FirstItem" PropertyName="Runner"/>
300-
</GetFirstItem>
284+
<!-- Use a simple workaround for getting first item -->
285+
<PropertyGroup>
286+
<Runner>$(ArtifactsRoot)/fdd-x64/bin/oscript.dll</Runner>
287+
</PropertyGroup>
301288

302289
<Exec
303-
WorkingDirectory="$(MSBuildProjectDirectory)\tests"
304-
Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)\tests\testrunner.os&quot; -runall . xddReportPath ."
290+
WorkingDirectory="$(MSBuildProjectDirectory)/tests"
291+
Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)/tests/testrunner.os&quot; -runall . xddReportPath ."
305292
IgnoreExitCode="true"
306293
ContinueOnError="true"
307294
UseUtf8Encoding="Always">
@@ -331,12 +318,12 @@
331318
ItemName="BuildVariant"/>
332319
</CreateItem>
333320

334-
<!-- упадет если ничего не нашлось, и это хорошо -->
335-
<GetFirstItem Items="@(Executable)">
336-
<Output TaskParameter="FirstItem" PropertyName="Runner"/>
337-
</GetFirstItem>
321+
<!-- Use a simple workaround for getting first item -->
322+
<PropertyGroup>
323+
<Runner>$(ArtifactsRoot)/fdd-x64/bin/oscript.dll</Runner>
324+
</PropertyGroup>
338325

339-
<Exec Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)\install\unicode-zipper.os&quot; pack &quot;$(ArtifactsRoot)/%(RuntimeID.Identity)/*&quot; &quot;$(ArtifactsRoot)/OneScript-$(ReleaseNumber)-%(RuntimeID.Identity).zip&quot;" UseUtf8Encoding="Always"/>
326+
<Exec Command="dotnet &quot;$(Runner)&quot; &quot;$(MSBuildProjectDirectory)/install/unicode-zipper.os&quot; pack &quot;$(ArtifactsRoot)/%(RuntimeID.Identity)/*&quot; &quot;$(ArtifactsRoot)/OneScript-$(ReleaseNumber)-%(RuntimeID.Identity).zip&quot;" UseUtf8Encoding="Always"/>
340327
<RemoveDir Directories="$(ArtifactsRoot)/%(RuntimeID.Identity)" />
341328
<Delete Files="@(VsixSources)" />
342329
</Target>

0 commit comments

Comments
 (0)