aspnetcore/client-ts/Microsoft.AspNetCore.Signal.../Microsoft.AspNetCore.Signal...

63 lines
2.7 KiB
XML

<Project>
<Import Project="Sdk.props" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<IsPackable>false</IsPackable>
</PropertyGroup>
<Import Project="Sdk.targets" Sdk="Microsoft.NET.Sdk" />
<PropertyGroup>
<SignalRClientDistFolder>$(MSBuildThisFileDirectory)..\dist\</SignalRClientDistFolder>
<OutputFileName>aspnet-signalr-client-$(PackageVersion).tgz</OutputFileName>
</PropertyGroup>
<ItemGroup>
<Inputs Include="*.ts;" />
<Outputs Include="@(Inputs -> '$(SignalRClientDistFolder)src\%(FileName).d.ts')" />
<Outputs Include="@(Inputs -> '$(SignalRClientDistFolder)src\%(FileName).js')" />
<Outputs Include="$(SignalRClientDistFolder)browser\signalr-client.js" />
<Outputs Include="$(SignalRClientDistFolder)browser\third-party-notices.txt" />
</ItemGroup>
<ItemGroup>
<None Include="tsconfig.json" />
</ItemGroup>
<!-- this target relies on npm packages being restored manually or when running full build -->
<Target Name="BuildTSClient" Inputs="@(Inputs)" Outputs="@(Outputs)" BeforeTargets="Build">
<Exec Command="npm run gulp -- --gulpfile &quot;$(MSBuildThisFileDirectory)gulpfile.js&quot; build-ts-client" />
</Target>
<Target Name="CleanTSClient" AfterTargets="Clean">
<RemoveDir Directories="$(SignalRClientDistFolder)" />
</Target>
<Target Name="Pack">
<Message Text="Creating TypeScript client Node module" Importance="High" />
<PropertyGroup>
<IsGitRepository Condition="EXISTS('$(MSBuildThisFileDirectory)..\..\.git\HEAD')">true</IsGitRepository>
<IsGitRepository Condition="'$(IsGitRepository)'==''">false</IsGitRepository>
</PropertyGroup>
<Exec Command="npm version $(PackageVersion) --allow-same-version" WorkingDirectory="$(MSBuildThisFileDirectory)..\" />
<Exec Command="npm pack" WorkingDirectory="$(MSBuildThisFileDirectory)..\" />
<Exec Command="git checkout HEAD -- &quot;$(MSBuildThisFileDirectory)../package.json&quot;" Condition="$(IsGitRepository)" />
<Exec Command="git checkout HEAD -- &quot;$(MSBuildThisFileDirectory)../package-lock.json&quot;" Condition="$(IsGitRepository)" />
<Move SourceFiles="$(MSBuildThisFileDirectory)..\$(OutputFileName)" DestinationFolder="$(PackageOutputPath)" />
</Target>
<!-- Provides information to the bill of materials about expected outputs. -->
<Target Name="GetNpmArtifactInfo" BeforeTargets="GetArtifactInfo" Returns="@(ArtifactInfo)">
<ItemGroup>
<ArtifactInfo Include="$(PackageOutputPath)$(OutputFileName)">
<ArtifactType>NpmPackage</ArtifactType>
<PackageId>@aspnet/signalr-client</PackageId>
<Version>$(PackageVersion)</Version>
</ArtifactInfo>
</ItemGroup>
</Target>
</Project>