ant-design-blazor/site/AntDesign.Docs.Build/AntDesign.Docs.Build.csproj

46 lines
2.5 KiB
XML
Raw Normal View History

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net9.0</TargetFramework>
</PropertyGroup>
<Target Name="DebugEnsureNodeEnv" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug' And !Exists('$(SolutionDir)node_modules') ">
<!-- Ensure Node.js is installed -->
<Exec Command="node --version" ContinueOnError="true">
<Output TaskParameter="ExitCode" PropertyName="ErrorCode" />
</Exec>
<Error Condition="'$(ErrorCode)' != '0'" Text="Node.js is required to build and run this project. To continue, please install Node.js from https://nodejs.org/, and then restart your command prompt or IDE." />
<Message Importance="high" Text="Restoring dependencies using 'npm'. This may take several minutes..." />
<Exec WorkingDirectory="$(SolutionDir)" Command="npm install" />
</Target>
<Target Name="DebugRunGulp" BeforeTargets="DebugEnsureNodeEnv" Condition=" '$(Configuration)' == 'Debug' And Exists('$(SolutionDir)node_modules') ">
<Exec WorkingDirectory="$(SolutionDir)" Command="npm run build:lib" />
<Exec WorkingDirectory="$(SolutionDir)" Command="npm run build:doc" />
</Target>
<Target Name="PublishRunGulp" AfterTargets="ComputeFilesToPublish">
<Exec WorkingDirectory="$(SolutionDir)" Command="npm install" />
<Exec WorkingDirectory="$(SolutionDir)" Command="npm run build:lib" />
<Exec WorkingDirectory="$(SolutionDir)" Command="npm run build:doc" />
</Target>
<PropertyGroup>
<CLIProjectDir>site/AntDesign.Docs.Build.CLI</CLIProjectDir>
<CLIPath>$(CLIProjectDir)/AntDesign.Docs.Build.CLI.csproj</CLIPath>
<ProjectDir>$(SolutionDir)/site/AntDesign.Docs</ProjectDir>
</PropertyGroup>
<ItemGroup>
<DocFiles Include="$(SolutionDir)docs\**\*.*" />
<DocFiles Include="$(SolutionDir)\CHANGELOG.*.*" />
</ItemGroup>
<Target Name="RunCli" BeforeTargets="Build" Condition=" '$(Configuration)' == 'Debug'">
<Copy SourceFiles="@(DocFiles)" DestinationFolder="$(ProjectDir)\wwwroot\docs\%(RecursiveDir)" ContinueOnError="true" />
<Exec WorkingDirectory="$(SolutionDir)" Command="dotnet run -f net9 --project $(CLIPath) demo2json $(ProjectDir)/Demos $(ProjectDir)/wwwroot/meta" />
<Exec WorkingDirectory="$(SolutionDir)" Command="dotnet run -f net9 --project $(CLIPath) menu2json $(ProjectDir)/Demos $(ProjectDir)/wwwroot/docs $(ProjectDir)/wwwroot/meta" />
<Exec WorkingDirectory="$(SolutionDir)" Command="dotnet run -f net9 --project $(CLIPath) docs2html $(ProjectDir)/wwwroot/docs ./site/AntDesign.Docs/wwwroot/docs" />
</Target>
</Project>