aspnetcore/build/repo.targets

59 lines
2.9 KiB
XML

<Project>
<ItemGroup>
<NPMPackage Include="$(RepositoryRoot)client-ts/signalr">
<TarName>aspnet-signalr</TarName>
<PackageId>@aspnet/signalr</PackageId>
</NPMPackage>
<NPMPackage Include="$(RepositoryRoot)client-ts/signalr-protocol-msgpack">
<TarName>aspnet-signalr-protocol-msgpack</TarName>
<PackageId>@aspnet/signalr-protocol-msgpack</PackageId>
</NPMPackage>
</ItemGroup>
<Target Name="RestoreNpm" AfterTargets="Restore" Condition="'$(PreflightRestore)' != 'True'">
<Message Text="Restoring NPM modules" Importance="high" />
<Exec Command="npm install --no-optional" WorkingDirectory="$(RepositoryRoot)client-ts" />
<Exec Command="npm install --no-optional" WorkingDirectory="$(RepositoryRoot)client-ts/FunctionalTests" />
<Exec Command="npm install --no-optional" WorkingDirectory="$(RepositoryRoot)client-ts/signalr" />
<Exec Command="npm install --no-optional" WorkingDirectory="$(RepositoryRoot)client-ts/signalr-protocol-msgpack" />
</Target>
<Target Name="RunTSClientNodeTests" AfterTargets="Test">
<Message Text="Running TypeScript client Node tests" Importance="high" />
<Exec Command="npm test" WorkingDirectory="$(RepositoryRoot)client-ts" IgnoreStandardErrorWarningFormat="true" />
</Target>
<PropertyGroup>
<PackageDependsOn>$(PackageDependsOn);PublishNPMPackages</PackageDependsOn>
</PropertyGroup>
<Target Name="PublishNPMPackages" AfterTargets="Package">
<ItemGroup>
<NPMPackage Update="%(NPMPackage)">
<PackageJson>$([System.IO.Path]::Combine(%(NPMPackage.FullPath), 'package.json'))</PackageJson>
<OutputTar>$([System.IO.Path]::Combine(%(NPMPackage.FullPath), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))</OutputTar>
<ArtifactPath>$([System.IO.Path]::Combine($(BuildDir), '%(NPMPackage.TarName)-$(PackageVersion).tgz'))</ArtifactPath>
</NPMPackage>
</ItemGroup>
<ItemGroup>
<ArtifactInfo Include="%(NPMPackage.ArtifactPath)">
<ArtifactType>NpmPackage</ArtifactType>
<PackageId>%(NPMPackage.PackageId)</PackageId>
<Version>$(PackageVersion)</Version>
</ArtifactInfo>
</ItemGroup>
<ItemGroup>
<FilesToExcludeFromSigning Include="%(NPMPackage.ArtifactPath)" />
</ItemGroup>
<Copy SourceFiles="%(NPMPackage.PackageJson)" DestinationFiles="%(NPMPackage.PackageJson).bak" />
<Exec Command="npm --no-git-tag-version --allow-same-version version $(PackageVersion)" WorkingDirectory="%(NPMPackage.FullPath)" />
<Exec Command="npm run build" WorkingDirectory="%(NPMPackage.FullPath)" />
<Exec Command="npm pack" WorkingDirectory="%(NPMPackage.FullPath)" />
<Delete Files="%(NPMPackage.ArtifactPath)" Condition="Exists('%(NPMPackage.ArtifactPath)')" />
<Move SourceFiles="%(NPMPackage.OutputTar)" DestinationFiles="%(NPMPackage.ArtifactPath)" />
<Move SourceFiles="%(NPMPackage.PackageJson).bak" DestinationFiles="%(NPMPackage.PackageJson)" />
</Target>
</Project>