2016-06-28 01:26:57 +00:00
|
|
|
<?xml version="1.0" encoding="utf-8"?>
|
2016-08-28 04:10:23 +00:00
|
|
|
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
2016-08-25 22:53:15 +00:00
|
|
|
|
2018-11-02 06:15:59 +00:00
|
|
|
<!-- dotnet deb-tool -->
|
|
|
|
<ItemGroup>
|
|
|
|
<DotNetCliToolReference Include="dotnet-deb-tool" Version="$(DotnetDebToolVersion)" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
2018-10-31 23:42:59 +00:00
|
|
|
<Target Name="SetupDebProps"
|
2018-11-02 06:15:59 +00:00
|
|
|
DependsOnTargets="SetSdkVersionInfo;
|
|
|
|
GetCurrentRuntimeInformation;
|
|
|
|
SetupFileExtensions;
|
|
|
|
CalculateLinuxNativeInstallerDependencyVersions;
|
2018-12-05 22:02:31 +00:00
|
|
|
SetSdkBrandingInfo">
|
2018-10-31 23:42:59 +00:00
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<DotnetDebToolDir>$(MSBuildProjectDirectory)</DotnetDebToolDir>
|
|
|
|
<!--<DotnetDebToolDir>$(MSBuildThisFileDirectory)/dotnet-deb-tool-consumer</DotnetDebToolDir>-->
|
|
|
|
<!--<PackageTool>$(NuGetPackagesDir)/dotnet-deb-tool/$(DotnetDebToolVersion)/lib/netcoreapp2.0/tool/package_tool</PackageTool>-->
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- constants -->
|
|
|
|
<PropertyGroup>
|
|
|
|
<DebianInstalledDirectory>/usr/share/dotnet</DebianInstalledDirectory>
|
|
|
|
|
|
|
|
<LayoutPackageRootDirName>package_root</LayoutPackageRootDirName>
|
|
|
|
<LayoutAbsolutePlacementDirName>$</LayoutAbsolutePlacementDirName>
|
|
|
|
<LayoutSamplesDirName>samples</LayoutSamplesDirName>
|
|
|
|
<LayoutDocsDirName>docs</LayoutDocsDirName>
|
|
|
|
<LayoutDebianFilesDirName>debian</LayoutDebianFilesDirName>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- Package Identities -->
|
|
|
|
<PropertyGroup>
|
|
|
|
<RuntimeDepsPackageVersion>$(MicrosoftNETCoreAppMajorMinorVersion)</RuntimeDepsPackageVersion>
|
|
|
|
<RuntimeDepsPackageName>dotnet-runtime-deps-$(RuntimeDepsPackageVersion)</RuntimeDepsPackageName>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DownloadedRuntimeDepsInstallerFile>$(DownloadsFolder)$(DownloadedRuntimeDepsInstallerFileName)</DownloadedRuntimeDepsInstallerFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
<SdkDebianPackageVersion>$(MajorMinorVersion)</SdkDebianPackageVersion>
|
|
|
|
<SdkDebianPackageName>dotnet-sdk-$(SdkDebianPackageVersion)</SdkDebianPackageName>
|
|
|
|
<SharedFxDebianPackageFileVersion>$(MicrosoftNETCoreAppPackageVersion)</SharedFxDebianPackageFileVersion>
|
|
|
|
<SharedFxDebianPackageVersion>$(MicrosoftNETCoreAppMajorMinorVersion)</SharedFxDebianPackageVersion>
|
|
|
|
<SharedFxDebianPackageFileName>dotnet-runtime-$(SharedFxDebianPackageFileVersion)</SharedFxDebianPackageFileName>
|
|
|
|
<SharedFxDebianPackageFileName>$(SharedFxDebianPackageFileName.ToLower())</SharedFxDebianPackageFileName>
|
|
|
|
<SharedFxDebianPackageName>dotnet-runtime-$(SharedFxDebianPackageVersion)</SharedFxDebianPackageName>
|
|
|
|
<SharedFxDebianPackageName>$(SharedFxDebianPackageName.ToLower())</SharedFxDebianPackageName>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DownloadedSharedFrameworkInstallerFile>$(DownloadsFolder)$(DownloadedSharedFrameworkInstallerFileName)</DownloadedSharedFrameworkInstallerFile>
|
|
|
|
<NetCoreAppTargetingPackDebianPackageFileName>dotnet-targeting-pack-$(SharedFxDebianPackageFileVersion)</NetCoreAppTargetingPackDebianPackageFileName>
|
|
|
|
<NetCoreAppTargetingPackDebianPackageFileName>$(NetCoreAppTargetingPackDebianPackageFileName.ToLower())</NetCoreAppTargetingPackDebianPackageFileName>
|
|
|
|
<NetCoreAppTargetingPackDebianPackageName>dotnet-targeting-pack-$(SharedFxDebianPackageVersion)</NetCoreAppTargetingPackDebianPackageName>
|
|
|
|
<NetCoreAppTargetingPackDebianPackageName>$(NetCoreAppTargetingPackDebianPackageName.ToLower())</NetCoreAppTargetingPackDebianPackageName>
|
|
|
|
<DownloadedNetCoreAppTargetingPackInstallerFile>$(DownloadsFolder)$(DownloadedNetCoreAppTargetingPackInstallerFileName)</DownloadedNetCoreAppTargetingPackInstallerFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
<HostFxrDebianPackageFileName>dotnet-hostfxr-$(HostFxrVersion)</HostFxrDebianPackageFileName>
|
|
|
|
<HostFxrDebianPackageFileName>$(HostFxrDebianPackageFileName.ToLower())</HostFxrDebianPackageFileName>
|
|
|
|
<HostFxrDebianPackageName>dotnet-hostfxr-$(HostFxrMajorMinorVersion)</HostFxrDebianPackageName>
|
|
|
|
<HostFxrDebianPackageName>$(HostFxrDebianPackageName.ToLower())</HostFxrDebianPackageName>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DownloadedHostFxrInstallerFile>$(DownloadsFolder)$(DownloadedHostFxrInstallerFileName)</DownloadedHostFxrInstallerFile>
|
|
|
|
<SharedHostDebianPackageName>dotnet-host</SharedHostDebianPackageName>
|
|
|
|
<DownloadedSharedHostInstallerFile>$(DownloadsFolder)$(DownloadedSharedHostInstallerFileName)</DownloadedSharedHostInstallerFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
<AspNetCoreSharedFxDebianPackageFileName>aspnetcore-runtime-$(AspNetCoreVersion)</AspNetCoreSharedFxDebianPackageFileName>
|
|
|
|
<AspNetCoreSharedFxDebianPackageFileName>$(AspNetCoreSharedFxDebianPackageFileName.ToLower())</AspNetCoreSharedFxDebianPackageFileName>
|
|
|
|
<AspNetCoreSharedFxDebianPackageName>aspnetcore-runtime-$(AspNetCoreMajorMinorVersion)</AspNetCoreSharedFxDebianPackageName>
|
|
|
|
<AspNetCoreSharedFxDebianPackageName>$(AspNetCoreSharedFxDebianPackageName.ToLower())</AspNetCoreSharedFxDebianPackageName>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DownloadedAspNetCoreSharedFxInstallerFile>$(DownloadsFolder)$(DownloadedAspNetCoreSharedFxInstallerFileName)</DownloadedAspNetCoreSharedFxInstallerFile>
|
|
|
|
<AspNetTargetingPackDebianPackageFileName>aspnetcore-targeting-pack-$(AspNetCoreVersion)</AspNetTargetingPackDebianPackageFileName>
|
|
|
|
<AspNetTargetingPackDebianPackageFileName>$(AspNetTargetingPackDebianPackageFileName.ToLower())</AspNetTargetingPackDebianPackageFileName>
|
|
|
|
<AspNetTargetingPackDebianPackageName>aspnetcore-targeting-pack-$(AspNetCoreMajorMinorVersion)</AspNetTargetingPackDebianPackageName>
|
|
|
|
<AspNetTargetingPackDebianPackageName>$(AspNetTargetingPackDebianPackageName.ToLower())</AspNetTargetingPackDebianPackageName>
|
|
|
|
<DownloadedAspNetTargetingPackInstallerFile>$(DownloadsFolder)$(DownloadedAspNetTargetingPackInstallerFileName)</DownloadedAspNetTargetingPackInstallerFile>
|
|
|
|
</PropertyGroup>
|
2018-10-31 23:42:59 +00:00
|
|
|
|
|
|
|
<!-- Inputs -->
|
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<!-- Need to acquire manpage files from CLI repo: https://github.com/dotnet/cli/issues/10266 -->
|
|
|
|
<ManpagesDirectory>$(RepoRoot)Documentation/manpages</ManpagesDirectory>
|
|
|
|
<EndToEndTestProject>$(RepoRoot)test/EndToEnd/EndToEnd.Tests.csproj</EndToEndTestProject>
|
|
|
|
<CLISdkRoot>$(RedistLayoutPath)sdk/</CLISdkRoot>
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
<CLISdkFiles Include="$(CLISdkRoot)/**/*" />
|
|
|
|
<SdkDebManPageFiles Include="$(ManpagesDirectory)/**/*" />
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<!-- Output Directories -->
|
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<InstallerOutputDirectory>$(ArtifactsShippingPackagesDir)</InstallerOutputDirectory>
|
2018-11-06 22:29:00 +00:00
|
|
|
<SdkDebInstallerFile>$(InstallerOutputDirectory)$(DistroSpecificArtifactNameWithVersionCombinedHostHostFxrFrameworkSdk)$(InstallerExtension)</SdkDebInstallerFile>
|
2018-11-02 06:15:59 +00:00
|
|
|
<SdkDebianIntermediateDirectory>$(IntermediateOutputPath)debian/sdk/</SdkDebianIntermediateDirectory>
|
|
|
|
<DotNetDebToolOutputDirectory>$(SdkDebianIntermediateDirectory)deb-tool-output</DotNetDebToolOutputDirectory>
|
|
|
|
<DebianTestResultsXmlFile>$(SdkDebianIntermediateDirectory)debian-testResults.xml</DebianTestResultsXmlFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- Layout Directories -->
|
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<LayoutDirectory>$(SdkDebianIntermediateDirectory)debianLayoutDirectory/</LayoutDirectory>
|
|
|
|
<LayoutPackageRootDir>$(LayoutDirectory)$(LayoutPackageRootDirName)</LayoutPackageRootDir>
|
|
|
|
<LayoutAbsolutePlacementDir>$(LayoutDirectory)$(LayoutAbsolutePlacementDirName)</LayoutAbsolutePlacementDir>
|
|
|
|
<LayoutSamplesDir>$(LayoutDirectory)$(LayoutSamplesDirName)</LayoutSamplesDir>
|
|
|
|
<LayoutDocsDir>$(LayoutDirectory)$(LayoutDocsDirName)</LayoutDocsDir>
|
|
|
|
<LayoutDebianFilesDir>$(LayoutDirectory)$(LayoutDebianFilesDirName)</LayoutDebianFilesDir>
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- debian_config.json -->
|
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<DebianConfigTemplateFile>$(MSBuildThisFileDirectory)packaging/deb/dotnet-debian_config.json</DebianConfigTemplateFile>
|
|
|
|
<DebianConfigJsonFile>$(LayoutDirectory)debian_config.json</DebianConfigJsonFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<PropertyGroup>
|
2018-11-02 06:15:59 +00:00
|
|
|
<DebianPostinstTemplateFile>$(MSBuildThisFileDirectory)packaging/deb/postinst</DebianPostinstTemplateFile>
|
|
|
|
<DebianPostinstFile>$(LayoutDirectory)debian/postinst</DebianPostinstFile>
|
2018-10-31 23:42:59 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<ItemGroup>
|
|
|
|
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_NAME%">
|
|
|
|
<ReplacementString>$(SharedFxDebianPackageName)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_NAME%">
|
|
|
|
<ReplacementString>$(AspNetCoreSharedFxDebianPackageName)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DebianConfigTokenValues Include="%NETCOREAPP_TARGETING_PACK_DEBIAN_PACKAGE_NAME%">
|
|
|
|
<ReplacementString>$(NetCoreAppTargetingPackDebianPackageName)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%ASPNET_TARGETING_PACK_DEBIAN_PACKAGE_NAME%">
|
|
|
|
<ReplacementString>$(AspNetTargetingPackDebianPackageName)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
2018-10-31 23:42:59 +00:00
|
|
|
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%"
|
|
|
|
Condition="'$(IncludeAdditionalSharedFrameworks)' == 'true'">
|
|
|
|
<ReplacementString>
|
|
|
|
,
|
|
|
|
"$(AdditionalSharedFxDebianPackageName)" : {}
|
|
|
|
</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_ADDITIONAL_DEPENDENCY%"
|
|
|
|
Condition="'$(IncludeAdditionalSharedFrameworks)' != 'true'">
|
|
|
|
<ReplacementString></ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%SDK_NUGET_VERSION%">
|
|
|
|
<ReplacementString>$(MajorMinorVersion)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%CLI_SDK_BRAND_NAME%">
|
|
|
|
<ReplacementString>$(SdkBrandName)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
2019-04-01 21:24:56 +00:00
|
|
|
<DebianConfigTokenValues Include="%SHARED_FRAMEWORK_DEBIAN_PACKAGE_VERSION%">
|
2018-10-31 23:42:59 +00:00
|
|
|
<ReplacementString>$(MicrosoftNETCoreAppPackageVersionWithTilda)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
<DebianConfigTokenValues Include="%ASPNETCORE_SHAREDFX_DEBIAN_PACKAGE_VERSION%">
|
|
|
|
<ReplacementString>$(AspNetCoreVersionWithTilda)</ReplacementString>
|
|
|
|
</DebianConfigTokenValues>
|
|
|
|
|
|
|
|
<DebianPostInstTokenValues Include="%SDK_VERSION%">
|
|
|
|
<ReplacementString>$(SdkVersion)</ReplacementString>
|
|
|
|
</DebianPostInstTokenValues>
|
|
|
|
</ItemGroup>
|
|
|
|
|
|
|
|
<ItemGroup>
|
2019-04-01 21:24:56 +00:00
|
|
|
<TestSdkDebTaskEnvironmentVariables Include="PATH=$(DebianInstalledDirectory)$(PathListSeparator)$(PATH)" />
|
2018-10-31 23:42:59 +00:00
|
|
|
<TestSdkDebTaskEnvironmentVariables Include="TEST_ARTIFACTS=$(TestArtifactsDir)" />
|
|
|
|
<TestSdkDebTaskEnvironmentVariables Include="TEST_PACKAGES=$(TestPackagesDir)" />
|
2019-04-01 21:24:56 +00:00
|
|
|
<TestSdkDebTaskEnvironmentVariables Include="PreviousStageProps=$(NextStagePropsPath)" />
|
2018-10-31 23:42:59 +00:00
|
|
|
|
|
|
|
<!-- Consumed By Publish -->
|
2018-11-06 22:29:00 +00:00
|
|
|
<GeneratedInstallers Include="$(SdkDebInstallerFile)" />
|
2018-10-31 23:42:59 +00:00
|
|
|
</ItemGroup>
|
|
|
|
</Target>
|
2016-08-19 21:52:06 +00:00
|
|
|
|
2018-11-05 21:38:10 +00:00
|
|
|
<!-- Outer GenerateDebs target so that GetCurrentRuntimeInformation will set IsDebianBasedDistro before
|
|
|
|
GenerateDebsInner condition is evaluated -->
|
|
|
|
<Target Name="GenerateDebs"
|
2018-11-02 06:15:59 +00:00
|
|
|
DependsOnTargets="GetCurrentRuntimeInformation;
|
2018-12-05 20:21:56 +00:00
|
|
|
GenerateDebsInner"/>
|
2018-11-05 21:38:10 +00:00
|
|
|
|
|
|
|
<Target Name="GenerateDebsInner"
|
2016-08-30 18:45:58 +00:00
|
|
|
DependsOnTargets="SetupDebProps;
|
2018-07-12 23:20:39 +00:00
|
|
|
TestDebuild;
|
2019-04-01 21:24:56 +00:00
|
|
|
BuildSdkDeb;
|
|
|
|
TestSdkDeb"
|
2017-06-13 19:42:51 +00:00
|
|
|
Condition=" '$(IsDebianBaseDistro)' == 'True' "
|
2016-08-28 04:10:23 +00:00
|
|
|
Outputs="@(GeneratedInstallers)"/>
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2018-11-02 06:15:59 +00:00
|
|
|
<Target Name="ReadAspNetCoreSharedRuntimeVersionFile"
|
|
|
|
DependsOnTargets="DownloadBundledComponents">
|
|
|
|
<ItemGroup>
|
|
|
|
<File Include="$(DownloadsFolder)$(AspNetCoreSharedFxBaseRuntimeVersionFileName)" />
|
|
|
|
</ItemGroup>
|
|
|
|
<ReadLinesFromFile File="@(File)">
|
|
|
|
<Output
|
|
|
|
TaskParameter="Lines"
|
|
|
|
PropertyName="AspNetCoreSharedFxBaseRuntimeVersion"/>
|
|
|
|
</ReadLinesFromFile>
|
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="GetAspNetSharedFxInstallArgs" DependsOnTargets="SetupDebProps;ReadAspNetCoreSharedRuntimeVersionFile">
|
2018-01-09 23:36:23 +00:00
|
|
|
<PropertyGroup>
|
2018-07-10 01:05:56 +00:00
|
|
|
<AspNetVersionPrereleaseSeparator>$(AspNetCoreSharedFxBaseRuntimeVersion.IndexOf('-'))</AspNetVersionPrereleaseSeparator>
|
|
|
|
<AspNetSimpleVersion>$(AspNetCoreSharedFxBaseRuntimeVersion)</AspNetSimpleVersion>
|
|
|
|
<AspNetSimpleVersion Condition=" '$(AspNetVersionPrereleaseSeparator)' != -1 ">$(AspNetCoreSharedFxBaseRuntimeVersion.Substring(0, $(AspNetVersionPrereleaseSeparator)))</AspNetSimpleVersion>
|
|
|
|
|
2018-07-12 23:20:39 +00:00
|
|
|
<AspNetVersionPatchSeparator>$(AspNetSimpleVersion.LastIndexOf('.'))</AspNetVersionPatchSeparator>
|
|
|
|
<AspNetSimpleVersion Condition=" '$(AspNetVersionPatchSeparator)' != -1 ">$(AspNetSimpleVersion.Substring(0, $(AspNetVersionPatchSeparator)))</AspNetSimpleVersion>
|
|
|
|
|
2018-07-10 01:05:56 +00:00
|
|
|
<!-- dotnet-runtime package may not currently be available -->
|
|
|
|
<InstallAspNetCoreSharedFxArgs>--ignore-depends=dotnet-runtime-$(AspNetSimpleVersion)</InstallAspNetCoreSharedFxArgs>
|
2018-01-09 23:36:23 +00:00
|
|
|
</PropertyGroup>
|
|
|
|
</Target>
|
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<Target Name="BuildSdkDeb"
|
2017-06-13 19:42:51 +00:00
|
|
|
Condition=" '$(IsDebianBaseDistro)' == 'True' AND '$(DebuildPresent)' == 'true' "
|
2016-08-27 22:57:14 +00:00
|
|
|
DependsOnTargets="PrepareDotnetDebDirectories;
|
2018-01-09 21:27:50 +00:00
|
|
|
PrepareDotnetDebTool;
|
2018-01-09 23:36:23 +00:00
|
|
|
GetAspNetSharedFxInstallArgs;"
|
2016-08-28 00:49:21 +00:00
|
|
|
Inputs="@(CLISdkFiles)"
|
2018-11-06 22:29:00 +00:00
|
|
|
Outputs="$(SdkDebInstallerFile)" >
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Install Shared Framework Packages -->
|
2019-04-01 21:24:56 +00:00
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedNetCoreAppTargetingPackInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedAspNetTargetingPackInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedRuntimeDepsInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedSharedHostInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedHostFxrInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedSharedFrameworkInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg $(InstallAspNetCoreSharedFxArgs) -i $(DownloadedAspNetCoreSharedFxInstallerFile)" />
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Create layout: Binaries -->
|
2016-08-19 21:52:06 +00:00
|
|
|
<Copy
|
2016-08-28 00:49:21 +00:00
|
|
|
DestinationFiles="@(CLISdkFiles->'$(LayoutPackageRootDir)/sdk/%(RecursiveDir)%(Filename)%(Extension)')"
|
2017-04-26 19:12:25 +00:00
|
|
|
SourceFiles="@(CLISdkFiles)"
|
2016-08-19 21:52:06 +00:00
|
|
|
OverwriteReadOnlyFiles="True"
|
|
|
|
SkipUnchangedFiles="False"
|
2016-08-28 00:49:21 +00:00
|
|
|
UseHardlinksIfPossible="False" />
|
2017-04-26 19:12:25 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Create layout: Man Pages -->
|
2016-08-19 21:52:06 +00:00
|
|
|
<Copy
|
2016-08-28 00:49:21 +00:00
|
|
|
DestinationFiles="@(SdkDebManPageFiles->'$(LayoutDocsDir)/%(RecursiveDir)%(Filename)-$(SdkVersion)%(Extension)')"
|
2016-08-19 21:52:06 +00:00
|
|
|
SourceFiles="@(SdkDebManPageFiles)"
|
|
|
|
OverwriteReadOnlyFiles="True"
|
|
|
|
SkipUnchangedFiles="False"
|
2016-08-28 00:49:21 +00:00
|
|
|
UseHardlinksIfPossible="False" />
|
2016-08-19 21:52:06 +00:00
|
|
|
|
2017-07-27 06:10:48 +00:00
|
|
|
<!-- Create layout: Generate and Place postinst -->
|
|
|
|
<ReplaceFileContents
|
2018-04-05 03:57:45 +00:00
|
|
|
InputFiles="$(DebianPostinstTemplateFile)"
|
|
|
|
DestinationFiles="$(DebianPostinstFile)"
|
2017-07-27 06:10:48 +00:00
|
|
|
ReplacementItems="@(DebianPostInstTokenValues)" />
|
|
|
|
|
|
|
|
<Chmod
|
|
|
|
Glob="$(DebianPostinstFile)"
|
|
|
|
Mode="ugo+x" />
|
2017-04-26 19:12:25 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Create layout: Generate and Place debian_config.json -->
|
2016-08-27 22:57:14 +00:00
|
|
|
<ReplaceFileContents
|
2018-04-05 03:57:45 +00:00
|
|
|
InputFiles="$(DebianConfigTemplateFile)"
|
|
|
|
DestinationFiles="$(DebianConfigJsonFile)"
|
2017-02-23 21:24:21 +00:00
|
|
|
ReplacementItems="@(DebianConfigTokenValues)" />
|
2016-08-27 22:57:14 +00:00
|
|
|
|
2018-11-02 06:15:59 +00:00
|
|
|
<!--<Chmod
|
2017-03-03 21:30:57 +00:00
|
|
|
Glob="$(PackageTool)"
|
2018-11-02 06:15:59 +00:00
|
|
|
Mode="u+x" />-->
|
2017-03-03 21:30:57 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Build SDK Deb package -->
|
2018-12-06 01:48:17 +00:00
|
|
|
<DotNetDebTool ToolPath="$(_DotNetRoot)"
|
2016-08-28 00:49:21 +00:00
|
|
|
InputDirectory="$(LayoutDirectory)"
|
|
|
|
OutputDirectory="$(DotNetDebToolOutputDirectory)"
|
2016-08-19 21:52:06 +00:00
|
|
|
PackageName="$(SdkDebianPackageName)"
|
|
|
|
PackageVersion="$(SdkVersion)"
|
|
|
|
WorkingDirectory="$(DotnetDebToolDir)" />
|
2017-04-26 19:12:25 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Copy SDK package to output -->
|
2016-08-27 22:57:14 +00:00
|
|
|
<ItemGroup>
|
|
|
|
<GeneratedDebFiles Include="$(DotNetDebToolOutputDirectory)/*.deb" />
|
|
|
|
</ItemGroup>
|
2017-04-26 19:12:25 +00:00
|
|
|
|
2016-08-27 22:57:14 +00:00
|
|
|
<Error Text="@(GeneratedDebFiles->Count()) .deb files generated." Condition="'@(GeneratedDebFiles->Count())' != 1" />
|
|
|
|
|
|
|
|
<Copy
|
2018-11-06 22:29:00 +00:00
|
|
|
DestinationFiles="$(SdkDebInstallerFile)"
|
2016-08-27 22:57:14 +00:00
|
|
|
SourceFiles="@(GeneratedDebFiles)"
|
|
|
|
OverwriteReadOnlyFiles="True"
|
|
|
|
SkipUnchangedFiles="False"
|
|
|
|
UseHardlinksIfPossible="False" />
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2018-07-26 21:48:10 +00:00
|
|
|
<!-- Proactively remove all possible Shared Framework and Debian Packages -->
|
2018-08-30 17:16:28 +00:00
|
|
|
<ItemGroup>
|
|
|
|
<SetupDebPackageToRemove Include="$(SdkDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(AspNetCoreSharedFxDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(AspNetCoreSharedFxDebianPackageFileName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(SharedFxDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(SharedFxDebianPackageFileName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(HostFxrDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(HostFxrDebianPackageFileName)" />
|
2019-04-01 21:24:56 +00:00
|
|
|
<SetupDebPackageToRemove Include="$(SharedHostDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(AspNetTargetingPackDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(AspNetTargetingPackDebianPackageFileName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(NetCoreAppTargetingPackDebianPackageName)" />
|
|
|
|
<SetupDebPackageToRemove Include="$(NetCoreAppTargetingPackDebianPackageFileName)" />
|
2018-08-30 17:16:28 +00:00
|
|
|
<SetupDebPackageToRemove Include="$(RuntimeDepsPackageName)" />
|
|
|
|
</ItemGroup>
|
|
|
|
<!-- The following line is needed. So it won't warning dotnet folder is not empty after uninstall -->
|
|
|
|
<Exec Command="sudo rm -rf /usr/share/dotnet/sdk/NuGetFallbackFolder" />
|
|
|
|
<Exec Command="!(dpkg-query -W %(SetupDebPackageToRemove.Identity)) || sudo dpkg -r %(SetupDebPackageToRemove.Identity)" />
|
2016-08-18 17:11:20 +00:00
|
|
|
</Target>
|
|
|
|
|
|
|
|
<Target Name="TestSdkDeb"
|
2018-01-12 18:11:44 +00:00
|
|
|
Condition=" '$(CLIBUILD_SKIP_TESTS)' != 'true' and '$(IsDebianBaseDistro)' == 'True' and '$(DebuildPresent)' == 'true' "
|
2019-04-01 21:24:56 +00:00
|
|
|
DependsOnTargets="GetAspNetSharedFxInstallArgs"
|
|
|
|
Inputs="$(DownloadedRuntimeDepsInstallerFile);
|
|
|
|
$(DownloadedNetCoreAppTargetingPackInstallerFile);
|
|
|
|
$(DownloadedAspNetTargetingPackInstallerFile);
|
|
|
|
$(DownloadedSharedHostInstallerFile);
|
2016-08-18 17:11:20 +00:00
|
|
|
$(DownloadedHostFxrInstallerFile);
|
|
|
|
$(DownloadedSharedFrameworkInstallerFile);
|
2019-04-01 21:24:56 +00:00
|
|
|
$(DownloadedAspNetCoreSharedFxInstallerFile);
|
|
|
|
$(SdkDebInstallerFile);
|
|
|
|
$(DebianTestResultsXmlFile);"
|
2016-08-18 17:11:20 +00:00
|
|
|
Outputs="$(DebianTestResultsXmlFile)" >
|
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Install Dependencies and SDK Packages -->
|
2018-01-06 00:14:57 +00:00
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedRuntimeDepsInstallerFile)" />
|
2019-04-01 21:24:56 +00:00
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedNetCoreAppTargetingPackInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedAspNetTargetingPackInstallerFile)" />
|
2017-01-25 19:43:07 +00:00
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedSharedHostInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedHostFxrInstallerFile)" />
|
|
|
|
<Exec Command="sudo dpkg -i $(DownloadedSharedFrameworkInstallerFile)" />
|
2018-01-09 23:36:23 +00:00
|
|
|
<Exec Command="sudo dpkg $(InstallAspNetCoreSharedFxArgs) -i $(DownloadedAspNetCoreSharedFxInstallerFile)" />
|
2017-01-25 19:43:07 +00:00
|
|
|
|
2018-11-06 22:29:00 +00:00
|
|
|
<Exec Command="sudo dpkg -i $(SdkDebInstallerFile)" />
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2019-04-01 21:24:56 +00:00
|
|
|
<!-- Run End-2-end Tests https://github.com/dotnet/core-sdk/issues/1174
|
2017-04-26 19:12:25 +00:00
|
|
|
<DotNetRestore ProjectPath="$(EndToEndTestProject)"
|
|
|
|
ToolPath="$(DebianInstalledDirectory)" />
|
2016-11-12 07:46:29 +00:00
|
|
|
<DotNetTest ProjectPath="$(EndToEndTestProject)"
|
2016-08-18 17:11:20 +00:00
|
|
|
EnvironmentVariables="@(TestSdkDebTaskEnvironmentVariables)"
|
2019-04-01 21:24:56 +00:00
|
|
|
ToolPath="$(DebianInstalledDirectory)" />-->
|
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Clean up Packages -->
|
2018-08-15 21:13:07 +00:00
|
|
|
<!-- The following line is needed. So it won't warning dotnet folder is not empty after uninstall -->
|
|
|
|
<Exec Command="sudo rm -rf /usr/share/dotnet/sdk/NuGetFallbackFolder" />
|
|
|
|
|
2018-08-30 17:16:28 +00:00
|
|
|
<ItemGroup>
|
|
|
|
<TestSdkDebPackageToRemove Include="$(SdkDebianPackageName)" />
|
|
|
|
<TestSdkDebPackageToRemove Include="$(AspNetCoreSharedFxDebianPackageName)" />
|
|
|
|
<TestSdkDebPackageToRemove Include="$(SharedFxDebianPackageName)" />
|
|
|
|
<TestSdkDebPackageToRemove Include="$(HostFxrDebianPackageName)" />
|
2019-04-01 21:24:56 +00:00
|
|
|
<TestSdkDebPackageToRemove Include="$(SharedHostDebianPackageName)" />
|
|
|
|
<TestSdkDebPackageToRemove Include="$(AspNetTargetingPackDebianPackageName)" />
|
|
|
|
<TestSdkDebPackageToRemove Include="$(NetCoreAppTargetingPackDebianPackageName)" />
|
2018-08-30 17:16:28 +00:00
|
|
|
<TestSdkDebPackageToRemove Include="$(RuntimeDepsPackageName)"/>
|
|
|
|
</ItemGroup>
|
|
|
|
<!-- If package installed remove it -->
|
|
|
|
<Exec Command="!(dpkg-query -W %(TestSdkDebPackageToRemove.Identity)) || sudo dpkg -r %(TestSdkDebPackageToRemove.Identity)" />
|
2016-08-18 17:11:20 +00:00
|
|
|
</Target>
|
|
|
|
|
2018-11-02 06:15:59 +00:00
|
|
|
<Target Name="PrepareDotnetDebDirectories" DependsOnTargets="SetupDebProps">
|
2016-08-19 21:52:06 +00:00
|
|
|
|
|
|
|
<!-- Clean the workspace -->
|
|
|
|
<ItemGroup>
|
2016-08-28 00:49:21 +00:00
|
|
|
<FilesToClean Remove="*" />
|
2018-11-06 22:29:00 +00:00
|
|
|
<FilesToClean Include="$(SdkDebInstallerFile)" />
|
2016-08-28 00:49:21 +00:00
|
|
|
|
|
|
|
<WorkspaceDirectories Remove="*" />
|
|
|
|
<WorkspaceDirectories Include="$(SdkDebianIntermediateDirectory);
|
|
|
|
$(LayoutDirectory)" />
|
|
|
|
|
|
|
|
<LayoutSubDirectories Remove="*" />
|
|
|
|
<LayoutSubDirectories Include="$(LayoutPackageRootDir);
|
|
|
|
$(LayoutAbsolutePlacementDir);
|
|
|
|
$(LayoutSamplesDir);
|
|
|
|
$(LayoutDocsDir);
|
|
|
|
$(LayoutDebianFilesDir)" />
|
2016-08-19 21:52:06 +00:00
|
|
|
</ItemGroup>
|
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<Delete Files="@(FilesToClean)" />
|
|
|
|
<RemoveDir Directories="@(WorkspaceDirectories)" />
|
|
|
|
|
|
|
|
<!-- Rebuild the workspace -->
|
|
|
|
<MakeDir Directories="@(WorkspaceDirectories)" />
|
|
|
|
<MakeDir Directories="@(LayoutSubDirectories)" />
|
|
|
|
<MakeDir Directories="$(DotNetDebToolOutputDirectory)" />
|
2016-08-19 21:52:06 +00:00
|
|
|
</Target>
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2017-09-01 19:12:10 +00:00
|
|
|
<Target Name="PrepareDotnetDebTool">
|
2016-08-18 17:11:20 +00:00
|
|
|
|
2018-11-02 06:15:59 +00:00
|
|
|
<!--<DotNetRestore ToolPath="$(PreviousStageDirectory)"
|
|
|
|
WorkingDirectory="$(DotnetDebToolDir)" />-->
|
2016-08-18 17:11:20 +00:00
|
|
|
</Target>
|
|
|
|
|
2016-08-27 22:57:14 +00:00
|
|
|
<Target Name="TestDebuild">
|
2016-08-29 18:18:34 +00:00
|
|
|
<Message Text="Don't remove this" />
|
2017-04-26 19:12:25 +00:00
|
|
|
|
2018-08-06 20:23:11 +00:00
|
|
|
<!-- run Debuild -->
|
|
|
|
<!-- NB: IgnoreExitCode prevents Exec from failing, but does not prevent us from retrieving the exit code. -->
|
|
|
|
<Exec Command="/usr/bin/env debuild -h > /dev/null 2>&1" IgnoreExitCode="true">
|
2016-08-25 22:53:15 +00:00
|
|
|
<Output TaskParameter="ExitCode" PropertyName="DebuildExitCode" />
|
2017-04-26 19:12:25 +00:00
|
|
|
</Exec>
|
2016-08-25 20:19:22 +00:00
|
|
|
|
2016-08-28 00:49:21 +00:00
|
|
|
<!-- Check if it returned 0 -->
|
2016-08-25 22:53:15 +00:00
|
|
|
<PropertyGroup>
|
|
|
|
<DebuildPresent>false</DebuildPresent>
|
|
|
|
<DebuildPresent Condition=" '$(DebuildExitCode)' == '0' ">true</DebuildPresent>
|
|
|
|
</PropertyGroup>
|
|
|
|
|
|
|
|
<!-- Workaround for Ubuntu16 Jenkins https://github.com/dotnet/core-setup/issues/167 -->
|
|
|
|
<Message Condition=" '$(DebuildPresent)' != 'true' "
|
|
|
|
Text="Debuild Not found, Debian packages will not be built."
|
|
|
|
Importance="High" />
|
2016-08-25 20:19:22 +00:00
|
|
|
</Target>
|
2016-06-28 01:26:57 +00:00
|
|
|
</Project>
|