Skip to content
This repository was archived by the owner on May 1, 2024. It is now read-only.

Commit c782930

Browse files
authored
Extra restore to fix 16.8 builds (#12914)
* Extra restore to fix 16.8 builds * - keep restore for pages * - move pages build to cake * - fix pages path
1 parent db8ab0c commit c782930

File tree

3 files changed

+32
-27
lines changed

3 files changed

+32
-27
lines changed

azure-pipelines.yml

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,6 @@ variables:
33
value: 'any cpu'
44
- name: ApkName
55
value: AndroidControlGallery.AndroidControlGallery.apk
6-
- name: SolutionFile
7-
value: Xamarin.Forms.sln
86
- name: BuildVersion
97
value: $[counter('nuget-counter', 126)]
108
- name: BuildVersion42
@@ -101,7 +99,6 @@ stages:
10199
steps:
102100
- template: build/steps/build-windows.yml
103101
parameters:
104-
slnPath: build/Xamarin.Forms.Pages.sln
105102
includeUwp: false
106103
includeAndroid: false
107104
includeNonUwpAndNonAndroid: false
@@ -168,7 +165,6 @@ stages:
168165
steps:
169166
- template: build/steps/build-windows.yml
170167
parameters:
171-
slnPath: build/Xamarin.Forms.Pages.sln
172168
includeUwp: false
173169
includeAndroid: false
174170
includeNonUwpAndNonAndroid: false
@@ -271,7 +267,6 @@ stages:
271267
variables:
272268
provisionator.osxPath : 'build/provisioning/provisioning.csx'
273269
buildConfiguration: $(DefaultBuildConfiguration)
274-
slnPath: $(SolutionFile)
275270
iOSCertSecureFileName: 'Xamarin Forms iOS Certificate.p12'
276271
iOSProvisioningSecureFileName: 'Xamarin Forms iOS Provisioning.mobileprovision'
277272
buildForVS2017: 'true'

build.cake

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -728,7 +728,7 @@ Task("BuildForNuget")
728728

729729
msbuildSettings.BinaryLogger = binaryLogger;
730730
binaryLogger.FileName = $"{artifactStagingDirectory}/win-{configuration}.binlog";
731-
MSBuild("./Xamarin.Forms.sln", msbuildSettings);
731+
MSBuild("./Xamarin.Forms.sln", msbuildSettings.WithRestore());
732732

733733
// // This currently fails on CI will revisit later
734734
// if(isCIBuild)
@@ -852,6 +852,30 @@ Task("BuildForNuget")
852852
}
853853
});
854854

855+
Task("BuildPages")
856+
.IsDependentOn("BuildTasks")
857+
.Description("Build Xamarin.Forms.Pages")
858+
.Does(() =>
859+
{
860+
try
861+
{
862+
var msbuildSettings = GetMSBuildSettings();
863+
var binaryLogger = new MSBuildBinaryLogSettings {
864+
Enabled = isCIBuild
865+
};
866+
867+
msbuildSettings.BinaryLogger = binaryLogger;
868+
binaryLogger.FileName = $"{artifactStagingDirectory}/win-pages-{configuration}.binlog";
869+
MSBuild("./build/Xamarin.Forms.Pages.sln", msbuildSettings.WithRestore());
870+
871+
}
872+
catch(Exception)
873+
{
874+
if(IsRunningOnWindows())
875+
throw;
876+
}
877+
});
878+
855879
Task("BuildTasks")
856880
.Description("Build Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj")
857881
.Does(() =>
@@ -1110,6 +1134,11 @@ MSBuildSettings GetMSBuildSettings(PlatformTarget? platformTarget = PlatformTarg
11101134
buildSettings = buildSettings.WithProperty("XamarinFormsVersion", XamarinFormsVersion);
11111135
}
11121136

1137+
if(isCIBuild)
1138+
{
1139+
buildSettings = buildSettings.WithProperty("RestoreConfigFile", $"DevopsNuget.config");
1140+
}
1141+
11131142
buildSettings.ArgumentCustomization = args => args.Append($"/nowarn:VSX1000 {MSBuildArguments}");
11141143
return buildSettings;
11151144
}

build/steps/build-windows.yml

Lines changed: 2 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
parameters:
2-
slnPath : 'Xamarin.Forms.sln'
32
msbuildExtraArguments : ''
43
artifactsTargetFolder: '$(build.artifactstagingdirectory)'
54
artifactsName: 'win_build'
@@ -9,7 +8,6 @@ parameters:
98
includeNonUwpAndNonAndroid: 'true'
109
includePages: 'false'
1110

12-
1311
steps:
1412
- checkout: self
1513
clean: true
@@ -32,32 +30,15 @@ steps:
3230
# version: $(DOTNET_VERSION)
3331
# packageType: 'sdk'
3432

35-
- task: NuGetToolInstaller@1
36-
displayName: 'Use NuGet $(NUGET_VERSION)'
37-
condition: ne(variables['NUGET_VERSION'], '')
38-
inputs:
39-
versionSpec: $(NUGET_VERSION)
40-
41-
- task: NuGetCommand@2
42-
displayName: 'NuGet restore ${{ parameters.slnPath }}'
43-
inputs:
44-
restoreSolution: ${{ parameters.slnPath }}
45-
feedsToUse: config
46-
nugetConfigPath: 'DevopsNuget.config'
47-
4833
- script: build.cmd -Target BuildForNuget -ScriptArgs '-BUILD_CONFIGURATION="$(BuildConfiguration)"','-Build_ArtifactStagingDirectory="$(Build.ArtifactStagingDirectory)"'
4934
name: winbuild
5035
displayName: 'Build Projects For Nuget'
5136
condition: ne(${{ parameters.includePages }}, 'true')
5237

53-
- task: MSBuild@1
54-
displayName: 'Build solution ${{ parameters.slnPath }}'
38+
- script: build.cmd -Target BuildPages -ScriptArgs '-BUILD_CONFIGURATION="$(BuildConfiguration)"','-Build_ArtifactStagingDirectory="$(Build.ArtifactStagingDirectory)"'
5539
name: winslnbuild
40+
displayName: 'Build solution Xamarin.Forms.Pages.sln'
5641
condition: eq(${{ parameters.includePages }}, 'true')
57-
inputs:
58-
solution: ${{ parameters.slnPath }}
59-
configuration: '$(BuildConfiguration)'
60-
msbuildArguments: ${{ parameters.msbuildExtraArguments }} /bl:$(Build.ArtifactStagingDirectory)\win-$(BuildConfiguration).binlog
6142

6243
- task: VSTest@2
6344
displayName: 'Unit Tests'

0 commit comments

Comments
 (0)