Update dependencies from https://github.com/dotnet/arcade build 20240516.3 (#7156)
Microsoft.DotNet.Arcade.Sdk , Microsoft.DotNet.Build.Tasks.Feed , Microsoft.DotNet.Helix.Sdk , Microsoft.DotNet.SignTool , Microsoft.DotNet.SwaggerGenerator.MSBuild , Microsoft.DotNet.XUnitExtensions From Version 8.0.0-beta.24204.3 -> To Version 8.0.0-beta.24266.3 Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
This commit is contained in:
Родитель
7ee2ead662
Коммит
75eaa2b7e1
|
@ -7,25 +7,25 @@
|
||||||
</Dependency>
|
</Dependency>
|
||||||
</ProductDependencies>
|
</ProductDependencies>
|
||||||
<ToolsetDependencies>
|
<ToolsetDependencies>
|
||||||
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.Build.Tasks.Feed" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.SignTool" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.SignTool" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.Helix.Sdk" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.SwaggerGenerator.MSBuild" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.Maestro.Client" Version="1.1.0-beta.20074.1">
|
<Dependency Name="Microsoft.DotNet.Maestro.Client" Version="1.1.0-beta.20074.1">
|
||||||
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
<Uri>https://github.com/dotnet/arcade-services</Uri>
|
||||||
|
@ -39,9 +39,9 @@
|
||||||
<Uri>https://github.com/dotnet/xharness</Uri>
|
<Uri>https://github.com/dotnet/xharness</Uri>
|
||||||
<Sha>89cb4b1d368e0f15b4df8e02a176dd1f1c33958b</Sha>
|
<Sha>89cb4b1d368e0f15b4df8e02a176dd1f1c33958b</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.24204.3">
|
<Dependency Name="Microsoft.DotNet.XUnitExtensions" Version="8.0.0-beta.24266.3">
|
||||||
<Uri>https://github.com/dotnet/arcade</Uri>
|
<Uri>https://github.com/dotnet/arcade</Uri>
|
||||||
<Sha>188340e12c0a372b1681ad6a5e72c608021efdba</Sha>
|
<Sha>e6f70c7dd528f05cd28cec2a179d58c22e91d9ac</Sha>
|
||||||
</Dependency>
|
</Dependency>
|
||||||
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.8.0-3.20460.2">
|
<Dependency Name="Microsoft.Net.Compilers.Toolset" Version="3.8.0-3.20460.2">
|
||||||
<Uri>https://github.com/dotnet/roslyn</Uri>
|
<Uri>https://github.com/dotnet/roslyn</Uri>
|
||||||
|
|
|
@ -81,7 +81,7 @@
|
||||||
<DotNetRuntime80Version>8.0.1</DotNetRuntime80Version>
|
<DotNetRuntime80Version>8.0.1</DotNetRuntime80Version>
|
||||||
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
|
<FluentAssertionVersion>5.10.2</FluentAssertionVersion>
|
||||||
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
|
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.23431.1</MicrosoftCodeAnalysisTestingVersion>
|
||||||
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.24204.3</MicrosoftDotNetXUnitExtensionsVersion>
|
<MicrosoftDotNetXUnitExtensionsVersion>8.0.0-beta.24266.3</MicrosoftDotNetXUnitExtensionsVersion>
|
||||||
<MicrosoftExtensionsDependencyModelVersion>2.1.0</MicrosoftExtensionsDependencyModelVersion>
|
<MicrosoftExtensionsDependencyModelVersion>2.1.0</MicrosoftExtensionsDependencyModelVersion>
|
||||||
<MicrosoftExtensionsTestVersion>3.0.1</MicrosoftExtensionsTestVersion>
|
<MicrosoftExtensionsTestVersion>3.0.1</MicrosoftExtensionsTestVersion>
|
||||||
<MicrosoftMLOnnxTestModelsVersion>0.0.6-test</MicrosoftMLOnnxTestModelsVersion>
|
<MicrosoftMLOnnxTestModelsVersion>0.0.6-test</MicrosoftMLOnnxTestModelsVersion>
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
parameters:
|
parameters:
|
||||||
runAsPublic: false
|
runAsPublic: false
|
||||||
sourceIndexPackageVersion: 1.0.1-20230228.2
|
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
|
||||||
|
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
|
||||||
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
|
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
|
||||||
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
|
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
|
||||||
preSteps: []
|
preSteps: []
|
||||||
|
@ -14,15 +15,15 @@ jobs:
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
condition: ${{ parameters.condition }}
|
condition: ${{ parameters.condition }}
|
||||||
variables:
|
variables:
|
||||||
- name: SourceIndexPackageVersion
|
- name: SourceIndexUploadPackageVersion
|
||||||
value: ${{ parameters.sourceIndexPackageVersion }}
|
value: ${{ parameters.sourceIndexUploadPackageVersion }}
|
||||||
|
- name: SourceIndexProcessBinlogPackageVersion
|
||||||
|
value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
|
||||||
- name: SourceIndexPackageSource
|
- name: SourceIndexPackageSource
|
||||||
value: ${{ parameters.sourceIndexPackageSource }}
|
value: ${{ parameters.sourceIndexPackageSource }}
|
||||||
- name: BinlogPath
|
- name: BinlogPath
|
||||||
value: ${{ parameters.binlogPath }}
|
value: ${{ parameters.binlogPath }}
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- template: /eng/common/templates/variables/pool-providers.yml
|
||||||
- group: source-dot-net stage1 variables
|
|
||||||
- template: /eng/common/templates-official/variables/pool-providers.yml
|
|
||||||
|
|
||||||
${{ if ne(parameters.pool, '') }}:
|
${{ if ne(parameters.pool, '') }}:
|
||||||
pool: ${{ parameters.pool }}
|
pool: ${{ parameters.pool }}
|
||||||
|
@ -33,24 +34,23 @@ jobs:
|
||||||
demands: ImageOverride -equals windows.vs2019.amd64.open
|
demands: ImageOverride -equals windows.vs2019.amd64.open
|
||||||
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
${{ if eq(variables['System.TeamProject'], 'internal') }}:
|
||||||
name: $(DncEngInternalBuildPool)
|
name: $(DncEngInternalBuildPool)
|
||||||
image: windows.vs2022.amd64
|
demands: ImageOverride -equals windows.vs2019.amd64
|
||||||
os: windows
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- ${{ each preStep in parameters.preSteps }}:
|
- ${{ each preStep in parameters.preSteps }}:
|
||||||
- ${{ preStep }}
|
- ${{ preStep }}
|
||||||
|
|
||||||
- task: UseDotNet@2
|
- task: UseDotNet@2
|
||||||
displayName: Use .NET Core SDK 6
|
displayName: Use .NET 8 SDK
|
||||||
inputs:
|
inputs:
|
||||||
packageType: sdk
|
packageType: sdk
|
||||||
version: 6.0.x
|
version: 8.0.x
|
||||||
installationPath: $(Agent.TempDirectory)/dotnet
|
installationPath: $(Agent.TempDirectory)/dotnet
|
||||||
workingDirectory: $(Agent.TempDirectory)
|
workingDirectory: $(Agent.TempDirectory)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
||||||
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
||||||
displayName: Download Tools
|
displayName: Download Tools
|
||||||
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
|
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
|
||||||
workingDirectory: $(Agent.TempDirectory)
|
workingDirectory: $(Agent.TempDirectory)
|
||||||
|
@ -62,7 +62,24 @@ jobs:
|
||||||
displayName: Process Binlog into indexable sln
|
displayName: Process Binlog into indexable sln
|
||||||
|
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
|
- task: AzureCLI@2
|
||||||
|
displayName: Get stage 1 auth token
|
||||||
|
inputs:
|
||||||
|
azureSubscription: 'SourceDotNet Stage1 Publish'
|
||||||
|
addSpnToEnvironment: true
|
||||||
|
scriptType: 'ps'
|
||||||
|
scriptLocation: 'inlineScript'
|
||||||
|
inlineScript: |
|
||||||
|
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"
|
||||||
|
echo "##vso[task.setvariable variable=ARM_ID_TOKEN]$env:idToken"
|
||||||
|
echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
echo "Client ID: $(ARM_CLIENT_ID)"
|
||||||
|
echo "ID Token: $(ARM_ID_TOKEN)"
|
||||||
|
echo "Tenant ID: $(ARM_TENANT_ID)"
|
||||||
|
az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
|
||||||
|
displayName: "Login to Azure"
|
||||||
|
|
||||||
|
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
|
||||||
displayName: Upload stage1 artifacts to source index
|
displayName: Upload stage1 artifacts to source index
|
||||||
env:
|
|
||||||
BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)
|
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
parameters:
|
parameters:
|
||||||
runAsPublic: false
|
runAsPublic: false
|
||||||
sourceIndexPackageVersion: 1.0.1-20230228.2
|
sourceIndexUploadPackageVersion: 2.0.0-20240502.12
|
||||||
|
sourceIndexProcessBinlogPackageVersion: 1.0.1-20240129.2
|
||||||
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
|
sourceIndexPackageSource: https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json
|
||||||
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
|
sourceIndexBuildCommand: powershell -NoLogo -NoProfile -ExecutionPolicy Bypass -Command "eng/common/build.ps1 -restore -build -binarylog -ci"
|
||||||
preSteps: []
|
preSteps: []
|
||||||
|
@ -14,14 +15,14 @@ jobs:
|
||||||
dependsOn: ${{ parameters.dependsOn }}
|
dependsOn: ${{ parameters.dependsOn }}
|
||||||
condition: ${{ parameters.condition }}
|
condition: ${{ parameters.condition }}
|
||||||
variables:
|
variables:
|
||||||
- name: SourceIndexPackageVersion
|
- name: SourceIndexUploadPackageVersion
|
||||||
value: ${{ parameters.sourceIndexPackageVersion }}
|
value: ${{ parameters.sourceIndexUploadPackageVersion }}
|
||||||
|
- name: SourceIndexProcessBinlogPackageVersion
|
||||||
|
value: ${{ parameters.sourceIndexProcessBinlogPackageVersion }}
|
||||||
- name: SourceIndexPackageSource
|
- name: SourceIndexPackageSource
|
||||||
value: ${{ parameters.sourceIndexPackageSource }}
|
value: ${{ parameters.sourceIndexPackageSource }}
|
||||||
- name: BinlogPath
|
- name: BinlogPath
|
||||||
value: ${{ parameters.binlogPath }}
|
value: ${{ parameters.binlogPath }}
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
|
||||||
- group: source-dot-net stage1 variables
|
|
||||||
- template: /eng/common/templates/variables/pool-providers.yml
|
- template: /eng/common/templates/variables/pool-providers.yml
|
||||||
|
|
||||||
${{ if ne(parameters.pool, '') }}:
|
${{ if ne(parameters.pool, '') }}:
|
||||||
|
@ -40,16 +41,16 @@ jobs:
|
||||||
- ${{ preStep }}
|
- ${{ preStep }}
|
||||||
|
|
||||||
- task: UseDotNet@2
|
- task: UseDotNet@2
|
||||||
displayName: Use .NET Core SDK 6
|
displayName: Use .NET 8 SDK
|
||||||
inputs:
|
inputs:
|
||||||
packageType: sdk
|
packageType: sdk
|
||||||
version: 6.0.x
|
version: 8.0.x
|
||||||
installationPath: $(Agent.TempDirectory)/dotnet
|
installationPath: $(Agent.TempDirectory)/dotnet
|
||||||
workingDirectory: $(Agent.TempDirectory)
|
workingDirectory: $(Agent.TempDirectory)
|
||||||
|
|
||||||
- script: |
|
- script: |
|
||||||
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
$(Agent.TempDirectory)/dotnet/dotnet tool install BinLogToSln --version $(sourceIndexProcessBinlogPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
||||||
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(SourceIndexPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
$(Agent.TempDirectory)/dotnet/dotnet tool install UploadIndexStage1 --version $(sourceIndexUploadPackageVersion) --add-source $(SourceIndexPackageSource) --tool-path $(Agent.TempDirectory)/.source-index/tools
|
||||||
displayName: Download Tools
|
displayName: Download Tools
|
||||||
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
|
# Set working directory to temp directory so 'dotnet' doesn't try to use global.json and use the repo's sdk.
|
||||||
workingDirectory: $(Agent.TempDirectory)
|
workingDirectory: $(Agent.TempDirectory)
|
||||||
|
@ -61,7 +62,24 @@ jobs:
|
||||||
displayName: Process Binlog into indexable sln
|
displayName: Process Binlog into indexable sln
|
||||||
|
|
||||||
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
|
||||||
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name)
|
- task: AzureCLI@2
|
||||||
|
displayName: Get stage 1 auth token
|
||||||
|
inputs:
|
||||||
|
azureSubscription: 'SourceDotNet Stage1 Publish'
|
||||||
|
addSpnToEnvironment: true
|
||||||
|
scriptType: 'ps'
|
||||||
|
scriptLocation: 'inlineScript'
|
||||||
|
inlineScript: |
|
||||||
|
echo "##vso[task.setvariable variable=ARM_CLIENT_ID]$env:servicePrincipalId"
|
||||||
|
echo "##vso[task.setvariable variable=ARM_ID_TOKEN]$env:idToken"
|
||||||
|
echo "##vso[task.setvariable variable=ARM_TENANT_ID]$env:tenantId"
|
||||||
|
|
||||||
|
- script: |
|
||||||
|
echo "Client ID: $(ARM_CLIENT_ID)"
|
||||||
|
echo "ID Token: $(ARM_ID_TOKEN)"
|
||||||
|
echo "Tenant ID: $(ARM_TENANT_ID)"
|
||||||
|
az login --service-principal -u $(ARM_CLIENT_ID) --tenant $(ARM_TENANT_ID) --allow-no-subscriptions --federated-token $(ARM_ID_TOKEN)
|
||||||
|
displayName: "Login to Azure"
|
||||||
|
|
||||||
|
- script: $(Agent.TempDirectory)/.source-index/tools/UploadIndexStage1 -i .source-index/stage1output -n $(Build.Repository.Name) -s netsourceindexstage1 -b stage1
|
||||||
displayName: Upload stage1 artifacts to source index
|
displayName: Upload stage1 artifacts to source index
|
||||||
env:
|
|
||||||
BLOB_CONTAINER_URL: $(source-dot-net-stage1-blob-container-url)
|
|
||||||
|
|
|
@ -11,8 +11,8 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"msbuild-sdks": {
|
"msbuild-sdks": {
|
||||||
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24204.3",
|
"Microsoft.DotNet.Arcade.Sdk": "8.0.0-beta.24266.3",
|
||||||
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24204.3",
|
"Microsoft.DotNet.Helix.Sdk": "8.0.0-beta.24266.3",
|
||||||
"Microsoft.Build.Traversal": "3.2.0",
|
"Microsoft.Build.Traversal": "3.2.0",
|
||||||
"Microsoft.SourceLink.GitHub": "1.1.0-beta-20206-02",
|
"Microsoft.SourceLink.GitHub": "1.1.0-beta-20206-02",
|
||||||
"Microsoft.SourceLink.Common": "1.1.0-beta-20206-02"
|
"Microsoft.SourceLink.Common": "1.1.0-beta-20206-02"
|
||||||
|
|
Загрузка…
Ссылка в новой задаче