Skip to content

Commit e24506e

Browse files
committed
Copy sergen output to src/artifacts/sergen during pack and use it from there instead of Serenity.CodeGenerator/bin/ folder which causes locks during build sometimes. This means for a clean build, dotnet pack should be run from the Serenity.CodeGenerator folder first, or it will use old sergen tool from nuget.
1 parent 445227a commit e24506e

4 files changed

Lines changed: 11 additions & 13 deletions

File tree

.github/workflows/test.yml

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -61,18 +61,10 @@ jobs:
6161
run: npm install
6262
working-directory: "./serene/src/Serene.Web"
6363

64-
- name: dotnet build Serenity.Net.CodeGenerator
65-
run: dotnet build
64+
- name: dotnet pack Serenity.Net.CodeGenerator
65+
run: dotnet pack
6666
working-directory: "./src/Serenity.Net.CodeGenerator"
6767

68-
- name: dotnet tool restore commmon-features
69-
run: dotnet tool restore
70-
working-directory: "./common-features/src"
71-
72-
- name: dotnet tool restore Serene
73-
run: dotnet tool restore
74-
working-directory: "./serene/src/Serene.Web"
75-
7668
- name: dotnet build Serenity.sln
7769
run: dotnet build /p:SkipNodeScripts=true
7870

common-features/build/Feature.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<SerenityDir Condition="'$(SerenityDir)' == '' And Exists('$(MSBuildThisFileDirectory)..\..\Serenity.sln')">$(MSBuildThisFileDirectory)..\..\</SerenityDir>
88
<SerenitySrc Condition="'$(SerenitySrc)' == ''">$(SerenityDir)src\</SerenitySrc>
99
<SerenityWebProj Condition="'$(SerenityWebProj)' == ''">$(SerenitySrc)Serenity.Net.Web\Serenity.Net.Web.csproj</SerenityWebProj>
10-
<DotNetSergenDir>$(SerenitySrc)Serenity.Net.CodeGenerator\bin\</DotNetSergenDir>
10+
<DotNetSergenDir>$(SerenitySrc)artifacts\artifacts\sergen\</DotNetSergenDir>
1111
<DotNetSergen Condition="'$(DotNetSergen)' == '' And Exists('$(DotNetSergenDir)sergen')">$(DotNetSergenDir)sergen</DotNetSergen>
1212
<DotNetSergen Condition="'$(DotNetSergen)' == '' And Exists('$(DotNetSergenDir)sergen.exe')">$(DotNetSergenDir)sergen.exe</DotNetSergen>
1313
<DotNetSergen Condition="'$(DotNetSergen)' == ''">dotnet sergen</DotNetSergen>

serene/src/Serene.Web/Serene.Web.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
<!--#if (IsNotTemplate)-->
99
<CommonSrc>..\..\..\common-features\src\</CommonSrc>
1010
<SerenitySrc>..\..\..\src\</SerenitySrc>
11-
<DotNetSergenDir>$(SerenitySrc)Serenity.Net.CodeGenerator\bin\</DotNetSergenDir>
11+
<DotNetSergenDir>$(SerenitySrc)artifacts\sergen\</DotNetSergenDir>
1212
<DotNetSergen Condition="Exists('$(DotNetSergenDir)sergen')">$(DotNetSergenDir)sergen</DotNetSergen>
1313
<DotNetSergen Condition="Exists('$(DotNetSergenDir)sergen.exe')">$(DotNetSergenDir)sergen.exe</DotNetSergen>
1414
<DefineConstants>$(DefineConstants);Northwind;BasicSamples</DefineConstants>
@@ -67,7 +67,7 @@
6767
</ItemGroup>
6868
</Target>
6969
<Target Name="TransformMvcClientTypes" BeforeTargets="BeforeBuild" DependsOnTargets="SetSergenTransformArgs">
70-
<Exec Command="dotnet tool restore" ContinueOnError="true" />
70+
<Exec Command="dotnet tool restore" ContinueOnError="true" Condition="'$(DotNetSergen)' == 'dotnet sergen'" />
7171
<Exec Command="$(DotNetSergen) mvct $(SergenTransformArgs)" ContinueOnError="true" />
7272
</Target>
7373
<Target Name="TransformServerTypings" AfterTargets="AfterBuild" DependsOnTargets="SetSergenTransformArgs">

src/Serenity.Net.CodeGenerator/Serenity.Net.CodeGenerator.csproj

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,10 @@
2727
<PackageReference Include="Microsoft.Extensions.FileSystemGlobbing" Version="9.0.0" />
2828
<PackageReference Include="Spectre.Console" Version="0.49.1" />
2929
</ItemGroup>
30+
<Target Name="CopySergenToArtifacts" AfterTargets="CopyFilesToOutputDirectory">
31+
<ItemGroup>
32+
<_OutputFilesToCopy Include="$(OutDir)\**\*" />
33+
</ItemGroup>
34+
<Copy SourceFiles="@(_OutputFilesToCopy)" DestinationFolder="$(MSBuildProjectDirectory)\..\artifacts\sergen\%(RecursiveDir)" UseHardlinksIfPossible="true" SkipUnchangedFiles="true" OverwriteReadOnlyFiles="true" />
35+
</Target>
3036
</Project>

0 commit comments

Comments
 (0)