Merge remote-tracking branch 'upstream/dev/release/2.0.0'
This commit is contained in:
Коммит
3119d09f2b
|
@ -1 +1 @@
|
|||
2.0.0-preview1-005899
|
||||
2.0.0-preview1-005977
|
||||
|
|
|
@ -12,6 +12,7 @@
|
|||
<BaseIntermediateOutputPath Condition="'$(BaseIntermediateOutputPath)'==''">$(ObjDir)</BaseIntermediateOutputPath>
|
||||
|
||||
<!-- Input Directories -->
|
||||
<PackagesDir>$(DotNetRestorePackagesPath)</PackagesDir>
|
||||
<PackagesDir Condition="'$(PackagesDir)'==''">$(RepoRoot)packages/</PackagesDir>
|
||||
<ToolRuntimePath Condition="'$(ToolRuntimePath)'==''">$(RepoRoot)Tools/</ToolRuntimePath>
|
||||
<LocalToolRuntimePath Condition="'$(LocalToolRuntimePath)' == ''">$(ToolRuntimePath)local/</LocalToolRuntimePath>
|
||||
|
@ -27,4 +28,8 @@
|
|||
<PackagingTaskDir Condition="'$(BuildToolsTaskDir)' != ''">$(BuildToolsTaskDir)</PackagingTaskDir>
|
||||
<DotnetCliPath Condition="'$(DotnetCliPath)'==''">$(ToolsDir)dotnetcli/</DotnetCliPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<HostMachineInfoProps>$(BaseIntermediateOutputPath)HostMachineInfo.props</HostMachineInfoProps>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
21
build.proj
21
build.proj
|
@ -16,6 +16,7 @@
|
|||
<TraversalBuildDependencies>
|
||||
CreateOrUpdateCurrentVersionFile;
|
||||
CreateVersionInfoFile;
|
||||
CreateHostMachineInfoFile;
|
||||
BatchRestorePackages;
|
||||
BuildCustomTasks;
|
||||
</TraversalBuildDependencies>
|
||||
|
@ -34,6 +35,26 @@
|
|||
<Target Name="BuildTraversalBuildDependencies"
|
||||
DependsOnTargets="$(TraversalBuildDependencies)" />
|
||||
|
||||
<Target Name="CreateHostMachineInfoFile">
|
||||
<GetTargetMachineInfo>
|
||||
<Output PropertyName="HostMachineRid" TaskParameter="RuntimeIdentifier" />
|
||||
</GetTargetMachineInfo>
|
||||
|
||||
<PropertyGroup>
|
||||
<HostMachineInfoPropsContent>
|
||||
<Project>
|
||||
<PropertyGroup>
|
||||
<HostMachineRid>$(HostMachineRid)</HostMachineRid>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
</HostMachineInfoPropsContent>
|
||||
</PropertyGroup>
|
||||
|
||||
<WriteLinesToFile File="$(HostMachineInfoProps)"
|
||||
Lines="$(HostMachineInfoPropsContent)"
|
||||
Overwrite="True" />
|
||||
</Target>
|
||||
|
||||
<Target Name="BatchRestorePackages" Condition="'$(RestoreDuringBuild)'=='true'">
|
||||
<Message Importance="High" Text="Restoring all packages..." />
|
||||
<Exec Condition="'@(SdkRestoreProjects)' != ''" Command="$(DotnetRestoreCommand) "%(SdkRestoreProjects.FullPath)" $(MSBuildPassThroughPropertyList)" StandardOutputImportance="Low" />
|
||||
|
|
|
@ -123,7 +123,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(PB_CrossBuildArgs)$(DockerCommonRunArgs) $(PB_GitDirectory)/build.sh -OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments)",
|
||||
"arguments": "run --rm $(PB_CrossBuildArgs)$(DockerCommonRunArgs) $(PB_GitDirectory)/build.sh -OfficialBuildId=$(OfficialBuildId) $(PB_BuildArguments) -- $(PB_AdditionalMSBuildArguments)",
|
||||
"workingFolder": "$(PB_SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -141,7 +141,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --privileged --rm $(DockerCommonRunArgs) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:DistroRid=$(PB_DistroRid) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=Linux /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) /p:DebianId_ubuntu1404-x64=$(PB_DebianId_ubuntu1404-x64) /p:DebianId_debian8-x64=$(PB_DebianId_debian8-x64) /p:DebianId_ubuntu1604-x64=$(PB_DebianId_ubuntu1604-x64) /p:DebianId_ubuntu1610-x64=$(PB_DebianId_ubuntu1610-x64)",
|
||||
"arguments": "run --privileged --rm $(DockerCommonRunArgs) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=Linux /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) /p:DebianId_ubuntu1404-x64=$(PB_DebianId_ubuntu1404-x64) /p:DebianId_debian8-x64=$(PB_DebianId_debian8-x64) /p:DebianId_ubuntu1604-x64=$(PB_DebianId_ubuntu1604-x64) /p:DebianId_ubuntu1610-x64=$(PB_DebianId_ubuntu1610-x64) $(PB_AdditionalMSBuildArguments)",
|
||||
"workingFolder": "$(PB_SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -357,19 +357,22 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "sourcebuild"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_AzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_DistroRid": {
|
||||
"value": "ubuntu.14.04-arm"
|
||||
},
|
||||
"PB_TargetArchitecture": {
|
||||
"value": "arm"
|
||||
},
|
||||
"PB_AdditionalBuildArguments": {
|
||||
"value": ""
|
||||
},
|
||||
"PB_AdditionalMSBuildArguments": {
|
||||
"value": ""
|
||||
},
|
||||
"PB_PortableBuild": {
|
||||
"value": "false"
|
||||
},
|
||||
|
@ -382,6 +385,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_ChecksumAzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
|
|
@ -141,7 +141,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --privileged --rm $(DockerCommonRunArgs) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:DistroRid=$(PB_DistroRid) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=Linux /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) /p:DebianId_ubuntu1404-x64=$(PB_DebianId_ubuntu1404-x64) /p:DebianId_debian8-x64=$(PB_DebianId_debian8-x64) /p:DebianId_ubuntu1604-x64=$(PB_DebianId_ubuntu1604-x64) /p:DebianId_ubuntu1610-x64=$(PB_DebianId_ubuntu1610-x64)",
|
||||
"arguments": "run --privileged --rm $(DockerCommonRunArgs) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=Linux /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) /p:DebianId_ubuntu1404-x64=$(PB_DebianId_ubuntu1404-x64) /p:DebianId_debian8-x64=$(PB_DebianId_debian8-x64) /p:DebianId_ubuntu1604-x64=$(PB_DebianId_ubuntu1604-x64) /p:DebianId_ubuntu1610-x64=$(PB_DebianId_ubuntu1610-x64)",
|
||||
"workingFolder": "$(PB_SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -215,7 +215,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Ubuntu1404) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -233,7 +233,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Ubuntu1404) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -251,7 +251,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Ubuntu1404) /p:PublishDebToolToFeed=true /p:CliNuGetFeedUrl=$(CLI_NUGET_FEED_URL) /p:CliNuGetApiKey=$(CLI_NUGET_API_KEY) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1404) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:PublishDebToolToFeed=true /p:CliNuGetFeedUrl=$(CLI_NUGET_FEED_URL) /p:CliNuGetApiKey=$(CLI_NUGET_API_KEY) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -305,7 +305,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Ubuntu1604) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -323,7 +323,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Ubuntu1604) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -341,7 +341,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Ubuntu1604) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1604) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -395,7 +395,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Ubuntu1610) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -413,7 +413,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Ubuntu1610) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -431,7 +431,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Ubuntu1610) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Ubuntu1610) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -485,7 +485,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Debian8) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -503,7 +503,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Debian8) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -521,7 +521,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Debian8) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian8) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -575,7 +575,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Debian9) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -593,7 +593,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Debian9) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -611,7 +611,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Debian9) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Debian9) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -665,7 +665,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies /p:DistroRid=$(DistroRid_Rhel7) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/build.proj /t:BuildTraversalBuildDependencies $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -683,7 +683,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) /p:DistroRid=$(DistroRid_Rhel7) $(DistroSpecificMSBuildArguments)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/src/pkg/packaging/dir.proj $(AdditionalMSBuildProperties) $(DistroSpecificMSBuildArguments)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -701,7 +701,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "docker",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj /p:DistroRid=$(DistroRid_Rhel7) $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"arguments": "run --rm $(DockerCommonRunArgs_Rhel7) $(PB_GitDirectory)/Tools/msbuild.sh $(PB_GitDirectory)/publish/publish.proj $(DistroSpecificMSBuildArguments) $(DistroSpecificMSBuildPublishArgs)",
|
||||
"workingFolder": "",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -854,6 +854,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_ChecksumAzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -928,13 +931,13 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "sourcebuild"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_AzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_DistroRid": {
|
||||
"value": "ubuntu.14.04-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"PB_TargetArchitecture": {
|
||||
"value": "x64"
|
||||
},
|
||||
|
@ -957,7 +960,7 @@
|
|||
"value": "/flp:v=diag /p:TargetArchitecture=$(PB_TargetArchitecture) /p:PortableBuild=false /p:ConfigurationGroup=$(BuildConfiguration) /p:OSGroup=Linux /p:OfficialBuildId=$(OfficialBuildId)"
|
||||
},
|
||||
"DistroSpecificMSBuildPublishArgs": {
|
||||
"value": "/p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) $(PB_DebianKeys)"
|
||||
"value": "/p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:DebRepoUser=$(PB_DebRepoUser) /p:DebRepoServer=$(PB_DebRepoServer) /p:DebRepoPass=$(DEB_REPO_PASSWORD) $(PB_DebianKeys)"
|
||||
},
|
||||
"PB_DebianKeys": {
|
||||
"value": "/p:DebianId_ubuntu1404-x64=$(PB_DebianId_ubuntu1404-x64) /p:DebianId_debian8-x64=$(PB_DebianId_debian8-x64) /p:DebianId_debian9-x64=$(PB_DebianId_debian9-x64) /p:DebianId_ubuntu1604-x64=$(PB_DebianId_ubuntu1604-x64) /p:DebianId_ubuntu1610-x64=$(PB_DebianId_ubuntu1610-x64)"
|
||||
|
@ -965,9 +968,6 @@
|
|||
"DockerTag_Ubuntu1404": {
|
||||
"value": "ubuntu-14.04-debpkg-e5cf912-20175003025046"
|
||||
},
|
||||
"DistroRid_Ubuntu1404": {
|
||||
"value": "ubuntu.14.04-x64"
|
||||
},
|
||||
"DockerImageName_Ubuntu1404": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Ubuntu1404)"
|
||||
},
|
||||
|
@ -977,9 +977,6 @@
|
|||
"DockerTag_Ubuntu1604": {
|
||||
"value": "ubuntu-16.04-debpkg-e5cf912-20174703024721"
|
||||
},
|
||||
"DistroRid_Ubuntu1604": {
|
||||
"value": "ubuntu.16.04-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"DockerImageName_Ubuntu1604": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Ubuntu1604)"
|
||||
},
|
||||
|
@ -989,9 +986,6 @@
|
|||
"DockerTag_Ubuntu1610": {
|
||||
"value": "ubuntu-16.10-debpkg-ec863bb-20170003030028"
|
||||
},
|
||||
"DistroRid_Ubuntu1610": {
|
||||
"value": "ubuntu.16.10-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"DockerImageName_Ubuntu1610": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Ubuntu1610)"
|
||||
},
|
||||
|
@ -1001,9 +995,6 @@
|
|||
"DockerTag_Debian8": {
|
||||
"value": "debian-8.2-debpkg-9f87c3c-20173003023006"
|
||||
},
|
||||
"DistroRid_Debian8": {
|
||||
"value": "debian.8-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"DockerImageName_Debian8": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Debian8)"
|
||||
},
|
||||
|
@ -1013,9 +1004,6 @@
|
|||
"DockerTag_Debian9": {
|
||||
"value": "debian-8.2-debpkg-9f87c3c-20173003023006"
|
||||
},
|
||||
"DistroRid_Debian9": {
|
||||
"value": "debian.9-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"DockerImageName_Debian9": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Debian9)"
|
||||
},
|
||||
|
@ -1025,9 +1013,6 @@
|
|||
"DockerTag_Rhel7": {
|
||||
"value": "rhel-7-rpmpkg-c982313-20174116044113"
|
||||
},
|
||||
"DistroRid_Rhel7": {
|
||||
"value": "rhel.7-$(PB_TargetArchitecture)"
|
||||
},
|
||||
"DockerImageName_Rhel7": {
|
||||
"value": "$(PB_DockerRepository):$(DockerTag_Rhel7)"
|
||||
},
|
||||
|
|
|
@ -85,7 +85,7 @@
|
|||
},
|
||||
"inputs": {
|
||||
"filename": "$(PB_SourcesDirectory)/Tools/msbuild.sh",
|
||||
"arguments": "$(PB_SourcesDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=OSX",
|
||||
"arguments": "$(PB_SourcesDirectory)/publish/publish.proj /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:ConfigurationGroup=$(BuildConfiguration) /p:PortableBuild=$(PB_PortableBuild) /p:OSGroup=OSX",
|
||||
"workingFolder": "$(PB_SourcesDirectory)",
|
||||
"failOnStandardError": "false"
|
||||
}
|
||||
|
@ -193,6 +193,9 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "sourcebuild"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_AzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -200,6 +203,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_ChecksumAzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
|
|
@ -232,7 +232,7 @@
|
|||
"solution": "$(PB_SourcesDirectory)\\publish\\publish.proj",
|
||||
"platform": "$(PB_TargetArchitecture)",
|
||||
"configuration": "$(BuildConfiguration)",
|
||||
"msbuildArguments": "/p:Configuration=$(BuildConfiguration) $(PB_CommonMSBuildArgs) /p:SignType=$(PB_SignType) /p:NuGetFeedUrl=$(NUGET_FEED_URL) /p:NuGetSymbolsFeedUrl=$(NUGET_SYMBOLS_FEED_URL) /p:NuGetApiKey=$(NUGET_API_KEY) /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:GitHubUser=$(PB_GitHubUser) /p:GitHubEmail=$(PB_GitHubEmail) /p:GitHubAuthToken=$(GITHUB_PASSWORD) /p:VersionsRepoOwner=$(PB_VersionsRepoOwner) /p:VersionsRepo=$(PB_VersionsRepo) /p:VersionsRepoPath=build-info/dotnet/$(PB_RepoName)/$(SourceBranch) /p:Finalize=true /p:DotNetToolDir=$(DotNetToolDir) /p:EmbedIndexToolDir=$(EmbedIndexToolDir) /flp:v=detailed;LogFile=$(PB_SourcesDirectory)\\publish.log",
|
||||
"msbuildArguments": "/p:Configuration=$(BuildConfiguration) $(PB_CommonMSBuildArgs) /p:SignType=$(PB_SignType) /p:NuGetFeedUrl=$(NUGET_FEED_URL) /p:NuGetSymbolsFeedUrl=$(NUGET_SYMBOLS_FEED_URL) /p:NuGetApiKey=$(NUGET_API_KEY) /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /p:GitHubUser=$(PB_GitHubUser) /p:GitHubEmail=$(PB_GitHubEmail) /p:GitHubAuthToken=$(GITHUB_PASSWORD) /p:VersionsRepoOwner=$(PB_VersionsRepoOwner) /p:VersionsRepo=$(PB_VersionsRepo) /p:VersionsRepoPath=build-info/dotnet/$(PB_RepoName)/$(SourceBranch) /p:Finalize=true /p:DotNetToolDir=$(DotNetToolDir) /p:EmbedIndexToolDir=$(EmbedIndexToolDir) /flp:v=detailed;LogFile=$(PB_SourcesDirectory)\\publish.log",
|
||||
"clean": "false",
|
||||
"maximumCpuCount": "false",
|
||||
"restoreNugetPackages": "false",
|
||||
|
@ -363,9 +363,6 @@
|
|||
"value": null,
|
||||
"isSecret": true
|
||||
},
|
||||
"PB_DistroRid": {
|
||||
"value": "win7-x64"
|
||||
},
|
||||
"NUGET_SYMBOLS_FEED_URL": {
|
||||
"value": "https:%2F%2Fdotnet.myget.org/F/dotnet-core/symbols/api/v2/package"
|
||||
},
|
||||
|
@ -378,6 +375,9 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "dotnetcli"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_AzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -385,6 +385,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_ChecksumAzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -400,7 +403,7 @@
|
|||
"value": "HEAD"
|
||||
},
|
||||
"PB_CommonMSBuildArgs": {
|
||||
"value": "/p:DistroRid=$(PB_DistroRid) /p:ConfigurationGroup=$(BuildConfiguration) /p:TargetArchitecture=$(PB_TargetArchitecture)"
|
||||
"value": "/p:ConfigurationGroup=$(BuildConfiguration) /p:TargetArchitecture=$(PB_TargetArchitecture)"
|
||||
},
|
||||
"OfficialBuildId": {
|
||||
"value": "$(Build.BuildNumber)"
|
||||
|
|
|
@ -291,7 +291,7 @@
|
|||
"msbuildLocation": "",
|
||||
"platform": "$(PB_TargetArchitecture)",
|
||||
"configuration": "$(BuildConfiguration)",
|
||||
"msbuildArguments": "$(PB_CommonMSBuildArgs) /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken)",
|
||||
"msbuildArguments": "$(PB_CommonMSBuildArgs) /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken)",
|
||||
"clean": "false",
|
||||
"maximumCpuCount": "false",
|
||||
"restoreNugetPackages": "false",
|
||||
|
@ -445,10 +445,6 @@
|
|||
"CertificateId": {
|
||||
"value": "400"
|
||||
},
|
||||
"PB_DistroRid": {
|
||||
"value": "win-$(PB_TargetArchitecture)",
|
||||
"allowOverride": true
|
||||
},
|
||||
"MsbuildSigningArguments": {
|
||||
"value": "/p:CertificateId=$(CertificateId) /v:detailed /p:SignType=$(PB_SignType)"
|
||||
},
|
||||
|
@ -468,6 +464,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_ChecksumAzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -478,6 +477,9 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "sourcebuild"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_AzureAccessToken": {
|
||||
"value": null,
|
||||
"isSecret": true
|
||||
|
@ -501,7 +503,7 @@
|
|||
"allowOverride": true
|
||||
},
|
||||
"PB_CommonMSBuildArgs": {
|
||||
"value": "/p:DistroRid=$(PB_DistroRid) /p:ConfigurationGroup=$(BuildConfiguration) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:PortableBuild=$(PB_PortableBuild) /p:DisableCrossgen=true $(PB_AdditionalBuildArguments)"
|
||||
"value": "/p:ConfigurationGroup=$(BuildConfiguration) /p:TargetArchitecture=$(PB_TargetArchitecture) /p:PortableBuild=$(PB_PortableBuild) /p:DisableCrossgen=true $(PB_AdditionalBuildArguments)"
|
||||
},
|
||||
"PB_AdditionalBuildArguments": {
|
||||
"value": ""
|
||||
|
|
|
@ -480,7 +480,7 @@
|
|||
"msbuildLocation": "",
|
||||
"platform": "$(PB_TargetArchitecture)",
|
||||
"configuration": "$(BuildConfiguration)",
|
||||
"msbuildArguments": "$(PB_CommonMSBuildArgs) /p:AzureAccountName=$(PB_AzureAccountName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:PublishRidAgnosticPackages=$(PB_PublishRidAgnosticPackages) /p:BuildFullPlatformManifest=$(PB_BuildFullPlatformManifest) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /flp:v=detailed;LogFile=$(PB_SourcesDirectory)\\publish.log",
|
||||
"msbuildArguments": "$(PB_CommonMSBuildArgs) /p:AzureAccountName=$(PB_AzureAccountName) /p:ContainerName=$(PB_ContainerName) /p:AzureAccessToken=$(PB_AzureAccessToken) /p:PublishRidAgnosticPackages=$(PB_PublishRidAgnosticPackages) /p:BuildFullPlatformManifest=$(PB_BuildFullPlatformManifest) /p:ChecksumAzureAccountName=$(PB_ChecksumAzureAccountName) p:ChecksumContainerName=$(PB_ChecksumContainerName) /p:ChecksumAzureAccessToken=$(PB_ChecksumAzureAccessToken) /flp:v=detailed;LogFile=$(PB_SourcesDirectory)\\publish.log",
|
||||
"clean": "false",
|
||||
"maximumCpuCount": "false",
|
||||
"restoreNugetPackages": "false",
|
||||
|
@ -644,6 +644,9 @@
|
|||
"PB_AzureAccountName": {
|
||||
"value": "sourcebuild"
|
||||
},
|
||||
"PB_ContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_Branch": {
|
||||
"value": "master",
|
||||
"allowOverride": true
|
||||
|
@ -658,6 +661,9 @@
|
|||
"PB_ChecksumAzureAccountName": {
|
||||
"value": "dotnetclichecksums"
|
||||
},
|
||||
"PB_ChecksumContainerName": {
|
||||
"value": "dotnet"
|
||||
},
|
||||
"PB_CleanAgent": {
|
||||
"value": "true"
|
||||
},
|
||||
|
@ -761,7 +767,6 @@
|
|||
"clean": "false",
|
||||
"checkoutSubmodules": false
|
||||
},
|
||||
"processParameters": {},
|
||||
"quality": "definition",
|
||||
"queue": {
|
||||
"id": 36,
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
{
|
||||
"Name": "Core-Setup-Linux-BT",
|
||||
"Parameters": {
|
||||
"PB_DistroRid": "rhel.7.2-x64",
|
||||
"PB_DockerTag": "rhel7_prereqs_2",
|
||||
"PB_AdditionalBuildArguments":"-PortableBuild=true -strip-symbols",
|
||||
"PB_PortableBuild": "true"
|
||||
|
@ -33,10 +32,10 @@
|
|||
{
|
||||
"Name": "Core-Setup-Linux-Arm-BT",
|
||||
"Parameters": {
|
||||
"PB_DistroRid": "rhel.6-x64",
|
||||
"PB_DockerTag": "centos-6-c8c9b08-20174310104313",
|
||||
"PB_TargetArchitecture": "x64",
|
||||
"PB_AdditionalBuildArguments":"-TargetArchitecture=x64 -DistroRid=rhel.6-x64 -PortableBuild=false -strip-symbols",
|
||||
"PB_AdditionalBuildArguments":"-TargetArchitecture=x64 -PortableBuild=false -strip-symbols",
|
||||
"PB_AdditionalMSBuildArguments":"/p:OutputRid=rhel.6-x64",
|
||||
"PB_PortableBuild": "false"
|
||||
},
|
||||
"ReportingParameters": {
|
||||
|
@ -48,10 +47,9 @@
|
|||
{
|
||||
"Name": "Core-Setup-Linux-Arm-BT",
|
||||
"Parameters": {
|
||||
"PB_DistroRid": "ubuntu.14.04-arm",
|
||||
"PB_DockerTag": "ubuntu-14.04-cross-0cd4667-20172211042239",
|
||||
"PB_TargetArchitecture": "arm",
|
||||
"PB_AdditionalBuildArguments":"-TargetArchitecture=arm -DistroRid=linux-arm -DisableCrossgen=true -PortableBuild=true -SkipTests=true -CrossBuild=true -strip-symbols",
|
||||
"PB_AdditionalBuildArguments":"-TargetArchitecture=arm -DisableCrossgen=true -PortableBuild=true -SkipTests=true -CrossBuild=true -strip-symbols",
|
||||
"PB_CrossBuildArgs": "-e ROOTFS_DIR ",
|
||||
"PB_PortableBuild": "true"
|
||||
},
|
||||
|
@ -108,7 +106,6 @@
|
|||
{
|
||||
"Name": "Core-Setup-Windows-BT",
|
||||
"Parameters": {
|
||||
"PB_DistroRid": "win7-x64",
|
||||
"PB_TargetArchitecture": "x64",
|
||||
"PB_PortableBuild": "true",
|
||||
"PB_PublishRidAgnosticPackages": "true",
|
||||
|
@ -124,7 +121,6 @@
|
|||
{
|
||||
"Name": "Core-Setup-Windows-BT",
|
||||
"Parameters": {
|
||||
"PB_DistroRid": "win7-x86",
|
||||
"PB_TargetArchitecture": "x86",
|
||||
"PB_PortableBuild": "true"
|
||||
},
|
||||
|
|
|
@ -30,12 +30,6 @@
|
|||
"values": [ "True", "False"],
|
||||
"defaultValue": "False"
|
||||
},
|
||||
"DistroRid": {
|
||||
"description": "Specifies the distro rid for Unix OS.",
|
||||
"valueType": "property",
|
||||
"values": [],
|
||||
"defaultValue": "${OSRid}-${CPUArch}"
|
||||
},
|
||||
"TargetArchitecture":{
|
||||
"description": "Build for the specified architecture (x64, x86 (supported only on Windows), arm, or arm64, default: x64)",
|
||||
"valueType": "property",
|
||||
|
@ -270,7 +264,6 @@
|
|||
"TargetArchitecture": "default",
|
||||
"OSGroup": "default",
|
||||
"MsBuildLogging":"default",
|
||||
"DistroRid":"default",
|
||||
"Project":"build.proj"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,16 @@
|
|||
<CurrentRefXmlPath>$(MSBuildThisFileFullPath)</CurrentRefXmlPath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- infrastructure and test only dependencies -->
|
||||
<PropertyGroup>
|
||||
<MicrosoftBuildPackageVersion>15.1.1012</MicrosoftBuildPackageVersion>
|
||||
<MicrosoftBuildFrameworkPackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildFrameworkPackageVersion>
|
||||
<MicrosoftBuildTasksCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildTasksCorePackageVersion>
|
||||
<MicrosoftBuildUtilitiesCorePackageVersion>$(MicrosoftBuildPackageVersion)</MicrosoftBuildUtilitiesCorePackageVersion>
|
||||
|
||||
<MicrosoftDotNetPlatformAbstractionsPackageVersion>1.1.1</MicrosoftDotNetPlatformAbstractionsPackageVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<RemoteDependencyBuildInfo Include="CoreFx">
|
||||
<BuildInfoPath>$(BaseDotNetBuildInfo)corefx/$(DependencyBranch)</BuildInfoPath>
|
||||
|
|
121
dir.props
121
dir.props
|
@ -38,10 +38,23 @@
|
|||
<OsEnvironment Condition="'$(OsEnvironment)'==''">$(OS)</OsEnvironment>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(DotNetBuildOffline)' != 'true'">
|
||||
<!-- list of nuget package sources passed to NuGet -->
|
||||
<RestoreSources>
|
||||
$(OverridePackageSource);
|
||||
https://dotnet.myget.org/F/dotnet-core/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/cli-deps/api/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-buildtools/api/v3/index.json;
|
||||
https://www.myget.org/F/nugetbuild/api/v3/index.json;
|
||||
https://api.nuget.org/v3/index.json;
|
||||
https://dotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json;
|
||||
</RestoreSources>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Import Build tools common props file where repo-independent properties are found -->
|
||||
<Import Condition="Exists('$(ToolsDir)Build.Common.props')" Project="$(ToolsDir)Build.Common.props" />
|
||||
|
||||
<!-- Versioning -->
|
||||
<!-- Versioning -->
|
||||
<PropertyGroup>
|
||||
<VersionSuffix Condition="'$(PreReleaseLabel)' != ''">$(PreReleaseLabel)-</VersionSuffix>
|
||||
<VersionSuffix>$(VersionSuffix)$(BuildNumberMajor)-$(BuildNumberMinor)</VersionSuffix>
|
||||
|
@ -60,11 +73,11 @@
|
|||
<!--
|
||||
By default, we are always building the nuget packages for HostPolicy, HostFXR and
|
||||
Dotnet/AppHost. Thus, the "UseShipped*" properties (below) are always set to false.
|
||||
|
||||
|
||||
However, there are scenarios when some of these components will not change (e.g. during
|
||||
servicing, we may only change HostPolicy but not HostFXR and Dotnet/AppHost). In such cases,
|
||||
set the appropriate "UseShipped*" property below to true so that we will use the last shipped
|
||||
version of the package.
|
||||
version of the package.
|
||||
-->
|
||||
|
||||
<!-- The host/apphost package versions are only updated whenever there is a change in the components -->
|
||||
|
@ -75,20 +88,20 @@
|
|||
<UseShippedAppHostPackage>false</UseShippedAppHostPackage>
|
||||
<AppHostVersion Condition="'$(UseShippedAppHostPackage)' != 'true'">$(ProductVersion)</AppHostVersion>
|
||||
<AppHostVersion Condition="'$(UseShippedAppHostPackage)' == 'true'">2.0.0</AppHostVersion>
|
||||
|
||||
<!--
|
||||
The FXR Resolver package version is only updated whenever there is a change in it.
|
||||
|
||||
<!--
|
||||
The FXR Resolver package version is only updated whenever there is a change in it.
|
||||
If there is ever a need to use a shipped version of the package, then set the property
|
||||
below to true.
|
||||
below to true.
|
||||
-->
|
||||
<UseShippedHostResolverPackage>false</UseShippedHostResolverPackage>
|
||||
<HostResolverVersion Condition="'$(UseShippedHostResolverPackage)' != 'true'">$(ProductVersion)</HostResolverVersion>
|
||||
<HostResolverVersion Condition="'$(UseShippedHostResolverPackage)' == 'true'">2.0.0</HostResolverVersion>
|
||||
|
||||
<!--
|
||||
<!--
|
||||
Host Policy package version is only updated whenever there is a change in it.
|
||||
If there is ever a need to use a shipped version of the package, then set the property
|
||||
below to true.
|
||||
below to true.
|
||||
-->
|
||||
<UseShippedHostPolicyPackage>false</UseShippedHostPolicyPackage>
|
||||
<HostPolicyVersion Condition="'$(UseShippedHostPolicyPackage)' != 'true'">$(ProductVersion)</HostPolicyVersion>
|
||||
|
@ -98,18 +111,6 @@
|
|||
<InstallersRelativePath>Runtime/$(SharedFrameworkNugetVersion)</InstallersRelativePath>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- list of nuget package sources passed to dnu -->
|
||||
<ItemGroup>
|
||||
<!-- Need to escape double forward slash (%2F) or MSBuild will normalize to one slash on Unix. -->
|
||||
<DotnetSourceList Include="$(OverridePackageSource)" />
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-core/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/cli-deps/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-buildtools/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fwww.myget.org/F/nugetbuild/api/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fapi.nuget.org/v3/index.json" />
|
||||
<DotnetSourceList Include="https:%2F%2Fdotnet.myget.org/F/dotnet-corefxlab/api/v3/index.json" />
|
||||
</ItemGroup>
|
||||
|
||||
<!-- list of projects to perform batch restore -->
|
||||
<ItemGroup>
|
||||
<SdkRestoreProjects Include="$(MSBuildThisFileDirectory)src\pkg\deps\deps.csproj" />
|
||||
|
@ -119,6 +120,8 @@
|
|||
<PropertyGroup>
|
||||
<DotnetRestorePrefix Condition="'$(RunningOnUnix)' == 'true'">DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1 </DotnetRestorePrefix>
|
||||
<DotnetRestoreCommand>$(DotnetRestorePrefix)$(DotnetRestoreCommand)</DotnetRestoreCommand>
|
||||
<!-- Same as $(DotnetRestoreCommand), only doesn't specify `packages` arg -->
|
||||
<DotnetRestoreCommandNoPackages>$(DotnetRestorePrefix)"$(DotnetToolCommand)" restore $(DotnetRestoreSource)</DotnetRestoreCommandNoPackages>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(BuildAllProjects)'=='true'">
|
||||
|
@ -130,7 +133,7 @@
|
|||
<TargetArchitecture Condition="'$(TargetArchitecture)' == ''">x64</TargetArchitecture>
|
||||
<Platform Condition="'$(Platform)'==''">$(TargetArchitecture)</Platform>
|
||||
</PropertyGroup>
|
||||
<!--
|
||||
<!--
|
||||
Projects that have no OS-specific implementations just use Debug and Release for $(Configuration).
|
||||
Projects that do have OS-specific implementations use OS_Debug and OS_Release, for all OS's we support even
|
||||
if the code is the same between some OS's (so if you have some project that just calls POSIX APIs, we still have
|
||||
|
@ -145,13 +148,13 @@
|
|||
<PropertyGroup>
|
||||
<OSGroup Condition="'$(OSGroup)' == ''">$(OsEnvironment)</OSGroup>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)'==''">
|
||||
<ConfigurationGroup Condition="'$(ConfigurationGroup)'==''">Debug</ConfigurationGroup>
|
||||
<Configuration>$(ConfigurationGroup)</Configuration>
|
||||
<Configuration>$(OSGroup)_$(Configuration)</Configuration>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<!--
|
||||
If Configuration is set then someone explicitly passed it in or we building from VS. In either case
|
||||
default $(ConfigurationGroup) or $(OSGroup) from the Configuration if they aren't
|
||||
|
@ -203,34 +206,28 @@
|
|||
<PropertyGroup>
|
||||
<Framework>netcoreapp2.1</Framework>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(TargetRid)' == '' and '$(OSGroup)' == 'Windows_NT'">
|
||||
<TargetRid Condition="'$(TargetArchitecture)' == 'x86'">win7-x86</TargetRid>
|
||||
<TargetRid Condition="'$(TargetArchitecture)' == 'x64'">win7-x64</TargetRid>
|
||||
<TargetRid Condition="'$(TargetArchitecture)' == 'arm'">win8-arm</TargetRid>
|
||||
<TargetRid Condition="'$(TargetArchitecture)' == 'arm64'">win10-arm64</TargetRid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(TargetRid)' == '' and '$(OSGroup)' == 'OSX'">
|
||||
<TargetRid>osx.10.12-x64</TargetRid>
|
||||
</PropertyGroup>
|
||||
<PropertyGroup Condition="'$(TargetRid)' == '' and '$(DistroRid)' != ''">
|
||||
<TargetRid>$(DistroRid)</TargetRid>
|
||||
|
||||
<Import Project="$(HostMachineInfoProps)"
|
||||
Condition="Exists('$(HostMachineInfoProps)')" />
|
||||
|
||||
<PropertyGroup Condition="'$(OutputRid)' == '' and '$(HostMachineRid)' != ''">
|
||||
<OutputRid>$(HostMachineRid.Remove($(HostMachineRid.LastIndexOf('-'))))-$(TargetArchitecture)</OutputRid>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Portable -->
|
||||
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
|
||||
<TargetRid Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</TargetRid>
|
||||
<TargetRid Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</TargetRid>
|
||||
<TargetRid Condition="'$(OSGroup)' == 'Linux'">linux-$(TargetArchitecture)</TargetRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'Windows_NT'">win-$(TargetArchitecture)</OutputRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'OSX'">osx-$(TargetArchitecture)</OutputRid>
|
||||
<OutputRid Condition="'$(OSGroup)' == 'Linux'">linux-$(TargetArchitecture)</OutputRid>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == '' and '$(PortableBuild)' != 'true' and '$(OSGroup)' == 'Windows_NT'">win10-$(TargetArchitecture)</TestTargetRid>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(TargetRid)</TestTargetRid>
|
||||
<TestTargetRid Condition="'$(TestTargetRid)' == ''">$(OutputRid)</TestTargetRid>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Set up the default output and intermediate paths -->
|
||||
<PropertyGroup>
|
||||
<OSPlatformConfig>$(TargetRid).$(ConfigurationGroup)</OSPlatformConfig>
|
||||
<OSPlatformConfig>$(OutputRid).$(ConfigurationGroup)</OSPlatformConfig>
|
||||
|
||||
<BaseOutputPath Condition="'$(BaseOutputPath)'==''">$(BinDir)</BaseOutputPath>
|
||||
<BaseOutputRootPath>$(BaseOutputPath)$(OSPlatformConfig)\</BaseOutputRootPath>
|
||||
|
@ -251,12 +248,11 @@
|
|||
|
||||
<SharedFrameworkPublishDir>$(IntermediateOutputRootPath)sharedFrameworkPublish\</SharedFrameworkPublishDir>
|
||||
<SharedFrameworkPublishSymbolsDir>$(IntermediateOutputRootPath)sharedFrameworkPublish.symbols\</SharedFrameworkPublishSymbolsDir>
|
||||
<SharedFrameworkNameAndVersionRoot>$(SharedFrameworkPublishDir)shared\$(SharedFrameworkName)\$(SharedFrameworkNugetVersion)</SharedFrameworkNameAndVersionRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<DisableCrossgen>false</DisableCrossgen>
|
||||
<OutputVersionBadge>$(BaseOutputRootPath)sharedfx_$(TargetRid)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
|
||||
<OutputVersionBadge>$(BaseOutputRootPath)sharedfx_$(OutputRid)_$(ConfigurationGroup)_version_badge.svg</OutputVersionBadge>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
|
@ -294,39 +290,39 @@
|
|||
<TargetsCentos>false</TargetsCentos>
|
||||
</PropertyGroup>
|
||||
<Choose>
|
||||
<When Condition="$(TargetRid.StartsWith('win'))">
|
||||
<When Condition="$(OutputRid.StartsWith('win'))">
|
||||
<PropertyGroup>
|
||||
<TargetsWindows>true</TargetsWindows>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(TargetRid.StartsWith('osx'))">
|
||||
<When Condition="$(OutputRid.StartsWith('osx'))">
|
||||
<PropertyGroup>
|
||||
<TargetsOSX>true</TargetsOSX>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(TargetRid.StartsWith('debian'))">
|
||||
<When Condition="$(OutputRid.StartsWith('debian'))">
|
||||
<PropertyGroup>
|
||||
<TargetsDebian>true</TargetsDebian>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(TargetRid.StartsWith('ubuntu'))">
|
||||
<When Condition="$(OutputRid.StartsWith('ubuntu'))">
|
||||
<PropertyGroup>
|
||||
<TargetsUbuntu>true</TargetsUbuntu>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(TargetRid.StartsWith('rhel'))">
|
||||
<When Condition="$(OutputRid.StartsWith('rhel'))">
|
||||
<PropertyGroup>
|
||||
<TargetsRhel>true</TargetsRhel>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
<TargetsUnix>true</TargetsUnix>
|
||||
</PropertyGroup>
|
||||
</When>
|
||||
<When Condition="$(TargetRid.StartsWith('centos'))">
|
||||
<When Condition="$(OutputRid.StartsWith('centos'))">
|
||||
<PropertyGroup>
|
||||
<TargetsCentos>true</TargetsCentos>
|
||||
<TargetsLinux>true</TargetsLinux>
|
||||
|
@ -349,18 +345,18 @@
|
|||
<InstallerExtension Condition="'$(TargetsDebian)' == 'true' or '$(TargetsUbuntu)' == 'true'">.deb</InstallerExtension>
|
||||
<InstallerExtension Condition="'$(TargetsRhel)' == 'true' or '$(TargetsCentos)' == 'true'">.rpm</InstallerExtension>
|
||||
<CombinedInstallerExtension Condition="'$(OSGroup)' == 'Windows_NT'">.exe</CombinedInstallerExtension>
|
||||
<CombinedInstallerExtension Condition="'$(OSGroup)' != 'Windows_NT'">$(InstallerExtension)</CombinedInstallerExtension>
|
||||
<CombinedInstallerExtension Condition="'$(OSGroup)' != 'Windows_NT'">$(InstallerExtension)</CombinedInstallerExtension>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Use actual publishable (non-dummy) package name produced by the build system for this RID -->
|
||||
<PropertyGroup Condition="'$(TargetRid)' != ''">
|
||||
<PackageTargetRid>$(TargetRid)</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'rhel.7.0-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'rhel.7.1-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'rhel.7.2-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'rhel.7.3-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(TargetRid)' == 'rhel.7.2-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PropertyGroup Condition="'$(OutputRid)' != ''">
|
||||
<PackageTargetRid>$(OutputRid)</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'osx.10.11-x64'">osx.10.10-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'rhel.7.0-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'rhel.7.1-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'rhel.7.2-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'rhel.7.3-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<PackageTargetRid Condition="'$(OutputRid)' == 'rhel.7.4-x64'">rhel.7-x64</PackageTargetRid>
|
||||
<ProductMoniker>$(SharedFrameworkNugetVersion)-$(PackageTargetRid)</ProductMoniker>
|
||||
<HostResolverVersionMoniker>$(HostResolverVersion)-$(PackageTargetRid)</HostResolverVersionMoniker>
|
||||
</PropertyGroup>
|
||||
|
@ -372,7 +368,7 @@
|
|||
<HostFxrInstallerFile>$(HostFxrInstallerStart)$(HostResolverVersionMoniker)$(InstallerExtension)</HostFxrInstallerFile>
|
||||
<SharedFrameworkInstallerFile>$(SharedFrameworkInstallerStart)$(ProductMoniker)$(InstallerExtension)</SharedFrameworkInstallerFile>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<SharedHostDebPkgName>dotnet-host</SharedHostDebPkgName>
|
||||
<SharedHostDebPkgName>$(SharedHostDebPkgName.ToLower())</SharedHostDebPkgName>
|
||||
|
@ -419,6 +415,11 @@
|
|||
<MSBuildPassThroughPropertyList>/p:OSGroup=$(OSGroup) /p:DistroRid=$(DistroRid) /p:PortableBuild=$(PortableBuild) /p:TargetArchitecture=$(TargetArchitecture) /p:ConfigurationGroup=$(ConfigurationGroup)</MSBuildPassThroughPropertyList>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- source-build currently uses a newer CLI version that requires `no-restore` to be passed into build/publish -->
|
||||
<NoRestoreArg Condition="'$(DotNetBuildFromSource)' == 'true'">--no-restore</NoRestoreArg>
|
||||
</PropertyGroup>
|
||||
|
||||
<!-- Use Roslyn Compilers to build, if we are not using the .NET SDK to build -->
|
||||
<Import Project="$(RoslynPropsFile)" Condition="'$(UsingNETSdkCompiler)' != 'true' and '$(OsEnvironment)'!='Windows_NT' and Exists('$(RoslynPropsFile)') and '$(UseRoslynCompilers)'!='false'" />
|
||||
<Import Project="$(RoslynPropsFile)" Condition="'$(UsingNETSdkCompiler)' != 'true' and '$(OsEnvironment)'=='Windows_NT' and Exists('$(RoslynPropsFile)')" />
|
||||
|
|
|
@ -12,9 +12,6 @@ set BUILD_TOOLS_PATH=%PACKAGES_DIR%Microsoft.DotNet.BuildTools\%BUILDTOOLS_VERSI
|
|||
set INIT_TOOLS_RESTORE_PROJECT=%~dp0init-tools.msbuild
|
||||
set BUILD_TOOLS_SEMAPHORE=%TOOLRUNTIME_DIR%\%BUILDTOOLS_VERSION%\init-tools.completed
|
||||
|
||||
:: We do not want to run the first-time experience.
|
||||
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
|
||||
:: if force option is specified then clean the tool runtime and build tools package directory to force it to get recreated
|
||||
if [%1]==[force] (
|
||||
if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
|
||||
|
@ -29,10 +26,24 @@ if exist "%BUILD_TOOLS_SEMAPHORE%" (
|
|||
|
||||
if exist "%TOOLRUNTIME_DIR%" rmdir /S /Q "%TOOLRUNTIME_DIR%"
|
||||
|
||||
if exist "%DotNetBuildToolsDir%" (
|
||||
echo Using tools from '%DotNetBuildToolsDir%'.
|
||||
mklink /j "%TOOLRUNTIME_DIR%" "%DotNetBuildToolsDir%"
|
||||
|
||||
if not exist "%DOTNET_CMD%" (
|
||||
echo ERROR: Ensure that '%DotNetBuildToolsDir%' contains the .NET Core SDK at '%DOTNET_PATH%'
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
echo Done initializing tools.
|
||||
echo Using tools from '%DotNetBuildToolsDir%'. > "%BUILD_TOOLS_SEMAPHORE%"
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
echo Running %0 > "%INIT_TOOLS_LOG%"
|
||||
|
||||
set /p DOTNET_VERSION=< "%~dp0DotnetCLIVersion.txt"
|
||||
if exist "%DOTNET_CMD%" goto :afterdotnetinstall
|
||||
if exist "%DOTNET_CMD%" goto :afterdotnetrestore
|
||||
|
||||
echo Installing dotnet cli...
|
||||
if NOT exist "%DOTNET_PATH%" mkdir "%DOTNET_PATH%"
|
||||
|
@ -46,7 +57,7 @@ if NOT exist "%DOTNET_LOCAL_PATH%" (
|
|||
exit /b 1
|
||||
)
|
||||
|
||||
:afterdotnetinstall
|
||||
:afterdotnetrestore
|
||||
|
||||
if exist "%BUILD_TOOLS_PATH%" goto :afterbuildtoolsrestore
|
||||
echo Restoring BuildTools version %BUILDTOOLS_VERSION%...
|
||||
|
|
218
init-tools.sh
218
init-tools.sh
|
@ -12,126 +12,116 @@ __BUILD_TOOLS_PACKAGE_VERSION=$(cat $__scriptpath/BuildToolsVersion.txt)
|
|||
__DOTNET_TOOLS_VERSION=$(cat $__scriptpath/DotnetCLIVersion.txt)
|
||||
__BUILD_TOOLS_PATH=$__PACKAGES_DIR/microsoft.dotnet.buildtools/$__BUILD_TOOLS_PACKAGE_VERSION/lib
|
||||
__INIT_TOOLS_RESTORE_PROJECT=$__scriptpath/init-tools.msbuild
|
||||
__INIT_TOOLS_DONE_MARKER_DIR=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION
|
||||
__INIT_TOOLS_DONE_MARKER=$__INIT_TOOLS_DONE_MARKER_DIR/done
|
||||
__BUILD_TOOLS_SEMAPHORE=$__TOOLRUNTIME_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/init-tools.complete
|
||||
|
||||
# We do not want to run the first-time experience.
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
|
||||
if [ -z "$__DOTNET_PKG" ]; then
|
||||
if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then
|
||||
echo "Warning: build not supported on 32 bit Unix"
|
||||
fi
|
||||
OSName=$(uname -s)
|
||||
case $OSName in
|
||||
Darwin)
|
||||
OS=OSX
|
||||
__DOTNET_PKG=dotnet-dev-osx-x64
|
||||
ulimit -n 2048
|
||||
;;
|
||||
|
||||
Linux)
|
||||
__DOTNET_PKG=dotnet-dev-linux-x64
|
||||
OS=Linux
|
||||
|
||||
if [ -e /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
if [[ $ID == "alpine" ]]; then
|
||||
# remove the last version digit
|
||||
VERSION_ID=${VERSION_ID%.*}
|
||||
__DOTNET_PKG=dotnet-dev-alpine.$VERSION_ID-x64
|
||||
fi
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
__DOTNET_PKG=dotnet-dev-rhel.6-x64
|
||||
fi
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported OS '$OSName' detected. Downloading linux-x64 tools."
|
||||
OS=Linux
|
||||
__DOTNET_PKG=dotnet-dev-linux-x64
|
||||
;;
|
||||
esac
|
||||
if [ -e $__BUILD_TOOLS_SEMAPHORE ]; then
|
||||
echo "Tools are already initialized"
|
||||
return #return instead of exit because this script is inlined in other scripts which we don't want to exit
|
||||
fi
|
||||
|
||||
if [ ! -e $__INIT_TOOLS_DONE_MARKER ]; then
|
||||
__PATCH_CLI_NUGET_FRAMEWORKS=0
|
||||
if [ -e $__TOOLRUNTIME_DIR ]; then rm -rf -- $__TOOLRUNTIME_DIR; fi
|
||||
|
||||
if [ -e $__TOOLRUNTIME_DIR ]; then rm -rf -- $__TOOLRUNTIME_DIR; fi
|
||||
echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log
|
||||
if [ -d "$DotNetBuildToolsDir" ]; then
|
||||
echo "Using tools from '$DotNetBuildToolsDir'."
|
||||
ln -s "$DotNetBuildToolsDir" "$__TOOLRUNTIME_DIR"
|
||||
|
||||
if [ ! -e $__DOTNET_PATH ]; then
|
||||
|
||||
mkdir -p "$__DOTNET_PATH"
|
||||
|
||||
if [ -n "$DOTNET_TOOLSET_DIR" ] && [ -d "$DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION" ]; then
|
||||
echo "Copying $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION to $__DOTNET_PATH" >> $__init_tools_log
|
||||
cp -r $DOTNET_TOOLSET_DIR/$__DOTNET_TOOLS_VERSION/* $__DOTNET_PATH
|
||||
elif [ -n "$DOTNET_TOOL_DIR" ] && [ -d "$DOTNET_TOOL_DIR" ]; then
|
||||
echo "Copying $DOTNET_TOOL_DIR to $__DOTNET_PATH" >> $__init_tools_log
|
||||
cp -r $DOTNET_TOOL_DIR/* $__DOTNET_PATH
|
||||
else
|
||||
echo "Installing dotnet cli..."
|
||||
__DOTNET_LOCATION="https://dotnetcli.azureedge.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz"
|
||||
# curl has HTTPS CA trust-issues less often than wget, so lets try that first.
|
||||
echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> $__init_tools_log
|
||||
which curl > /dev/null 2> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
else
|
||||
curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
fi
|
||||
cd $__DOTNET_PATH
|
||||
tar -xf $__DOTNET_PATH/dotnet.tar
|
||||
|
||||
cd $__scriptpath
|
||||
|
||||
__PATCH_CLI_NUGET_FRAMEWORKS=1
|
||||
fi
|
||||
if [ ! -e "$__DOTNET_CMD" ]; then
|
||||
echo "ERROR: Ensure that $DotNetBuildToolsDir contains the .NET Core SDK at $__DOTNET_PATH"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
if [ -n "$BUILD_TOOLS_TOOLSET_DIR" ] && [ -d "$BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION" ]; then
|
||||
echo "Copying $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION to $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
cp -r $BUILD_TOOLS_TOOLSET_DIR/$__BUILD_TOOLS_PACKAGE_VERSION/* $__TOOLRUNTIME_DIR
|
||||
elif [ -n "$BUILD_TOOLS_TOOL_DIR" ] && [ -d "$BUILD_TOOLS_TOOL_DIR" ]; then
|
||||
echo "Copying $BUILD_TOOLS_TOOL_DIR to $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
cp -r $BUILD_TOOLS_TOOL_DIR/* $__TOOLRUNTIME_DIR
|
||||
else
|
||||
if [ ! -e $__BUILD_TOOLS_PATH ]; then
|
||||
echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..."
|
||||
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION" >> $__init_tools_log
|
||||
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION >> $__init_tools_log
|
||||
if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then echo "ERROR: Could not restore build tools correctly. See '$__init_tools_log' for more details."1>&2; fi
|
||||
fi
|
||||
|
||||
echo "Initializing BuildTools..."
|
||||
echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
chmod +x $__BUILD_TOOLS_PATH/init-tools.sh
|
||||
$__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "ERROR: An error occured when trying to initialize the tools. Please check '$__init_tools_log' for more details."1>&2
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Making all .sh files executable under Tools."
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
ls $__scriptpath/Tools/*.sh | xargs chmod +x
|
||||
ls $__scriptpath/Tools/scripts/docker/*.sh | xargs chmod +x
|
||||
|
||||
Tools/crossgen.sh $__scriptpath/Tools
|
||||
|
||||
mkdir -p $__INIT_TOOLS_DONE_MARKER_DIR
|
||||
touch $__INIT_TOOLS_DONE_MARKER
|
||||
|
||||
echo "Done initializing tools."
|
||||
else
|
||||
echo "Tools are already initialized"
|
||||
mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch $__BUILD_TOOLS_SEMAPHORE
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo "Running: $__scriptpath/init-tools.sh" > $__init_tools_log
|
||||
|
||||
if [ ! -e $__DOTNET_PATH ]; then
|
||||
if [ -z "$__DOTNET_PKG" ]; then
|
||||
if [ "$(uname -m | grep "i[3456]86")" = "i686" ]; then
|
||||
echo "Warning: build not supported on 32 bit Unix"
|
||||
fi
|
||||
OSName=$(uname -s)
|
||||
case $OSName in
|
||||
Darwin)
|
||||
OS=OSX
|
||||
__DOTNET_PKG=dotnet-dev-osx-x64
|
||||
ulimit -n 2048
|
||||
;;
|
||||
|
||||
Linux)
|
||||
__DOTNET_PKG=dotnet-dev-linux-x64
|
||||
OS=Linux
|
||||
|
||||
if [ -e /etc/os-release ]; then
|
||||
source /etc/os-release
|
||||
if [[ $ID == "alpine" ]]; then
|
||||
# remove the last version digit
|
||||
VERSION_ID=${VERSION_ID%.*}
|
||||
__DOTNET_PKG=dotnet-dev-alpine.$VERSION_ID-x64
|
||||
fi
|
||||
elif [ -e /etc/redhat-release ]; then
|
||||
redhatRelease=$(</etc/redhat-release)
|
||||
if [[ $redhatRelease == "CentOS release 6."* || $redhatRelease == "Red Hat Enterprise Linux Server release 6."* ]]; then
|
||||
__DOTNET_PKG=dotnet-dev-rhel.6-x64
|
||||
fi
|
||||
fi
|
||||
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unsupported OS '$OSName' detected. Downloading linux-x64 tools."
|
||||
OS=Linux
|
||||
__DOTNET_PKG=dotnet-dev-linux-x64
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
mkdir -p "$__DOTNET_PATH"
|
||||
|
||||
echo "Installing dotnet cli..."
|
||||
__DOTNET_LOCATION="https://dotnetcli.azureedge.net/dotnet/Sdk/${__DOTNET_TOOLS_VERSION}/${__DOTNET_PKG}.${__DOTNET_TOOLS_VERSION}.tar.gz"
|
||||
# curl has HTTPS CA trust-issues less often than wget, so lets try that first.
|
||||
echo "Installing '${__DOTNET_LOCATION}' to '$__DOTNET_PATH/dotnet.tar'" >> $__init_tools_log
|
||||
which curl > /dev/null 2> /dev/null
|
||||
if [ $? -ne 0 ]; then
|
||||
wget -q -O $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
else
|
||||
curl --retry 10 -sSL --create-dirs -o $__DOTNET_PATH/dotnet.tar ${__DOTNET_LOCATION}
|
||||
fi
|
||||
cd $__DOTNET_PATH
|
||||
tar -xf $__DOTNET_PATH/dotnet.tar
|
||||
|
||||
cd $__scriptpath
|
||||
fi
|
||||
|
||||
if [ ! -e $__BUILD_TOOLS_PATH ]; then
|
||||
echo "Restoring BuildTools version $__BUILD_TOOLS_PACKAGE_VERSION..."
|
||||
echo "Running: $__DOTNET_CMD restore \"$__INIT_TOOLS_RESTORE_PROJECT\" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION" >> $__init_tools_log
|
||||
$__DOTNET_CMD restore "$__INIT_TOOLS_RESTORE_PROJECT" --no-cache --packages $__PACKAGES_DIR --source $__BUILDTOOLS_SOURCE /p:BuildToolsPackageVersion=$__BUILD_TOOLS_PACKAGE_VERSION >> $__init_tools_log
|
||||
if [ ! -e "$__BUILD_TOOLS_PATH/init-tools.sh" ]; then echo "ERROR: Could not restore build tools correctly. See '$__init_tools_log' for more details."1>&2; fi
|
||||
fi
|
||||
|
||||
echo "Initializing BuildTools..."
|
||||
echo "Running: $__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR" >> $__init_tools_log
|
||||
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
chmod +x $__BUILD_TOOLS_PATH/init-tools.sh
|
||||
$__BUILD_TOOLS_PATH/init-tools.sh $__scriptpath $__DOTNET_CMD $__TOOLRUNTIME_DIR >> $__init_tools_log
|
||||
if [ "$?" != "0" ]; then
|
||||
echo "ERROR: An error occured when trying to initialize the tools. Please check '$__init_tools_log' for more details."1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Making all .sh files executable under Tools."
|
||||
# Executables restored with .NET Core 2.0 do not have executable permission flags. https://github.com/NuGet/Home/issues/4424
|
||||
ls $__scriptpath/Tools/*.sh | xargs chmod +x
|
||||
ls $__scriptpath/Tools/scripts/docker/*.sh | xargs chmod +x
|
||||
|
||||
Tools/crossgen.sh $__scriptpath/Tools
|
||||
|
||||
mkdir -p "$(dirname "$__BUILD_TOOLS_SEMAPHORE")" && touch $__BUILD_TOOLS_SEMAPHORE
|
||||
|
||||
echo "Done initializing tools."
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ platformList.each { platform ->
|
|||
dockerContainer = "ubuntu1404_cross_prereqs_v4-tizen_rootfs"
|
||||
|
||||
dockerCommand = "docker run -e ROOTFS_DIR=/crossrootfs/${architecture}.tizen.build --name ${dockerContainer} --rm -v \${WORKSPACE}:${dockerWorkingDirectory} -w=${dockerWorkingDirectory} ${dockerRepository}:${dockerContainer}"
|
||||
buildArgs += " -DistroRid=tizen.4.0.0-${architecture} -SkipTests=true -DisableCrossgen=true -PortableBuild=false -CrossBuild=true -- /p:OverridePackageSource=https:%2F%2Ftizen.myget.org/F/dotnet-core/api/v3/index.json"
|
||||
buildArgs += " -SkipTests=true -DisableCrossgen=true -PortableBuild=false -CrossBuild=true -- /p:OverridePackageSource=https:%2F%2Ftizen.myget.org/F/dotnet-core/api/v3/index.json /p:OutputRid=tizen.4.0.0-${architecture}"
|
||||
buildCommand = "${dockerCommand} ./build.sh ${buildArgs}"
|
||||
}
|
||||
else if (os == "Linux") {
|
||||
|
@ -57,7 +57,7 @@ platformList.each { platform ->
|
|||
if (architecture == 'arm' || architecture == 'armel') {
|
||||
dockerContainer = "ubuntu-14.04-cross-0cd4667-20172211042239"
|
||||
dockerCommand = "docker run -e ROOTFS_DIR=/crossrootfs/${architecture} --name ${dockerContainer} --rm -v \${WORKSPACE}:${dockerWorkingDirectory} -w=${dockerWorkingDirectory} ${dockerRepository}:${dockerContainer}"
|
||||
buildArgs += " -DistroRid=linux-${architecture} -SkipTests=true -DisableCrossgen=true -CrossBuild=true"
|
||||
buildArgs += " -SkipTests=true -DisableCrossgen=true -CrossBuild=true"
|
||||
buildCommand = "${dockerCommand} ./build.sh ${buildArgs}"
|
||||
|
||||
osForGHTrigger = "Linux"
|
||||
|
|
|
@ -9,11 +9,6 @@
|
|||
<ChecksumsRelativePath>Runtime/$(ProductVersion)</ChecksumsRelativePath>
|
||||
<ChecksumExtension>.sha512</ChecksumExtension>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<ProductMoniker>$(DistroRid).$(SharedFrameworkNugetVersion)</ProductMoniker>
|
||||
<HostResolverVersionMoniker>$(DistroRid).$(HostResolverVersion)</HostResolverVersionMoniker>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<!-- IgnorableErrorMessages applies to the "ExectWithRetriesForNuGetPush" task.
|
||||
|
|
|
@ -67,7 +67,7 @@
|
|||
</RepoIds>
|
||||
</ItemGroup>
|
||||
<PropertyGroup>
|
||||
<RidWithoutDots>$([System.String]::Copy($(DistroRid)).Replace('.', ''))</RidWithoutDots>
|
||||
<RidWithoutDots>$([System.String]::Copy($(OutputRid)).Replace('.', ''))</RidWithoutDots>
|
||||
<DebRepoId Condition="$([System.String]::Copy(%(RepoIds.Identity)).EndsWith('$(RidWithoutDots)'))">%(RepoIds.Key)</DebRepoId>
|
||||
</PropertyGroup>
|
||||
<Error Condition="'$(DebRepoId)'=='' OR '$(DebRepoUser)'=='' OR '$(DebRepoPass)'=='' OR '$(DebRepoServer)'==''"
|
||||
|
|
|
@ -12,9 +12,19 @@
|
|||
|
||||
<Target Name="PublishFinalOutput"
|
||||
Condition="'$(Finalize)' == 'true'"
|
||||
DependsOnTargets="PublishCoreHostPackagesToFeed;FinalizeBuildInAzure;UpdatePublishedVersions" />
|
||||
|
||||
<Target Name="ExcludeSymbolsPackagesFromPublishedVersions" BeforeTargets="UpdatePublishedVersions" >
|
||||
DependsOnTargets="PublishCoreHostPackagesToFeed;FinalizeBuildInAzure;UpdateVersionsRepo" />
|
||||
|
||||
<!--
|
||||
Target wrapping UpdatePublishedVersions: ensures that ShippedNuGetPackage items are created and
|
||||
disables versions repo update if no auth token is defined. Otherwise, not specifying an auth
|
||||
token would cause an error.
|
||||
-->
|
||||
<Target Name="UpdateVersionsRepo"
|
||||
Condition="'$(GitHubAuthToken)' != ''"
|
||||
DependsOnTargets="ExcludeSymbolsPackagesFromPublishedVersions;
|
||||
UpdatePublishedVersions" />
|
||||
|
||||
<Target Name="ExcludeSymbolsPackagesFromPublishedVersions">
|
||||
<ItemGroup>
|
||||
<PackagesToShip Include="$(PublishDirectory)*.nupkg" Exclude="$(PublishDirectory)*.symbols.nupkg" />
|
||||
<PackagesToShip Remove="%(PackagesToShip.Identity)" Condition="$([System.String]::Copy('%(PackagesToShip.Identity)').Contains('latest'))" />
|
||||
|
@ -30,7 +40,7 @@
|
|||
Properties="%(Project.AdditionalProperties)"
|
||||
BuildInParallel="true" />
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="EnsureUniqueItemsToUpload">
|
||||
<ItemGroup>
|
||||
<DedupItems Include="@(ItemsToPublish->Distinct())" />
|
||||
|
@ -86,8 +96,13 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="PublishDebFilesToDebianRepo"
|
||||
DependsOnTargets="GenerateDebRepoFiles">
|
||||
<Exec Condition="'@(DebInstallerFile)' != ''" Command="$(ProjectDir)tools-local/scripts/publish/repoapi_client.sh $(DebRepoUser) $(DebRepoPass) $(DebRepoId) $(DebRepoServer) -addpkg %(DebInstallerFile.UploadJsonFilename)" />
|
||||
DependsOnTargets="GenerateDebRepoFiles"
|
||||
Condition="'$(DebRepoId)' != '' AND
|
||||
'$(DebRepoUser)' != '' AND
|
||||
'$(DebRepoPass)' != '' AND
|
||||
'$(DebRepoServer)' != ''">
|
||||
<Exec Condition="'@(DebInstallerFile)' != ''"
|
||||
Command="$(ProjectDir)tools-local/scripts/publish/repoapi_client.sh $(DebRepoUser) $(DebRepoPass) $(DebRepoId) $(DebRepoServer) -addpkg %(DebInstallerFile.UploadJsonFilename)" />
|
||||
</Target>
|
||||
|
||||
<Target Name="FinalizeBuildInAzure"
|
||||
|
@ -136,7 +151,7 @@
|
|||
|
||||
<Target Name="PublishCoreHostPackagesToFeed"
|
||||
DependsOnTargets="CheckIfAllBuildsHavePublished;DownloadCoreHostPackages;SignSymbolPackages;DoPushCoreHostPackagesToFeed"
|
||||
Condition="'@(_MissingBlobNames)' == ''">
|
||||
Condition="'@(_MissingBlobNames)' == '' AND '$(NuGetFeedUrl)' != ''">
|
||||
<Error Condition="'$(NuGetFeedUrl)' ==''" Text="Missing required property NuGetFeedUrl" />
|
||||
<Error Condition="'$(NuGetApiKey)' == ''" Text="Missing required property NuGetApiKey" />
|
||||
<Error Condition="'$(AzureAccessToken)' == ''" Text="Missing required property 'AzureAccessToken'" />
|
||||
|
@ -227,8 +242,7 @@
|
|||
</Target>
|
||||
|
||||
<Target Name="PublishDebToolPackageToFeed"
|
||||
Condition="'$(PublishDebToolToFeed)' == 'true'">
|
||||
<Error Condition="'$(CliNuGetFeedUrl)' ==''" Text="Missing required property CliNuGetFeedUrl" />
|
||||
Condition="'$(PublishDebToolToFeed)' == 'true' AND '$(CliNuGetFeedUrl)' != ''">
|
||||
<Error Condition="'$(CliNuGetApiKey)' == ''" Text="Missing required property CliNuGetApiKey" />
|
||||
<ItemGroup>
|
||||
<DebToolPackages Include="$(PackagesOutDir)/dotnet-deb-tool.*.nupkg" />
|
||||
|
|
3
run.cmd
3
run.cmd
|
@ -17,8 +17,5 @@ if not exist "%_VSCOMNTOOLS%" (
|
|||
call "%_VSCOMNTOOLS%\VsDevCmd.bat"
|
||||
|
||||
:Run
|
||||
:: We do not want to run the first-time experience.
|
||||
set DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
pushd %~dp0
|
||||
powershell -NoProfile -ExecutionPolicy unrestricted -Command "%~dp0run.ps1 -- %*"
|
||||
exit /b %ERRORLEVEL%
|
3
run.ps1
3
run.ps1
|
@ -2,6 +2,9 @@
|
|||
$toolsLocalPath = Join-Path $PSScriptRoot "Tools"
|
||||
$restorePackagesPath = Join-Path $PSScriptRoot "packages"
|
||||
|
||||
# We do not want to run the first-time experience.
|
||||
$env:DOTNET_SKIP_FIRST_TIME_EXPERIENCE = 1
|
||||
|
||||
$initTools = Join-Path $PSScriptRoot "init-tools.cmd"
|
||||
& $initTools
|
||||
|
||||
|
|
5
run.sh
5
run.sh
|
@ -11,11 +11,12 @@ invocation='echo "Calling: ${FUNCNAME[0]}"'
|
|||
__scriptpath=$(cd "$(dirname "$0")"; pwd -P)
|
||||
__toolsLocalPath=$__scriptpath/Tools
|
||||
|
||||
# We do not want to run the first-time experience.
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
|
||||
$__scriptpath/init-tools.sh
|
||||
|
||||
__dotnet=$__toolsLocalPath/dotnetcli/dotnet
|
||||
|
||||
# We do not want to run the first-time experience.
|
||||
export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
|
||||
$__dotnet $__toolsLocalPath/run.exe $*
|
||||
exit $?
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<Import Project="$(ToolsDir)MicroBuild.Core.targets" />
|
||||
|
||||
<Target Name="SetSigningProperties">
|
||||
<Error Condition="'$(TargetRid)' == ''" Text="Missing required property 'TargetRid'." />
|
||||
<Error Condition="'$(OutputRid)' == ''" Text="Missing required property 'OutputRid'." />
|
||||
<Error Condition="'$(CertificateId)' == ''" Text="Missing required property 'CertificateId'." />
|
||||
<PropertyGroup>
|
||||
<!-- The OutDir and IntermediateOutputPath properties are required by MicroBuild. MicroBuild only
|
||||
|
|
|
@ -61,7 +61,7 @@
|
|||
Properties="GenerateNativeVersionInfo=true;AssemblyName=%(HostFiles.Identity);NativeVersionFileDir=$(IntermediateOutputRootPath)hostResourceFiles\%(HostFiles.Identity);NativeVersionHeaderFile=$(IntermediateOutputRootPath)hostResourceFiles\%(HostFiles.Identity)\version_info.h"
|
||||
Targets="GenerateVersionHeader" />
|
||||
<PropertyGroup>
|
||||
<BuildArgs>$(ConfigurationGroup) $(TargetArchitecture) apphostver $(AppHostVersion) hostver $(HostVersion) fxrver $(HostResolverVersion) policyver $(HostPolicyVersion) commit $(LatestCommit) rid $(TargetRid)</BuildArgs>
|
||||
<BuildArgs>$(ConfigurationGroup) $(TargetArchitecture) apphostver $(AppHostVersion) hostver $(HostVersion) fxrver $(HostResolverVersion) policyver $(HostPolicyVersion) commit $(LatestCommit) rid $(OutputRid)</BuildArgs>
|
||||
<BuildArgs Condition="'$(PortableBuild)' == 'true'">$(BuildArgs) portable</BuildArgs>
|
||||
<CustomNativeToolsetDir Condition="'$(TargetArchitecture)' == 'arm64'"> toolsetdir $(NativeToolsetDir)</CustomNativeToolsetDir>
|
||||
</PropertyGroup>
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildArgs>$(MSBuildPassThroughPropertyList) /p:BaseOutputPath=$(IntermediateOutputForPackaging)</BuildArgs>
|
||||
<BuildArgs>$(NoRestoreArg) $(MSBuildPassThroughPropertyList) /p:BaseOutputPath=$(IntermediateOutputForPackaging)</BuildArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(DotnetToolCommand) build $(BuildArgs) %(PackageProjects.Identity)" />
|
||||
|
|
|
@ -2,6 +2,6 @@
|
|||
<Project ToolsVersion="12.0" InitialTargets="CheckForBuildTools" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\dir.targets" />
|
||||
<PropertyGroup>
|
||||
<RuntimeIdGraphDefinitionFile>$(ProjectDir)packages\$(PlatformPackageId.ToLowerInvariant())\$(PlatformPackageVersion)\runtime.json</RuntimeIdGraphDefinitionFile>
|
||||
<RuntimeIdGraphDefinitionFile>$(PackagesDir)$(PlatformPackageId.ToLowerInvariant())\$(PlatformPackageVersion)\runtime.json</RuntimeIdGraphDefinitionFile>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
"debian_dependencies":{
|
||||
"%HOSTFXR_DEBIAN_PACKAGE_NAME%" : {},
|
||||
"libssl1.0.0" : {},
|
||||
"%LIBICU_PACKAGE_NAME%": {}
|
||||
"%LIBICU_PACKAGE_NAME%": {}
|
||||
},
|
||||
|
||||
"debian_ignored_dependencies" : [
|
||||
|
|
|
@ -12,8 +12,12 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<Target Name="InitializeDotnetDebTool">
|
||||
<PropertyGroup>
|
||||
<VersionSuffixArg Condition="'$(VersionSuffix)' != ''">--version-suffix $(VersionSuffix)</VersionSuffixArg>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(DotnetRestoreCommand) $(dotnetDebToolSource)"/>
|
||||
<Exec Command="$(DotnetToolCommand) pack $(dotnetDebToolSource) --output $(PackagesOutDir)intermediate/ --version-suffix $(VersionSuffix)"/>
|
||||
<Exec Command="$(DotnetToolCommand) pack $(dotnetDebToolSource) --output $(PackagesOutDir)intermediate/ $(VersionSuffixArg)"/>
|
||||
|
||||
<ItemGroup>
|
||||
<pkFiles Include="$(PackagesOutDir)intermediate/dotnet-deb-tool.*.nupkg"
|
||||
|
@ -43,7 +47,7 @@
|
|||
DependsOnTargets="TestDebuild;
|
||||
BuildDebs;"
|
||||
Condition="'$(BuildDebPackage)'=='true'" />
|
||||
|
||||
|
||||
<Target Name="BuildDebs"
|
||||
DependsOnTargets="InitializeDotnetDebTool;GenerateSharedHostDeb;GenerateHostFxrDeb;GenerateSharedFrameworkDeb"
|
||||
Condition="'$(BuildDebPackage)'=='true' and '$(DebuildPresent)' == 'true'" />
|
||||
|
@ -85,7 +89,7 @@
|
|||
<SHManpages Include="$(ManPagesDir)/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SHFiles)" DestinationFiles="@(SHFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(SHFiles)" DestinationFiles="@(SHFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(SHManpages)" DestinationFiles="@(SHManpages->'$(debLayoutDocs)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
|
||||
<!-- Replace config json variables -->
|
||||
|
@ -153,7 +157,7 @@
|
|||
<HFFiles Include="$(InputRoot)/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(HFFiles)" DestinationFiles="@(HFFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
<Copy SourceFiles="@(HFFiles)" DestinationFiles="@(HFFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')" />
|
||||
|
||||
<!-- Replace config json variables -->
|
||||
<ItemGroup>
|
||||
|
@ -191,7 +195,7 @@
|
|||
OverwriteReadOnlyFiles="True"
|
||||
SkipUnchangedFiles="False"
|
||||
UseHardlinksIfPossible="False" />
|
||||
|
||||
|
||||
</Target>
|
||||
|
||||
<Target Name="GenerateSharedFrameworkDeb">
|
||||
|
@ -217,11 +221,11 @@
|
|||
<RemoveDir Condition="Exists('$(debIntermediatesDir)')" Directories="$(debIntermediatesDir)" />
|
||||
<MakeDir Directories="$(debIntermediatesDir)" />
|
||||
|
||||
<!-- Compute ICU Version -->
|
||||
<Exec Command="apt-cache search --names-only '^libicu[0-9]+$' | cut -d' ' -f1"
|
||||
ConsoleToMSBuild="true">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="LibIcuPackageName" />
|
||||
</Exec>
|
||||
<!-- Compute ICU Version -->
|
||||
<Exec Command="apt-cache search --names-only '^libicu[0-9]+$' | cut -d' ' -f1"
|
||||
ConsoleToMSBuild="true">
|
||||
<Output TaskParameter="ConsoleOutput" PropertyName="LibIcuPackageName" />
|
||||
</Exec>
|
||||
|
||||
<!-- Create empty debian layout -->
|
||||
<RemoveDir Condition="Exists('$(debLayoutDirectory)')" Directories="$(debLayoutDirectory)" />
|
||||
|
@ -233,10 +237,10 @@
|
|||
|
||||
<!-- Copy files to debian layout -->
|
||||
<ItemGroup>
|
||||
<SFFiles Include="$(InputRoot)/**/*" />
|
||||
<SFFiles Include="$(InputRoot)/**/*" />
|
||||
</ItemGroup>
|
||||
|
||||
<Copy SourceFiles="@(SFFiles)" DestinationFiles="@(SFFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')"/>
|
||||
<Copy SourceFiles="@(SFFiles)" DestinationFiles="@(SFFiles->'$(debLayoutPackageRoot)/%(RecursiveDir)%(Filename)%(Extension)')"/>
|
||||
|
||||
<!-- Replace config json variables -->
|
||||
<ItemGroup>
|
||||
|
@ -255,9 +259,9 @@
|
|||
<SharedFrameworkTokenValue Include="%SHARED_FRAMEWORK_BRAND_NAME%">
|
||||
<ReplacementString>$(SharedFrameworkBrandName)</ReplacementString>
|
||||
</SharedFrameworkTokenValue>
|
||||
<SharedFrameworkTokenValue Include="%LIBICU_PACKAGE_NAME%">
|
||||
<ReplacementString>$(LibIcuPackageName)</ReplacementString>
|
||||
</SharedFrameworkTokenValue>
|
||||
<SharedFrameworkTokenValue Include="%LIBICU_PACKAGE_NAME%">
|
||||
<ReplacementString>$(LibIcuPackageName)</ReplacementString>
|
||||
</SharedFrameworkTokenValue>
|
||||
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="dir.props" />
|
||||
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" />
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<PackageTargets>
|
||||
GenerateVersionBadge;
|
||||
|
@ -26,7 +26,7 @@
|
|||
<RemoveDir Directories="@(OutDirs)" />
|
||||
|
||||
<!-- copy shared host layout -->
|
||||
<Copy SourceFiles="$(SharedFrameworkPublishDir)dotnet$(ExeSuffix)"
|
||||
<Copy SourceFiles="$(SharedFrameworkPublishDir)dotnet$(ExeSuffix)"
|
||||
DestinationFolder="$(SharedHostPublishRoot)" />
|
||||
|
||||
<Copy SourceFiles="$(ProjectDir)resources/ThirdPartyNotices.txt"
|
||||
|
@ -57,22 +57,22 @@
|
|||
<!-- Fix file permits -->
|
||||
<!-- Reset everything to user readable/writeable and group and world readable. -->
|
||||
<Exec Condition="'$(OSGroup)' != 'Windows_NT'"
|
||||
Command='find %(OutDirs.Identity) -type f -name "*" -exec chmod 644 {} \;' />
|
||||
<!-- Generally, dylibs and sos have 'x' -->
|
||||
Command='find %(OutDirs.Identity) -type f -name "*" -exec chmod 644 {} \;' />
|
||||
<!-- Generally, dylibs and sos have 'x' -->
|
||||
<Exec Condition="'$(OSGroup)' != 'Windows_NT'"
|
||||
Command='find %(OutDirs.Identity) -type f -name "*.dylib" -exec chmod 755 {} \;' />
|
||||
<Exec Condition="'$(OSGroup)' != 'Windows_NT'"
|
||||
Command='find %(OutDirs.Identity) -type f -name "*.so" -exec chmod 755 {} \;' />
|
||||
Command='find %(OutDirs.Identity) -type f -name "*.so" -exec chmod 755 {} \;' />
|
||||
<!-- Executables (those without dots) are executable -->
|
||||
<Exec Condition="'$(OSGroup)' != 'Windows_NT'"
|
||||
Command='find %(OutDirs.Identity) -type f ! -name "*.*" -exec chmod 755 {} \;' />
|
||||
|
||||
|
||||
Command='find %(OutDirs.Identity) -type f ! -name "*.*" -exec chmod 755 {} \;' />
|
||||
|
||||
|
||||
<!-- Copy all to combined directory -->
|
||||
<ItemGroup>
|
||||
<CombinedFiles Include="$(SharedHostPublishRoot)\**\*" />
|
||||
<CombinedFiles Include="$(HostFxrPublishRoot)/**\*" />
|
||||
<CombinedFiles Include="$(SharedFrameworkPublishRoot)/**\*" />
|
||||
<CombinedFiles Include="$(SharedFrameworkPublishRoot)/**\*" />
|
||||
</ItemGroup>
|
||||
<RemoveDir Directories="@(CombinedPublishRoot)" />
|
||||
<Copy SourceFiles="@(CombinedFiles)"
|
||||
|
@ -89,14 +89,14 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<MakeDir Condition="!Exists('$(BaseOutputRootPath)')" Directories="$(BaseOutputRootPath)" />
|
||||
|
||||
|
||||
<WriteLinesToFile
|
||||
File="$(OutputVersionBadge)"
|
||||
Lines="$([System.IO.File]::ReadAllText('$(templateSvg)').Replace('ver_number', '$(ProductVersion)'))"
|
||||
Overwrite="true"
|
||||
/>
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="GenerateCompressedFiles" DependsOnTargets="InitPackage;GenerateZip;GenerateTarBall" Condition="'$(UsePrebuiltPortableBinariesForInstallers)' == 'false'"/>
|
||||
|
||||
<UsingTask TaskName="ZipFileCreateFromDirectory" AssemblyFile="$(BuildToolsTaskDir)Microsoft.DotNet.Build.Tasks.dll"/>
|
||||
|
@ -129,10 +129,10 @@
|
|||
|
||||
<!-- tar command will throw 'file changed as we read it' on some distros. ignore that error.
|
||||
we use -C so that we get a relative folder structure which is compressed rather than the full path -->
|
||||
<Exec Command="tar -C $(CombinedPublishRoot) -czf $(PackagesOutDir)$(CombinedCompressedFile) ."
|
||||
<Exec Command="tar -C $(CombinedPublishRoot) -czf $(PackagesOutDir)$(CombinedCompressedFile) ."
|
||||
IgnoreExitCode="true"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
<Exec Command="tar -C $(HostFxrPublishRoot) -czf $(PackagesOutDir)$(HostFxrCompressedFile) ."
|
||||
<Exec Command="tar -C $(HostFxrPublishRoot) -czf $(PackagesOutDir)$(HostFxrCompressedFile) ."
|
||||
IgnoreExitCode="true"
|
||||
IgnoreStandardErrorWarningFormat="true" />
|
||||
<Exec Command="tar -C $(SharedFrameworkPublishRoot) -czf $(PackagesOutDir)$(SharedFrameworkCompressedFile) ."
|
||||
|
@ -146,7 +146,7 @@
|
|||
<Error Condition="!Exists('$(PackagesOutDir)$(SharedFrameworkCompressedFile)')" Message="Unable to create $(PackagesOutDir)$(SharedFrameworkCompressedFile)" />
|
||||
<Error Condition="!Exists('$(PackagesOutDir)$(SharedFrameworkSymbolsCompressedFile)')" Message="Unable to create $(PackagesOutDir)$(SharedFrameworkSymbolsCompressedFile)" />
|
||||
</Target>
|
||||
|
||||
|
||||
<Import Project="windows\package.targets" />
|
||||
<Import Project="osx\package.targets" />
|
||||
<Import Project="deb\package.targets" />
|
||||
|
@ -165,17 +165,24 @@
|
|||
<Target Name="GenerateCombinedInstallers" DependsOnTargets="InitPackage;GenerateBundles" />
|
||||
|
||||
<Target Name="GenerateNugetPackages" DependsOnTargets="InitPackage" Condition="'$(UsePrebuiltPortableBinariesForInstallers)' == 'false'">
|
||||
|
||||
<ItemGroup>
|
||||
<!-- The list of packages we are servicing -->
|
||||
<PackageProjects Include="$(ProjectDir)src\managed\Microsoft.DotNet.PlatformAbstractions\Microsoft.DotNet.PlatformAbstractions.csproj" />
|
||||
<PackageProjects Include="$(ProjectDir)src\managed\Microsoft.Extensions.DependencyModel\Microsoft.Extensions.DependencyModel.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(BuildAllPackages)' == 'true'">
|
||||
<!-- The list of packages we are not servicing -->
|
||||
</ItemGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<PackArgs>--no-build --output $(PackagesOutDir)</PackArgs>
|
||||
<PackArgs>$(NoRestoreArg) --no-build --output $(PackagesOutDir)</PackArgs>
|
||||
<PackArgs>$(PackArgs) $(MSBuildPassThroughPropertyList) /p:BaseOutputPath=$(IntermediateOutputForPackaging)</PackArgs>
|
||||
</PropertyGroup>
|
||||
|
||||
<Exec Command="$(DotnetToolCommand) pack %(PackageProjects.Identity) $(PackArgs)" />
|
||||
<Exec Command="$(DotnetToolCommand) pack %(PackageProjects.Identity) $(PackArgs)"
|
||||
Condition="'@(PackageProjects)' != ''" />
|
||||
</Target>
|
||||
|
||||
|
||||
</Project>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<!-- we intentionally don't want to produce output -->
|
||||
<OutputPath>unused</OutputPath>
|
||||
<!-- we don't want any analyzers by ResolveNuGetPackageAssets
|
||||
<!-- we don't want any analyzers by ResolveNuGetPackageAssets
|
||||
null-refs when this isn't set and an analyzer is in the packages -->
|
||||
<Language>unused</Language>
|
||||
<NuGetTargetMoniker>.NETCoreApp,Version=v2.1</NuGetTargetMoniker>
|
||||
|
@ -40,7 +40,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(NuGetRuntimeIdentifier)' == ''">
|
||||
<!-- Bring in Platforms for RID graph, NETStandard.Library for build-tools,
|
||||
<!-- Bring in Platforms for RID graph, NETStandard.Library for build-tools,
|
||||
Targets for an empty runtime.json to reduce conflicts from 1.x packages -->
|
||||
<DependenciesToPackage Include="NETStandard.Library" />
|
||||
<DependenciesToPackage Include="Microsoft.NETCore.Platforms" />
|
||||
|
@ -68,11 +68,11 @@
|
|||
<_runtimePackageId>%(_runtimeCLR.NuGetPackageId)</_runtimePackageId>
|
||||
<_runtimePackageVersion>%(_runtimeCLR.NuGetPackageVersion)</_runtimePackageVersion>
|
||||
<_runtimePackagePath>$(PackagesDir)/$(_runtimePackageId.ToLowerInvariant())/$(_runtimePackageVersion)</_runtimePackagePath>
|
||||
|
||||
|
||||
<_crossGenPath>$(_runtimePackagePath)/tools$(_crossDir)/crossgen$(ApplicationFileExtension)</_crossGenPath>
|
||||
<_runtimeDirectory>%(_runtimeCLR.RootDir)%(_runtimeCLR.Directory)</_runtimeDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'@(_runtimeCoreLib)' != ''">
|
||||
<_coreLibDirectory>%(_runtimeCoreLib.RootDir)%(_runtimeCoreLib.Directory)</_coreLibDirectory>
|
||||
</PropertyGroup>
|
||||
|
@ -84,7 +84,7 @@
|
|||
<_jitPath>%(_runtimeJIT.FullPath)</_jitPath>
|
||||
<_jitPath Condition="'$(_crossDir)' != ''">$(_jitPackagePath)/runtimes$(_crossDir)/native/$(LibraryFilePrefix)clrjit$(LibraryFileExtension)</_jitPath>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<PropertyGroup Condition="'@(_fxSystemRuntime)' != ''">
|
||||
<_fxLibDirectory>%(_fxSystemRuntime.RootDir)%(_fxSystemRuntime.Directory)</_fxLibDirectory>
|
||||
</PropertyGroup>
|
||||
|
@ -100,7 +100,7 @@
|
|||
|
||||
<Target Name="GenerateHashVersionsFile" DependsOnTargets="GetPackagePaths;ResolveNuGetPackages">
|
||||
<PropertyGroup>
|
||||
<CoreFxVersionFile
|
||||
<CoreFxVersionFile
|
||||
Condition="$([System.String]::new('%(Reference.Identity)').ToLowerInvariant().Contains('system.runtime.dll'))">
|
||||
$(PackagesDir)$([System.String]::new('%(Reference.NuGetPackageId)').ToLowerInvariant())/%(Reference.NuGetPackageVersion)/version.txt
|
||||
</CoreFxVersionFile>
|
||||
|
@ -135,7 +135,7 @@
|
|||
<ItemGroup Condition="'$(NuGetRuntimeIdentifier)' != ''">
|
||||
<!-- RID-specific: include all runtime files -->
|
||||
<FilesToPackage Include="@(ReferenceCopyLocalPaths)">
|
||||
<!-- ResolveNugetPackageAssets doesn't preserve the asset type (native),
|
||||
<!-- ResolveNugetPackageAssets doesn't preserve the asset type (native),
|
||||
calculate it by looking for native in the path -->
|
||||
<IsNative Condition="$([System.String]::new('%(Identity)').ToLowerInvariant().Replace('\', '/').Contains('/native/'))">true</IsNative>
|
||||
</FilesToPackage>
|
||||
|
@ -157,13 +157,13 @@
|
|||
|
||||
<!-- include all doc files -->
|
||||
<_docFilesToPackage Include="%(FilesToPackage.RootDir)%(FilesToPackage.Directory)**\%(FilesToPackage.FileName).xml" />
|
||||
|
||||
|
||||
<FilesToPackage Include="@(_docFilesToPackage)">
|
||||
<TargetPath>ref/$(PackageTargetFramework)/%(RecursiveDir)</TargetPath>
|
||||
</FilesToPackage>
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition="'$(IncludeSourceFilesInPackage)' == 'true'">
|
||||
<!-- pick up any src our sources directory from packages contributing files -->
|
||||
<_sourcePathCandidate Include="@(FilesToPackage->'$(PackagesDir)\%(NuGetPackageId)\%(NuGetPackageVersion)\sources')" />
|
||||
<_sourcePathCandidate Include="@(FilesToPackage->'$(PackagesDir)\%(NuGetPackageId)\%(NuGetPackageVersion)\src')" />
|
||||
|
@ -215,7 +215,7 @@
|
|||
</_filesToCrossGen>
|
||||
|
||||
<FilesToPackage Remove="@(_filesToCrossGen)" />
|
||||
|
||||
|
||||
<_crossGenedFilesToPackage Include="@(_filesToCrossGen->'%(CrossGenedPath)')" />
|
||||
<FilesToPackage Include="@(_crossGenedFilesToPackage)" />
|
||||
</ItemGroup>
|
||||
|
@ -228,7 +228,7 @@
|
|||
<!-- the following path must be passed to crossgen to locate all dependencies. -->
|
||||
<_crossgenPlatformDirectories Include="%(_filesToCrossGen.RootDir)%(_filesToCrossGen.Directory)" />
|
||||
</ItemGroup>
|
||||
|
||||
|
||||
<PropertyGroup>
|
||||
<!-- Use PathSeparator so that we get a ':' on unix and ';' on windows
|
||||
Escape the value so that the ';' doesn't result multiple lines when writing to the RSP file -->
|
||||
|
@ -261,7 +261,7 @@
|
|||
|
||||
<Exec Command="$(_crossGenPath) @$(_crossGenResponseFile)" WorkingDirectory="$(_clrDirectory)" EnvironmentVariables="COMPlus_PartialNGen=0" />
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="CreateCrossGenSymbols"
|
||||
Condition="'$(CrossGenSymbolExtension)' != ''"
|
||||
DependsOnTargets="CreateCrossGenImages"
|
||||
|
@ -273,7 +273,7 @@
|
|||
<_crossGenSymbolsOptionName Condition="'$(_crossGenSymbolsOptionName)' == ''">CreatePerfMap</_crossGenSymbolsOptionName>
|
||||
<_crossGenSymbolsOutputDirectory>$(CrossGenSymbolsOutputPath)/%(_filesToCrossGen.TargetPath)</_crossGenSymbolsOutputDirectory>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
<ItemGroup>
|
||||
<_crossGenSymbolsArgs Include="-readytorun" />
|
||||
<_crossGenSymbolsArgs Include="-platform_assemblies_paths %(_filesToCrossGen.CrossGenedDirectory)$(_pathSeparatorEscaped)$(_coreLibDirectory)" />
|
||||
|
@ -283,9 +283,9 @@
|
|||
</ItemGroup>
|
||||
|
||||
<WriteLinesToFile File="$(_crossGenSymbolsResponseFile)" Lines="@(_crossGenSymbolsArgs)" Overwrite="true" />
|
||||
|
||||
|
||||
<MakeDir Directories="$(_crossGenSymbolsOutputDirectory)" />
|
||||
|
||||
|
||||
<Exec Command="$(_crossGenPath) @$(_crossGenSymbolsResponseFile)" WorkingDirectory="$(_clrDirectory)" EnvironmentVariables="COMPlus_PartialNGen=0" />
|
||||
|
||||
<Touch Files="%(_filesToCrossGen.CrossGenSymbolSemaphorePath)" AlwaysCreate="true" />
|
||||
|
@ -305,7 +305,7 @@
|
|||
</FilesToPackage>
|
||||
</ItemGroup>
|
||||
</Target>
|
||||
|
||||
|
||||
<Target Name="GetFilesToPackage"
|
||||
DependsOnTargets="ResolveNuGetPackages;GetFilesFromPackages;PrepareForCrossGen;GetCrossGenSymbolsFiles"
|
||||
Returns="@(FilesToPackage)" />
|
||||
|
@ -320,10 +320,10 @@
|
|||
|
||||
<Message Importance="low" Text="%(_DependenciesToPackageWithVersion.Identity) : %(_DependenciesToPackageWithVersion.Version) : %(_DependenciesToPackageWithVersion.TargetFramework)" />
|
||||
</Target>
|
||||
|
||||
|
||||
<!-- Run crossgen -->
|
||||
<Target Name="Build" DependsOnTargets="GenerateHashVersionsFile;CrossGen;GetFilesToPackage" />
|
||||
|
||||
|
||||
<!-- remove when fixing https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
<Target Name="DetermineRuntimeDependencies" />
|
||||
</Project>
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
<PropertyGroup>
|
||||
<!-- we intentionally don't want to produce output -->
|
||||
<OutputPath>unused</OutputPath>
|
||||
<!-- we don't want any analyzers by ResolveNuGetPackageAssets
|
||||
<!-- we don't want any analyzers by ResolveNuGetPackageAssets
|
||||
null-refs when this isn't set and an analyzer is in the packages -->
|
||||
<Language>unused</Language>
|
||||
<NuGetTargetMoniker>$(UAPvNextTFMFull)</NuGetTargetMoniker>
|
||||
|
@ -50,7 +50,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup Condition="'$(NuGetRuntimeIdentifier)' == ''">
|
||||
<!-- Bring in Platforms for RID graph, NETStandard.Library for build-tools,
|
||||
<!-- Bring in Platforms for RID graph, NETStandard.Library for build-tools,
|
||||
Targets for an empty runtime.json to reduce conflicts from 1.x packages,
|
||||
and toolset. -->
|
||||
<DependenciesToPackage Include="NETStandard.Library" />
|
||||
|
@ -65,7 +65,7 @@
|
|||
<ItemGroup Condition="'$(NuGetRuntimeIdentifier)' != ''">
|
||||
<!-- RID-specific: include all runtime files -->
|
||||
<_FilesToPackage Include="@(ReferenceCopyLocalPaths)">
|
||||
<!-- ResolveNugetPackageAssets doesn't preserve the asset type (native),
|
||||
<!-- ResolveNugetPackageAssets doesn't preserve the asset type (native),
|
||||
calculate it by looking for native in the path -->
|
||||
<IsNative Condition="$([System.String]::new('%(Identity)').ToLowerInvariant().Replace('\', '/').Contains('/native/'))">true</IsNative>
|
||||
<!-- We previously shipped a clrcompression on the lib folder, so we need to flag it as native in here -->
|
||||
|
@ -107,13 +107,13 @@
|
|||
<ItemGroup Condition="'$(NuGetRuntimeIdentifier)' == ''">
|
||||
<!-- include all docs files -->
|
||||
<_docFilesToPackage Include="%(FilesToPackage.RootDir)%(FilesToPackage.Directory)**\%(FilesToPackage.FileName).xml" />
|
||||
|
||||
|
||||
<FilesToPackage Include="@(_docFilesToPackage)">
|
||||
<TargetPath>ref/$(PackageTargetFramework)/%(RecursiveDir)</TargetPath>
|
||||
</FilesToPackage>
|
||||
</ItemGroup>
|
||||
|
||||
<!-- simple check to make sure we don't accidentally pull an old
|
||||
<!-- simple check to make sure we don't accidentally pull an old
|
||||
package that should have been merged to the primary package -->
|
||||
<ItemGroup>
|
||||
<PermittedSystemPackages Include="System.ServiceModel.Duplex" />
|
||||
|
@ -128,7 +128,7 @@
|
|||
</ItemGroup>
|
||||
<Error Text="Unexpected System package(s) @(_secondarySystemPackages)" Condition="'@(_secondarySystemPackages)' != ''" />
|
||||
|
||||
<ItemGroup>
|
||||
<ItemGroup Condition="'$(IncludeSourceFilesInPackage)' == 'true'">
|
||||
<!-- pick up any src our sources directory from packages contributing files -->
|
||||
<_sourcePathCandidate Include="@(FilesToPackage->'$(PackagesDir)\%(NuGetPackageId)\%(NuGetPackageVersion)\sources')" />
|
||||
<_sourcePathCandidate Include="@(FilesToPackage->'$(PackagesDir)\%(NuGetPackageId)\%(NuGetPackageVersion)\src')" />
|
||||
|
@ -166,10 +166,10 @@
|
|||
|
||||
<Message Importance="low" Text="%(_DependenciesToPackageWithVersion.Identity) : %(_DependenciesToPackageWithVersion.Version) : %(_DependenciesToPackageWithVersion.TargetFramework)" />
|
||||
</Target>
|
||||
|
||||
|
||||
<!-- only calculate paths from this project, don't copy -->
|
||||
<Target Name="Build" DependsOnTargets="GetFilesToPackage" />
|
||||
|
||||
|
||||
<!-- remove when fixing https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
<Target Name="DetermineRuntimeDependencies" />
|
||||
</Project>
|
||||
|
|
|
@ -13,6 +13,9 @@
|
|||
<PackageTargetRuntime Condition="'$(PackageTargetRuntime)' == '' AND '$(MSBuildProjectExtension)' == '.depproj'">$(NuGetRuntimeIdentifier)</PackageTargetRuntime>
|
||||
|
||||
<IsLineupPackage Condition="'$(PackageTargetRuntime)' == ''">true</IsLineupPackage>
|
||||
|
||||
<IncludeSourceFilesInPackage Condition="'$(DotNetBuildFromSource)' == 'true'">false</IncludeSourceFilesInPackage>
|
||||
<IncludeSourceFilesInPackage Condition="'$(IncludeSourceFilesInPackage)' == ''">true</IncludeSourceFilesInPackage>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(PackageTargetRuntime)' == ''">
|
||||
|
|
|
@ -6,6 +6,14 @@
|
|||
<PrereleaseResolveNuGetPackages>true</PrereleaseResolveNuGetPackages>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup>
|
||||
<!--
|
||||
If we are stabilizing set the StableVersion property for the packages.
|
||||
Needs to happen in dir.targets to allow all the pkgproj's to set Version property first.
|
||||
-->
|
||||
<StableVersion Condition="'$(StabilizePackageVersion)' =='true'">$(Version)</StableVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<!--
|
||||
Finds symbol files and injects them into the package build.
|
||||
-->
|
||||
|
@ -37,7 +45,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<File Include="$(MSBuildThisFileDirectory)../_.pdb"
|
||||
<File Include="$(MSBuildThisFileDirectory)_.pdb"
|
||||
Condition="'$(NeedsPlaceholderPdb)' == 'true' AND '$(PackageTargetRuntime)' != ''">
|
||||
<TargetPath>runtimes/$(PackageTargetRuntime)/native</TargetPath>
|
||||
<IsSymbolFile>true</IsSymbolFile>
|
||||
|
@ -60,7 +68,7 @@
|
|||
DestinationFolder="%(_SymbolsFiles.DestinationFolder)" />
|
||||
</Target>
|
||||
|
||||
<!-- override GetPackageIdentity so that it doesn't attempt to gather
|
||||
<!-- override GetPackageIdentity so that it doesn't attempt to gather
|
||||
files from runtime dependencies, this prevents folks from needing
|
||||
packages that don't apply to their local OS.
|
||||
https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
|
@ -75,7 +83,7 @@
|
|||
|
||||
<!-- override AssignPkgProjPackageDependenciesTargetFramework so that
|
||||
it doesn't attempt to resolve all files in order to get dependency
|
||||
TargetFrameworks.
|
||||
TargetFrameworks.
|
||||
https://github.com/dotnet/buildtools/issues/1273 -->
|
||||
<Target Name="AssignPkgProjPackageDependenciesTargetFramework" DependsOnTargets="GetPkgProjPackageDependencies">
|
||||
<SplitDependenciesBySupport Condition="'$(SplitDependenciesBySupport)' == 'true'" OriginalDependencies="@(PkgProjDependency)">
|
||||
|
@ -109,5 +117,5 @@
|
|||
ItemName="Dependency" />
|
||||
</MSBuild>
|
||||
</Target>
|
||||
|
||||
</Project>
|
||||
|
||||
</Project>
|
|
@ -1,18 +1,8 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
|
||||
<PropertyGroup Condition="'$(PortableBuild)' != 'true' and '$(PackageRID)' == ''">
|
||||
<PackageRID>$(DistroRid)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'OSX'">osx.10.12-$(Platform)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'Windows_NT'">win7-$(Platform)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'Windows_NT' AND '$(Platform)' =='arm'">win8-$(Platform)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'Windows_NT' AND '$(Platform)' =='arm64'">win10-$(Platform)</PackageRID>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(PortableBuild)' == 'true'">
|
||||
<PackageRID>win-$(Platform)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'OSX'">osx-$(Platform)</PackageRID>
|
||||
<PackageRID Condition="'$(OSGroup)' == 'Linux'">linux-$(Platform)</PackageRID>
|
||||
<PropertyGroup>
|
||||
<PackageRID Condition="'$(PackageRID)' == ''">$(OutputRid)</PackageRID>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
|
|
|
@ -3,6 +3,8 @@
|
|||
<PropertyGroup>
|
||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||
<DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences>
|
||||
<CopyBuildOutputToPublishDirectory>false</CopyBuildOutputToPublishDirectory>
|
||||
<CopyOutputSymbolsToPublishDirectory>false</CopyOutputSymbolsToPublishDirectory>
|
||||
<NoWarn>2008;8021</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
|
|
|
@ -18,6 +18,9 @@
|
|||
|
||||
<PropertyGroup>
|
||||
<CommonProjectArgs>$(MSBuildPassThroughPropertyList) /p:TargetFramework=$(Framework) /p:RuntimeIdentifier=$(PackageTargetRid)</CommonProjectArgs>
|
||||
|
||||
<SharedFrameworkIntermediatePackagesDir>$(IntermediateOutputRootPath)sharedFrameworkPublish.packages\</SharedFrameworkIntermediatePackagesDir>
|
||||
<SharedFrameworkNameAndVersionRoot>$(SharedFrameworkPublishDir)shared\$(SharedFrameworkName)\$(SharedFrameworkNugetVersion)</SharedFrameworkNameAndVersionRoot>
|
||||
</PropertyGroup>
|
||||
|
||||
<Target Name="Build" DependsOnTargets="$(BuildTargets)" />
|
||||
|
@ -32,13 +35,15 @@
|
|||
|
||||
<RemoveDir Directories="$(SharedFrameworkNameAndVersionRoot)" />
|
||||
|
||||
<Exec Command="$(DotnetRestoreCommand) --source $(PackagesOutDir) $(CommonSharedFrameworkArgs)"
|
||||
<!-- Specify a separate 'packages' directory in case we are building an already built version of Microsoft.NETCore.App and the $(PackagesDir)
|
||||
already contains the same version as we are building. (ex. building source-build for `2.0.0` when `2.0.0` has already shipped.
|
||||
-->
|
||||
<Exec Command="$(DotnetRestoreCommandNoPackages) --source $(PackagesOutDir) --packages $(SharedFrameworkIntermediatePackagesDir) $(CommonSharedFrameworkArgs)"
|
||||
WorkingDirectory="$(SharedFrameworkSourceRoot)" />
|
||||
|
||||
<!-- We publish to a sub folder of the PublishRoot so tools like heat and zip can generate folder structures easier. -->
|
||||
<Exec Command="$(DotnetToolCommand) publish --output $(SharedFrameworkNameAndVersionRoot) $(CommonSharedFrameworkArgs)"
|
||||
WorkingDirectory="$(SharedFrameworkSourceRoot)"
|
||||
EnvironmentVariables="NUGET_PACKAGES=$(PackagesDir)" />
|
||||
<Exec Command="$(DotnetToolCommand) publish $(NoRestoreArg) --output $(SharedFrameworkNameAndVersionRoot) $(CommonSharedFrameworkArgs)"
|
||||
WorkingDirectory="$(SharedFrameworkSourceRoot)" />
|
||||
|
||||
<!-- Clean deps.json -->
|
||||
<ChangeEntryPointLibraryName DepsFile="$(SharedFrameworkNameAndVersionRoot)/framework.deps.json" />
|
||||
|
@ -142,13 +147,14 @@
|
|||
|
||||
<RemoveDir Directories="$(CoreHostLockedDir)" />
|
||||
|
||||
<Exec Command="$(DotnetRestoreCommand) --source $(PackagesOutDir) $(CommonLockedHostArgs)"
|
||||
<!-- Specify a separate 'packages' directory in case we are building an already built version of Microsoft.NETCore.DotNetHost and the $(PackagesDir)
|
||||
already contains the same version as we are building. (ex. building source-build for `2.0.0` when `2.0.0` has already shipped.
|
||||
-->
|
||||
<Exec Command="$(DotnetRestoreCommandNoPackages) --source $(PackagesOutDir) --packages $(SharedFrameworkIntermediatePackagesDir) $(CommonLockedHostArgs)"
|
||||
WorkingDirectory="$(LockedHostSourceRoot)" />
|
||||
|
||||
|
||||
<Exec Command="$(DotnetToolCommand) publish --output $(CoreHostLockedDir) $(CommonLockedHostArgs)"
|
||||
WorkingDirectory="$(LockedHostSourceRoot)"
|
||||
EnvironmentVariables="NUGET_PACKAGES=$(PackagesDir)" />
|
||||
<Exec Command="$(DotnetToolCommand) publish $(NoRestoreArg) --output $(CoreHostLockedDir) $(CommonLockedHostArgs)"
|
||||
WorkingDirectory="$(LockedHostSourceRoot)" />
|
||||
</Target>
|
||||
|
||||
</Project>
|
|
@ -98,7 +98,7 @@ namespace Microsoft.DotNet.CoreSetup.Test.HostActivation.MultilevelSDKLookup
|
|||
_userSelectedMessage = $"Using dotnet SDK dll=[{_userSdkBaseDir}";
|
||||
_exeSelectedMessage = $"Using dotnet SDK dll=[{_exeSdkBaseDir}";
|
||||
}
|
||||
|
||||
|
||||
[Fact]
|
||||
public void SdkLookup_Global_Json_Patch_Rollup()
|
||||
{
|
||||
|
@ -349,7 +349,7 @@ namespace Microsoft.DotNet.CoreSetup.Test.HostActivation.MultilevelSDKLookup
|
|||
.And
|
||||
.HaveStdErrContaining(Path.Combine(_exeSelectedMessage, "10000.0.0-dummy", _dotnetSdkDllMessageTerminator));
|
||||
|
||||
// Add a dummy version in the exe dir
|
||||
// Add a dummy version in the user dir
|
||||
AddAvailableSdkVersions(_exeSdkBaseDir, "10000.0.0");
|
||||
|
||||
// Specified CLI version: none
|
||||
|
|
|
@ -90,7 +90,7 @@
|
|||
</PropertyGroup>
|
||||
<Exec Command="$(DotnetToolCommand) test $(TestArgs) --logger "trx;LogFileName=$(TestResultsXml)""
|
||||
WorkingDirectory="$(TestWorkingDirectory)"
|
||||
EnvironmentVariables="NUGET_PACKAGES=$(PackagesDir);TEST_ARTIFACTS=$(SystemPathTestsOutputDir);TEST_TARGETRID=$(TestTargetRid);BUILDRID=$(TargetRid);BUILD_ARCHITECTURE=$(TargetArchitecture);BUILD_CONFIGURATION=$(ConfigurationGroup);MNA_VERSION=$(ProductVersion);DOTNET_SDK_PATH=$(DotnetCliPath)"
|
||||
EnvironmentVariables="NUGET_PACKAGES=$(PackagesDir);TEST_ARTIFACTS=$(SystemPathTestsOutputDir);TEST_TARGETRID=$(TestTargetRid);BUILDRID=$(OutputRid);BUILD_ARCHITECTURE=$(TargetArchitecture);BUILD_CONFIGURATION=$(ConfigurationGroup);MNA_VERSION=$(ProductVersion);DOTNET_SDK_PATH=$(DotnetCliPath)"
|
||||
Condition="'$(TestProjectFilename)' != 'HostActivationTests' or '$(IsCrossArch)' != 'true'"
|
||||
ContinueOnError="true"
|
||||
IgnoreStandardErrorWarningFormat="true"
|
||||
|
|
|
@ -0,0 +1,9 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="..\dir.props" />
|
||||
|
||||
<PropertyGroup>
|
||||
<BuildCustomTasksForDesktop Condition="'$(MSBuildRuntimeType)' != 'Core'">true</BuildCustomTasksForDesktop>
|
||||
</PropertyGroup>
|
||||
|
||||
</Project>
|
|
@ -213,7 +213,7 @@ function cross_build_core_setup_with_docker {
|
|||
fi
|
||||
|
||||
# Cross building core-setup with rootfs in Docker
|
||||
__buildCmd="./build.sh --configuration $__buildConfig --env-vars DISABLE_CROSSGEN=1,TARGETPLATFORM=$__buildArch,TARGETRID=$__runtimeOS-$__buildArch,CROSS=1,ROOTFS_DIR=$__rootfsDir"
|
||||
__buildCmd="./build.sh --configuration $__buildConfig --env-vars DISABLE_CROSSGEN=1,TARGETPLATFORM=$__buildArch,OUTPUTRID=$__runtimeOS-$__buildArch,CROSS=1,ROOTFS_DIR=$__rootfsDir"
|
||||
$__dockerCmd $__buildCmd
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,84 @@
|
|||
#!/usr/bin/env bash
|
||||
#
|
||||
# Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
# Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
#
|
||||
|
||||
set -e
|
||||
|
||||
SOURCE="${BASH_SOURCE[0]}"
|
||||
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
SOURCE="$(readlink "$SOURCE")"
|
||||
[[ "$SOURCE" != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||
done
|
||||
DIR="$( cd -P "$( dirname "$SOURCE" )" && pwd )"
|
||||
|
||||
cd "$DIR/.."
|
||||
|
||||
while [[ $# > 0 ]]; do
|
||||
key=$1
|
||||
|
||||
case $key in
|
||||
-t|--tag)
|
||||
DOCKER_TAG=$2
|
||||
shift
|
||||
;;
|
||||
-d|--dockerfile)
|
||||
DOCKERFILE=$2
|
||||
shift
|
||||
;;
|
||||
-h|-?|--help)
|
||||
echo "Usage: $0 [-d|--dockerfile <Dockerfile>] [-t|--tag <Tag>] <Command>"
|
||||
echo ""
|
||||
echo "Options:"
|
||||
echo " <Dockerfile> The path to the folder that contains a Dockerfile to use to create the build container"
|
||||
echo " <Tag> The name of docker image tag"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
break # the first non-switch we get ends parsing
|
||||
;;
|
||||
esac
|
||||
|
||||
shift
|
||||
done
|
||||
|
||||
# Executes a command and retries if it fails.
|
||||
# NOTE: This function is the exact copy from init-docker.sh.
|
||||
# Reason for not invoking init.docker.sh directly is since that script
|
||||
# also performs cleanup, which we do not want in this case.
|
||||
execute() {
|
||||
local count=0
|
||||
local retries=5
|
||||
local waitFactor=6
|
||||
until "$@"; do
|
||||
local exit=$?
|
||||
count=$(( $count + 1 ))
|
||||
if [ $count -lt $retries ]; then
|
||||
local wait=$(( waitFactor ** (( count - 1 )) ))
|
||||
echo "Retry $count/$retries exited $exit, retrying in $wait seconds..."
|
||||
sleep $wait
|
||||
else
|
||||
say_err "Retry $count/$retries exited $exit, no more retries left."
|
||||
return $exit
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Build the docker container (will be fast if it is already built)
|
||||
echo "Building Docker Container using Dockerfile: $DOCKERFILE"
|
||||
|
||||
# Get the name of Docker image.
|
||||
image=$(grep -i "^FROM " "$DOCKERFILE/Dockerfile" | awk '{ print $2 }')
|
||||
|
||||
# Explicitly pull the base image with retry logic.
|
||||
# This eliminates intermittent failures during docker build caused by failing to retrieve the base image.
|
||||
if [ ! -z "$image" ]; then
|
||||
echo "Pulling Docker image $image"
|
||||
execute docker pull $image
|
||||
fi
|
||||
|
||||
docker build --build-arg USER_ID=$(id -u) -t $DOCKER_TAG $DOCKERFILE
|
|
@ -87,44 +87,8 @@ fi
|
|||
# VSO
|
||||
[ ! -z "$BUILD_BUILDID" ] && DOTNET_BUILD_CONTAINER_NAME="${BUILD_BUILDID}-${BUILD_BUILDNUMBER}"
|
||||
|
||||
# Executes a command and retries if it fails.
|
||||
# NOTE: This function is the exact copy from init-docker.sh.
|
||||
# Reason for not invoking init.docker.sh directly is since that script
|
||||
# also performs cleanup, which we do not want in this case.
|
||||
execute() {
|
||||
local count=0
|
||||
local retries=5
|
||||
local waitFactor=6
|
||||
until "$@"; do
|
||||
local exit=$?
|
||||
count=$(( $count + 1 ))
|
||||
if [ $count -lt $retries ]; then
|
||||
local wait=$(( waitFactor ** (( count - 1 )) ))
|
||||
echo "Retry $count/$retries exited $exit, retrying in $wait seconds..."
|
||||
sleep $wait
|
||||
else
|
||||
say_err "Retry $count/$retries exited $exit, no more retries left."
|
||||
return $exit
|
||||
fi
|
||||
done
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
# Build the docker container (will be fast if it is already built)
|
||||
echo "Building Docker Container using Dockerfile: $DOCKERFILE"
|
||||
|
||||
# Get the name of Docker image.
|
||||
image=$(grep -i "^FROM " "$DOCKERFILE/Dockerfile" | awk '{ print $2 }')
|
||||
|
||||
# Explicitly pull the base image with retry logic.
|
||||
# This eliminates intermittent failures during docker build caused by failing to retrieve the base image.
|
||||
if [ ! -z "$image" ]; then
|
||||
echo "Pulling Docker image $image"
|
||||
execute docker pull $image
|
||||
fi
|
||||
|
||||
docker build --build-arg USER_ID=$(id -u) -t $DOTNET_BUILD_CONTAINER_TAG $DOCKERFILE
|
||||
#Build the docker image
|
||||
"$DIR/dockerbuild.sh" -t $DOTNET_BUILD_CONTAINER_TAG -d $DOCKERFILE
|
||||
|
||||
# Run the build in the container
|
||||
echo "Launching build in Docker Container"
|
||||
|
|
|
@ -0,0 +1,320 @@
|
|||
// Copyright (c) .NET Foundation and contributors. All rights reserved.
|
||||
// Licensed under the MIT license. See LICENSE file in the project root for full license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.Build.Utilities;
|
||||
using Microsoft.Build.Framework;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace Microsoft.DotNet.Build.Tasks
|
||||
{
|
||||
/// <summary>
|
||||
/// This task prepares the command line parameters for running a RPM build using FPM tool and also updates the copyright and changelog file tokens.
|
||||
/// If parses various values from the config json by first reading it into a model and then builds the required string for parameters and passes it back.
|
||||
///
|
||||
/// </summary>
|
||||
public class BuildFPMToolPreReqs : BuildTask
|
||||
{
|
||||
[Required]
|
||||
public string InputDir { get; set; }
|
||||
[Required]
|
||||
public string OutputDir { get; set; }
|
||||
[Required]
|
||||
public string PackageVersion { get; set; }
|
||||
[Required]
|
||||
public string ConfigJsonFile { get; set; }
|
||||
[Output]
|
||||
public string FPMParameters { get; set; }
|
||||
|
||||
public override bool Execute()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!File.Exists(ConfigJsonFile))
|
||||
{
|
||||
throw new FileNotFoundException($"Expected file {ConfigJsonFile} was not found.");
|
||||
}
|
||||
|
||||
// Open the Config Json and read the values into the model
|
||||
TextReader projectFileReader = File.OpenText(ConfigJsonFile);
|
||||
if (projectFileReader != null)
|
||||
{
|
||||
string jsonFileText = projectFileReader.ReadToEnd();
|
||||
ConfigJson configJson = JsonConvert.DeserializeObject<ConfigJson>(jsonFileText);
|
||||
|
||||
// Update the Changelog and Copyright files by replacing tokens with values from config json
|
||||
UpdateChangelog(configJson, PackageVersion);
|
||||
UpdateCopyRight(configJson);
|
||||
|
||||
// Build the full list of parameters
|
||||
FPMParameters = BuildCmdParameters(configJson, PackageVersion);
|
||||
Log.LogMessage(MessageImportance.Normal, "Generated RPM paramters: " + FPMParameters);
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new IOException($"Could not open the file {ConfigJsonFile} for reading.");
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.LogError("Exception while processing RPM paramters: " + e.Message);
|
||||
}
|
||||
|
||||
return !Log.HasLoggedErrors;
|
||||
}
|
||||
|
||||
// Update the tokens in the changelog file from the config Json
|
||||
private void UpdateChangelog(ConfigJson configJson, string package_version)
|
||||
{
|
||||
try
|
||||
{
|
||||
string changelogFile = Path.Combine(InputDir, "templates", "changelog");
|
||||
if (!File.Exists(changelogFile))
|
||||
{
|
||||
throw new FileNotFoundException($"Expected file {changelogFile} was not found.");
|
||||
}
|
||||
string str = File.ReadAllText(changelogFile);
|
||||
str = str.Replace("{PACKAGE_NAME}", configJson.Package_Name);
|
||||
str = str.Replace("{PACKAGE_VERSION}", package_version);
|
||||
str = str.Replace("{PACKAGE_REVISION}", configJson.Release.Package_Revision);
|
||||
str = str.Replace("{URGENCY}", configJson.Release.Urgency);
|
||||
str = str.Replace("{CHANGELOG_MESSAGE}", configJson.Release.Changelog_Message);
|
||||
str = str.Replace("{MAINTAINER_NAME}", configJson.Maintainer_Name);
|
||||
str = str.Replace("{MAINTAINER_EMAIL}", configJson.Maintainer_Email);
|
||||
// The date format needs to be like Wed May 17 2017
|
||||
str = str.Replace("{DATE}", DateTime.UtcNow.ToString("ddd MMM dd yyyy"));
|
||||
File.WriteAllText(changelogFile, str);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.LogError("Exception while updating the changelog file: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public void UpdateCopyRight(ConfigJson configJson)
|
||||
{
|
||||
try
|
||||
{
|
||||
// Update the tokens in the copyright file from the config Json
|
||||
string copyrightFile = Path.Combine(InputDir, "templates", "copyright");
|
||||
if (!File.Exists(copyrightFile))
|
||||
{
|
||||
throw new FileNotFoundException($"Expected file {copyrightFile} was not found.");
|
||||
}
|
||||
string str = File.ReadAllText(copyrightFile);
|
||||
str = str.Replace("{COPYRIGHT_TEXT}", configJson.CopyRight);
|
||||
str = str.Replace("{LICENSE_NAME}", configJson.License.Type);
|
||||
str = str.Replace("{LICENSE_NAME}", configJson.License.Type);
|
||||
str = str.Replace("{LICENSE_TEXT}", configJson.License.Full_Text);
|
||||
File.WriteAllText(copyrightFile, str);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.LogError("Exception while updating the copyright file: " + e.Message);
|
||||
}
|
||||
}
|
||||
|
||||
private string BuildCmdParameters(ConfigJson configJson, string package_version)
|
||||
{
|
||||
// Parameter list that needs to be passed to FPM tool:
|
||||
// -s : is the input source type(dir) --Static
|
||||
// -t : is the type of package(rpm) --Static
|
||||
// -n : is for the name of the package --JSON
|
||||
// -v : is the version to give to the package --ARG
|
||||
// -a : architecture --JSON
|
||||
// -d : is for all dependent packages. This can be used multiple times to specify the dependencies of the package. --JSON
|
||||
// --rpm-os : the operating system to target this rpm --Static
|
||||
// --rpm-changelog : the changelog from FILEPATH contents --ARG
|
||||
// --rpm-summary : it is the RPM summary that shows in the Title --JSON
|
||||
// --description : it is the description for the package --JSON
|
||||
// -p : The actual package name (with path) for your package. --ARG+JSON
|
||||
// --conflicts : Other packages/versions this package conflicts with provided as CSV --JSON
|
||||
// --directories : Recursively add directories as being owned by the package. --JSON
|
||||
// --after-install : FILEPATH to the script to be run after install of the package --JSON
|
||||
// --after-remove : FILEPATH to the script to be run after package removal --JSON
|
||||
// --license : the licensing name for the package. This will include the license type in the meta-data for the package, but will not include the associated license file within the package itself. --JSON
|
||||
// --iteration : the iteration to give to the package. This comes from the package_revision --JSON
|
||||
// --url : url for this package. --JSON
|
||||
// --verbose : Set verbose output for FPM tool --Static
|
||||
// <All folder mappings> : Add all the folder mappings for packge_root, docs, man pages --Static
|
||||
|
||||
var parameters = new List<string>();
|
||||
parameters.Add("-s dir");
|
||||
parameters.Add("-t rpm");
|
||||
parameters.Add(string.Concat("-n ", configJson.Package_Name));
|
||||
parameters.Add(string.Concat("-v ", package_version));
|
||||
parameters.Add(string.Concat("-a ", configJson.Control.Architecture));
|
||||
|
||||
// Build the list of dependencies as -d <dep1> -d <dep2>
|
||||
if (configJson.Rpm_Dependencies != null)
|
||||
{
|
||||
foreach (RpmDependency rpmdep in configJson.Rpm_Dependencies)
|
||||
{
|
||||
string dependency = "";
|
||||
if (rpmdep.Package_Name != "")
|
||||
{
|
||||
// If no version is specified then the dependency is just the package without >= check
|
||||
if (rpmdep.Package_Version == "")
|
||||
{
|
||||
dependency = rpmdep.Package_Name;
|
||||
}
|
||||
else
|
||||
{
|
||||
dependency = string.Concat(rpmdep.Package_Name, " >= ", rpmdep.Package_Version);
|
||||
}
|
||||
}
|
||||
if (dependency != "") parameters.Add(string.Concat("-d ", EscapeArg(dependency)));
|
||||
}
|
||||
}
|
||||
|
||||
// Build the list of owned directories
|
||||
if (configJson.Directories != null)
|
||||
{
|
||||
foreach (string dir in configJson.Directories)
|
||||
{
|
||||
if (dir != "")
|
||||
{
|
||||
parameters.Add(string.Concat("--directories ", EscapeArg(dir)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
parameters.Add("--rpm-os linux");
|
||||
parameters.Add(string.Concat("--rpm-changelog ", EscapeArg(Path.Combine(InputDir, "templates", "changelog")))); // Changelog File
|
||||
parameters.Add(string.Concat("--rpm-summary ", EscapeArg(configJson.Short_Description)));
|
||||
parameters.Add(string.Concat("--description ", EscapeArg(configJson.Long_Description)));
|
||||
parameters.Add(string.Concat("--maintainer ", EscapeArg(configJson.Maintainer_Name + " <" + configJson.Maintainer_Email + ">")));
|
||||
parameters.Add(string.Concat("--vendor ", EscapeArg(configJson.Vendor)));
|
||||
parameters.Add(string.Concat("-p ", Path.Combine(OutputDir, configJson.Package_Name + ".rpm")));
|
||||
if (configJson.Package_Conflicts != null) parameters.Add(string.Concat("--conflicts ", EscapeArg(string.Join(",", configJson.Package_Conflicts))));
|
||||
if (configJson.After_Install_Source != null) parameters.Add(string.Concat("--after-install ", Path.Combine(InputDir, EscapeArg(configJson.After_Install_Source))));
|
||||
if (configJson.After_Remove_Source != null) parameters.Add(string.Concat("--after-remove ", Path.Combine(InputDir, EscapeArg(configJson.After_Remove_Source))));
|
||||
parameters.Add(string.Concat("--license ", EscapeArg(configJson.License.Type)));
|
||||
parameters.Add(string.Concat("--iteration ", configJson.Release.Package_Revision));
|
||||
parameters.Add(string.Concat("--url ", "\"", EscapeArg(configJson.Homepage), "\""));
|
||||
parameters.Add("--verbose");
|
||||
|
||||
// Map all the payload directories as they need to install on the system
|
||||
if (configJson.Install_Root != null) parameters.Add(string.Concat(Path.Combine(InputDir, "package_root/="), configJson.Install_Root)); // Package Files
|
||||
if (configJson.Install_Man != null) parameters.Add(string.Concat(Path.Combine(InputDir, "docs", "host/="), configJson.Install_Man)); // Man Pages
|
||||
if (configJson.Install_Doc != null) parameters.Add(string.Concat(Path.Combine(InputDir, "templates", "copyright="), configJson.Install_Doc)); // CopyRight File
|
||||
|
||||
return string.Join(" ", parameters);
|
||||
}
|
||||
|
||||
private string EscapeArg(string arg)
|
||||
{
|
||||
var sb = new StringBuilder();
|
||||
|
||||
bool quoted = ShouldSurroundWithQuotes(arg);
|
||||
if (quoted) sb.Append("\"");
|
||||
|
||||
for (int i = 0; i < arg.Length; ++i)
|
||||
{
|
||||
var backslashCount = 0;
|
||||
|
||||
// Consume All Backslashes
|
||||
while (i < arg.Length && arg[i] == '\\')
|
||||
{
|
||||
backslashCount++;
|
||||
i++;
|
||||
}
|
||||
|
||||
// Escape any backslashes at the end of the arg
|
||||
// This ensures the outside quote is interpreted as
|
||||
// an argument delimiter
|
||||
if (i == arg.Length)
|
||||
{
|
||||
sb.Append('\\', 2 * backslashCount);
|
||||
}
|
||||
|
||||
// Escape any preceding backslashes and the quote
|
||||
else if (arg[i] == '"')
|
||||
{
|
||||
sb.Append('\\', (2 * backslashCount) + 1);
|
||||
sb.Append('"');
|
||||
}
|
||||
|
||||
// Output any consumed backslashes and the character
|
||||
else
|
||||
{
|
||||
sb.Append('\\', backslashCount);
|
||||
sb.Append(arg[i]);
|
||||
}
|
||||
}
|
||||
|
||||
if (quoted) sb.Append("\"");
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
private bool ShouldSurroundWithQuotes(string argument)
|
||||
{
|
||||
// Don't quote already quoted strings
|
||||
if (argument.StartsWith("\"", StringComparison.Ordinal) &&
|
||||
argument.EndsWith("\"", StringComparison.Ordinal))
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
// Only quote if whitespace exists in the string
|
||||
if (argument.Contains(" ") || argument.Contains("\t") || argument.Contains("\n"))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Model classes for reading and storing the JSON.
|
||||
/// </summary>
|
||||
public class ConfigJson
|
||||
{
|
||||
public string Maintainer_Name { get; set; }
|
||||
public string Maintainer_Email { get; set; }
|
||||
public string Vendor { get; set; }
|
||||
public string Package_Name { get; set; }
|
||||
public string Install_Root { get; set; }
|
||||
public string Install_Doc { get; set; }
|
||||
public string Install_Man { get; set; }
|
||||
public string Short_Description { get; set; }
|
||||
public string Long_Description { get; set; }
|
||||
public string Homepage { get; set; }
|
||||
public string CopyRight { get; set; }
|
||||
public Release Release { get; set; }
|
||||
public Control Control { get; set; }
|
||||
public License License { get; set; }
|
||||
public List<RpmDependency> Rpm_Dependencies { get; set; }
|
||||
public List<string> Package_Conflicts { get; set; }
|
||||
public List<string> Directories { get; set; }
|
||||
public string After_Install_Source { get; set; }
|
||||
public string After_Remove_Source { get; set; }
|
||||
}
|
||||
public class Release
|
||||
{
|
||||
public string Package_Version { get; set; }
|
||||
public string Package_Revision { get; set; }
|
||||
public string Urgency { get; set; }
|
||||
public string Changelog_Message { get; set; }
|
||||
}
|
||||
public class Control
|
||||
{
|
||||
public string Priority { get; set; }
|
||||
public string Section { get; set; }
|
||||
public string Architecture { get; set; }
|
||||
}
|
||||
public class License
|
||||
{
|
||||
public string Type { get; set; }
|
||||
public string Full_Text { get; set; }
|
||||
}
|
||||
public class RpmDependency
|
||||
{
|
||||
public string Package_Name { get; set; }
|
||||
public string Package_Version { get; set; }
|
||||
}
|
||||
}
|
|
@ -5,7 +5,8 @@
|
|||
<Project Include="$(MSBuildThisFileDirectory)$(MSBuildProjectName).csproj">
|
||||
<AdditionalProperties>TargetGroup=netstandard1.3</AdditionalProperties>
|
||||
</Project>
|
||||
<Project Include="$(MSBuildThisFileDirectory)$(MSBuildProjectName).csproj">
|
||||
<Project Include="$(MSBuildThisFileDirectory)$(MSBuildProjectName).csproj"
|
||||
Condition="'$(BuildCustomTasksForDesktop)' == 'true'">
|
||||
<AdditionalProperties>TargetGroup=net45</AdditionalProperties>
|
||||
</Project>
|
||||
</ItemGroup>
|
||||
|
|
|
@ -37,18 +37,10 @@
|
|||
|
||||
<Reference Include="$(BuildToolsTaskCoreDir)Microsoft.DotNet.Build.CloudTestTasks.dll" />
|
||||
|
||||
<PackageReference Include="Microsoft.Build">
|
||||
<Version>0.1.0-preview-00022</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Build.Framework">
|
||||
<Version>0.1.0-preview-00022</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core">
|
||||
<Version>0.1.0-preview-00022</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core">
|
||||
<Version>0.1.0-preview-00022</Version>
|
||||
</PackageReference>
|
||||
<PackageReference Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildFrameworkPackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildTasksCorePackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildUtilitiesCorePackageVersion)" />
|
||||
<PackageReference Include="Microsoft.Tpl.Dataflow">
|
||||
<Version>4.5.24</Version>
|
||||
<IncludeAssets>None</IncludeAssets>
|
||||
|
|
Загрузка…
Ссылка в новой задаче