Merge branch '4.2.0' into 4.3.0
authorRui Marinho <me@ruimarinho.net>
Mon, 4 Nov 2019 13:10:00 +0000 (13:10 +0000)
committerRui Marinho <me@ruimarinho.net>
Mon, 4 Nov 2019 13:10:00 +0000 (13:10 +0000)
1  2 
azure-pipelines.yml
build.cake
build/steps/build-android.yml
build/steps/build-windows.yml

@@@ -15,10 -15,6 +15,8 @@@ variables
    value: 5.0.2
  - name: DOTNET_SKIP_FIRST_TIME_EXPERIENCE
    value: true
- - name: winVmImage
-   value: Hosted VS2017
 +- name: DOTNET_VERSION
 +  value: 3.0.100
  
  resources:
    repositories:
diff --cc build.cake
@@@ -43,34 -43,30 +43,34 @@@ var informationalVersion = gitVersion.I
  var buildVersion = gitVersion.FullBuildMetaData;
  var nugetversion = Argument<string>("packageVersion", gitVersion.NuGetVersion);
  
--var ANDROID_HOME = EnvironmentVariable ("ANDROID_HOME") ?? 
++var ANDROID_HOME = EnvironmentVariable ("ANDROID_HOME") ??
      (IsRunningOnWindows () ? "C:\\Program Files (x86)\\Android\\android-sdk\\" : "");
  
 -string monoMajorVersion = "5.14.0";
 -string monoPatchVersion = "177";
 +string monoMajorVersion = "5.18.1";
 +string monoPatchVersion = "28";
  string monoVersion = $"{monoMajorVersion}.{monoPatchVersion}";
  
 -string monoSDK_windows = $"https://download.mono-project.com/archive/{monoMajorVersion}/windows-installer/mono-{monoVersion}-x64-0.msi";
 +string monoSDK_windows = "";//$"https://download.mono-project.com/archive/{monoMajorVersion}/windows-installer/mono-{monoVersion}-x64-0.msi";
  string androidSDK_windows = "";//"https://aka.ms/xamarin-android-commercial-d15-9-windows";
 -string iOSSDK_windows = "https://download.visualstudio.microsoft.com/download/pr/71f33151-5db4-49cc-ac70-ba835a9f81e2/d256c6c50cd80ec0207783c5c7a4bc2f/xamarin.visualstudio.apple.sdk.4.12.3.83.vsix";
 +string iOSSDK_windows = "";//"https://download.visualstudio.microsoft.com/download/pr/71f33151-5db4-49cc-ac70-ba835a9f81e2/d256c6c50cd80ec0207783c5c7a4bc2f/xamarin.visualstudio.apple.sdk.4.12.3.83.vsix";
  string macSDK_windows = "";
  
 -string androidSDK_macos = "https://aka.ms/xamarin-android-commercial-d15-9-macos";
 +monoMajorVersion = "6.4.0";
 +monoPatchVersion = "198";
 +monoVersion = $"{monoMajorVersion}.{monoPatchVersion}";
 +
 +string androidSDK_macos = "https://aka.ms/xamarin-android-commercial-d16-3-macos";
  string monoSDK_macos = $"https://download.mono-project.com/archive/{monoMajorVersion}/macos-10-universal/MonoFramework-MDK-{monoVersion}.macos10.xamarin.universal.pkg";
 -string iOSSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/xcode10.2/9c8d8e0a50e68d9abc8cd48fcd47a669e981fcc9/53/package/xamarin.ios-12.4.0.64.pkg";
 -string macSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/xcode10.2/9c8d8e0a50e68d9abc8cd48fcd47a669e981fcc9/53/package/xamarin.mac-5.4.0.64.pkg";
 +string iOSSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d16-3/5e8a208b5f44c4885060d95e3c3ad68d6a5e95e8/40/package/xamarin.ios-13.2.0.42.pkg";
 +string macSDK_macos = $"https://bosstoragemirror.blob.core.windows.net/wrench/jenkins/d16-3/5e8a208b5f44c4885060d95e3c3ad68d6a5e95e8/40/package/xamarin.mac-6.2.0.42.pkg";
  
  string androidSDK = IsRunningOnWindows() ? androidSDK_windows : androidSDK_macos;
  string monoSDK = IsRunningOnWindows() ? monoSDK_windows : monoSDK_macos;
 -string iosSDK = IsRunningOnWindows() ? "" : iOSSDK_macos;
 +string iosSDK = IsRunningOnWindows() ? iOSSDK_windows : iOSSDK_macos;
  string macSDK  = IsRunningOnWindows() ? "" : macSDK_macos;
  
- string[] androidSdkManagerInstalls = new string[0]; //new [] { "platforms;android-29"};
-             
+ string[] androidSdkManagerInstalls = new string[0];//new [] { "platforms;android-24", "platforms;android-28"};
 -            
++
  //////////////////////////////////////////////////////////////////////
  // TASKS
  //////////////////////////////////////////////////////////////////////
@@@ -109,12 -105,17 +109,17 @@@ Task("provision-androidsdk"
  
          if(androidSdkManagerInstalls.Length > 0)
          {
--            var androidSdkSettings = new AndroidSdkManagerToolSettings { 
++            var androidSdkSettings = new AndroidSdkManagerToolSettings {
                  SdkRoot = ANDROID_HOME,
                  SkipVersionCheck = true
              };
  
-             try { AcceptLicenses (androidSdkSettings); } catch { }
 -           
++
+             AcceptLicenses (androidSdkSettings);
+             AndroidSdkManagerUpdateAll (androidSdkSettings);
+             AcceptLicenses (androidSdkSettings);
  
              AndroidSdkManagerInstall (androidSdkManagerInstalls, androidSdkSettings);
          }
@@@ -151,7 -145,7 +156,7 @@@ Task("provision-monosdk"
          else
          {
              if(!String.IsNullOrWhiteSpace(monoSDK))
--                await Boots(monoSDK); 
++                await Boots(monoSDK);
          }
      });
  
@@@ -173,15 -164,15 +178,15 @@@ Task("_NuGetPack"
      .Does(() =>
      {
          Information("Nuget Version: {0}", nugetversion);
--        
++
          var nugetPackageDir = Directory("./artifacts");
          var nuGetPackSettings = new NuGetPackSettings
--        {   
++        {
              OutputDirectory = nugetPackageDir,
              Version = nugetversion
          };
  
--        var nugetFilePaths = 
++        var nugetFilePaths =
              GetFiles("./.nuspec/*.nuspec");
  
          nuGetPackSettings.Properties.Add("configuration", configuration);
@@@ -205,12 -195,23 +210,12 @@@ Task("Restore"
          }
      });
  
 -
 -Task("BuildHack")
 -    .IsDependentOn("Restore")
 -    .Does(() =>
 -    {
 -        if(!IsRunningOnWindows())
 -        {
 -            MSBuild("./Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj", GetMSBuildSettings().WithRestore());
 -        }  
 -    });
 -
  Task("Build")
 +    .Description("Builds all necessary projects to create Nuget Packages")
      .IsDependentOn("Restore")
 -    .IsDependentOn("BuildHack")
      .IsDependentOn("Android81")
      .Does(() =>
--{ 
++{
      try{
          MSBuild("./Xamarin.Forms.sln", GetMSBuildSettings().WithRestore());
      }
  });
  
  Task("Android81")
 -    .IsDependentOn("BuildHack")
 +    .Description("Builds Monodroid81 targets")
      .Does(() =>
      {
--        string[] androidProjects = 
++        string[] androidProjects =
              new []
              {
                  "./Xamarin.Forms.Platform.Android/Xamarin.Forms.Platform.Android.csproj",
              };
  
          foreach(var project in androidProjects)
--            MSBuild(project, 
++            MSBuild(project,
                      GetMSBuildSettings()
                          .WithRestore()
                          .WithProperty("AndroidTargetFrameworkVersion", "v8.1"));
      });
  
  Task("VSMAC")
 -    .IsDependentOn("BuildHack")
 +    .Description("Builds projects necessary so solution compiles on VSMAC")
      .Does(() =>
      {
--        StartProcess("open", new ProcessSettings{ Arguments = "Xamarin.Forms.sln" });        
++        StartProcess("open", new ProcessSettings{ Arguments = "Xamarin.Forms.sln" });
      });
  
--/* 
++/*
  Task("Deploy")
      .IsDependentOn("DeployiOS")
      .IsDependentOn("DeployAndroid");
  // TODO? Not sure how to make this work
  Task("DeployiOS")
      .Does(() =>
--    { 
++    {
          // not sure how to get this to deploy to iOS
          BuildiOSIpa("./Xamarin.Forms.sln", platform:"iPhoneSimulator", configuration:"Debug");
  
      });
  */
  Task("DeployAndroid")
 -    .IsDependentOn("BuildHack")
 +    .Description("Builds and deploy Android Control Gallery")
      .Does(() =>
--    { 
++    {
          MSBuild("./Xamarin.Forms.Build.Tasks/Xamarin.Forms.Build.Tasks.csproj", GetMSBuildSettings().WithRestore());
          MSBuild("./Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj", GetMSBuildSettings().WithRestore());
          BuildAndroidApk("./Xamarin.Forms.ControlGallery.Android/Xamarin.Forms.ControlGallery.Android.csproj", sign:true, configuration:configuration);
@@@ -28,7 -26,8 +28,8 @@@ jobs
      dependsOn: ${{ parameters.dependsOn }}
      steps:
        - checkout: self
 -      
+         clean: true
 +
        - task: xamops.azdevex.provisionator-task.provisionator@1
          displayName: 'Provisionator'
          condition: eq(variables['provisioning'], 'true')
@@@ -60,7 -62,7 +62,7 @@@ jobs
        condition: ne(variables['NUGET_VERSION'], '')
        inputs:
          versionSpec: $(NUGET_VERSION)
--          
++
      - task: NuGetCommand@2
        displayName: 'NuGet restore ${{ parameters.slnPath }}'
        inputs: