Skip to content

Commit 7e64bb0

Browse files
committed
[build] Only build the latest API level
Build timing from main: make jenkins 219.78s user 62.79s system 21% cpu 21:56.92 total Build timing from this branch: make jenkins 178.66s user 47.24s system 36% cpu 10:22.81 total
1 parent 3a2e629 commit 7e64bb0

File tree

6 files changed

+15
-202
lines changed

6 files changed

+15
-202
lines changed

Configuration.props

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,9 @@
2121
<_StandardLibraryPath Condition=" '$(TargetFrameworkVersion)' == '' ">$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPathToStandardLibraries('.NETFramework', 'v4.7.2', ''))</_StandardLibraryPath>
2222
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' And '$(UsingMicrosoftNETSdk)' != 'true' And '$(_StandardLibraryPath)' != '' ">v4.7.2</TargetFrameworkVersion>
2323
<TargetFrameworkVersion Condition=" '$(TargetFrameworkVersion)' == '' And '$(UsingMicrosoftNETSdk)' != 'true' ">v4.7.1</TargetFrameworkVersion>
24-
<!-- Used by the `build-tools/create-vsix` build so that `Mono.Android.Export.dll`/etc. are only included *once* -->
25-
<!-- Should correspond to the first value from `$(API_LEVELS)` in `build-tools/api-xml-adjuster/Makefile` -->
26-
<AndroidFirstFrameworkVersion Condition="'$(AndroidFirstFrameworkVersion)' == ''">v4.4</AndroidFirstFrameworkVersion>
27-
<AndroidFirstApiLevel Condition="'$(AndroidFirstApiLevel)' == ''">19</AndroidFirstApiLevel>
2824
<AndroidJavaRuntimeApiLevel Condition="'$(AndroidJavaRuntimeApiLevel)' == ''">26</AndroidJavaRuntimeApiLevel>
2925
<!-- The min API level supported by Microsoft.Android.Sdk, should refactor/remove when this value is the same as $(AndroidFirstApiLevel) -->
3026
<AndroidMinimumDotNetApiLevel Condition="'$(AndroidMinimumDotNetApiLevel)' == ''">21</AndroidMinimumDotNetApiLevel>
31-
<AndroidFirstPlatformId Condition="'$(AndroidFirstPlatformId)' == ''">$(AndroidFirstApiLevel)</AndroidFirstPlatformId>
3227
<!-- *Latest* *stable* API level binding that we support; used when building src/Xamarin.Android.Build.Tasks -->
3328
<AndroidLatestStableApiLevel Condition="'$(AndroidLatestStableApiLevel)' == ''">33</AndroidLatestStableApiLevel>
3429
<AndroidLatestStablePlatformId Condition="'$(AndroidLatestStablePlatformId)' == ''">$(AndroidLatestStableApiLevel)</AndroidLatestStablePlatformId>

Documentation/building/configuration.md

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,6 @@ Overridable MSBuild properties include:
2727
This is an integer value, e.g. `15` for
2828
[API-15 (Android 4.0.3)](http://developer.android.com/about/versions/android-4.0.3.html).
2929

30-
* `$(AndroidFirstFrameworkVersion)`: The first `$(TargetFrameworkVersion)`
31-
which will be built by `make jenkins` and included in the installer.
32-
Currently `v4.4`.
33-
This controls what is included in `build-tools/create-vsix` packages.
34-
3530
* `$(AndroidFrameworkVersion)`: The Xamarin.Android `$(TargetFrameworkVersion)`
3631
version which corresponds to `$(AndroidApiLevel)`. This is *usually* the
3732
Android version number with a leading `v`, e.g. `v4.0.3` for API-15.

build-tools/api-xml-adjuster/Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ API_XML_TOOL = $(BUILDBIN)/api-xml-adjuster.exe
1717
RUNTIME = mono --debug
1818
RUN_CLASS_PARSE = $(RUNTIME) $(CLASS_PARSE)
1919
RUN_API_XML_TOOL = $(RUNTIME) $(API_XML_TOOL)
20-
API_LEVELS = 10 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
20+
API_LEVELS = 33
2121

2222
XML_OUTPUT_DIR = .
2323

build-tools/automation/azure-pipelines.yaml

Lines changed: 0 additions & 176 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,6 @@ resources:
3030
name: xamarin/release-scripts
3131
ref: refs/heads/sign-and-notarized
3232
endpoint: xamarin
33-
- repository: uitools
34-
type: github
35-
name: xamarin/UITools
36-
ref: refs/heads/main
37-
endpoint: xamarin
3833

3934
parameters:
4035
- name: provisionatorChannel
@@ -697,11 +692,6 @@ stages:
697692
target_framework: $(DotNetStableTargetFramework)
698693
provisionatorChannel: ${{ parameters.provisionatorChannel }}
699694

700-
- stage: wear_tests
701-
displayName: WearOS Tests
702-
dependsOn: mac_build
703-
condition: and(succeeded(), or(eq(variables['RunAllTests'], true), contains(dependencies.mac_build.outputs['mac_build_create_installers.TestConditions.TestAreas'], 'MSBuildDevice')))
704-
jobs:
705695
- job: wear_tests
706696
displayName: macOS > Tests > WearOS
707697
timeoutInMinutes: 180
@@ -771,172 +761,6 @@ stages:
771761
- template: yaml-templates/fail-on-issue.yaml
772762

773763

774-
775-
- stage: designer_tests
776-
displayName: Designer Tests
777-
dependsOn: mac_build
778-
condition: and(succeeded(), or(eq(variables['RunAllTests'], true), contains(dependencies.mac_build.outputs['mac_build_create_installers.TestConditions.TestAreas'], 'Designer')))
779-
jobs:
780-
# Check - "Xamarin.Android (macOS > Tests > Designer Integration)"
781-
- job: designer_integration_mac
782-
condition: false #TODO: Enable once test issues are fixed.
783-
displayName: macOS > Tests > Designer Integration
784-
pool:
785-
vmImage: $(HostedMacImage)
786-
timeoutInMinutes: 120
787-
cancelTimeoutInMinutes: 5
788-
workspace:
789-
clean: all
790-
variables:
791-
EnableRegressionTest: true
792-
steps:
793-
- checkout: uitools
794-
clean: true
795-
submodules: recursive
796-
path: s/UITools
797-
persistCredentials: true
798-
799-
- powershell: |
800-
# Use the branch name of the source being built or the PR target branch name. Fall back to 'main' if the branch is unknown.
801-
$branchPrefix = "/refs/heads/"
802-
$branchName = "$(Build.SourceBranch)" -replace $branchPrefix, ""
803-
if ("$(Build.Reason)" -eq "PullRequest") {
804-
$branchName = "$(System.PullRequest.TargetBranch)" -replace $branchPrefix, ""
805-
}
806-
if (("$branchName" -ne "main") -and ("$branchName" -notlike "d1*")) {
807-
$branchName = "main"
808-
}
809-
Set-Location -Path $(System.DefaultWorkingDirectory)/UITools
810-
git checkout $branchName
811-
git submodule update -q --init --recursive
812-
displayName: Clone and update UITools
813-
814-
- task: NuGetAuthenticate@0
815-
displayName: authenticate with azure artifacts
816-
inputs:
817-
forceReinstallCredentialProvider: true
818-
819-
- task: provisionator@2
820-
displayName: provision designer dependencies
821-
inputs:
822-
github_token: $(GitHub.Token)
823-
provisioning_script: $(System.DefaultWorkingDirectory)/UITools/src/bot-provisioning/dependencies.csx
824-
provisioning_extra_args: -remove Xamarin.Android -vv DEVDIV_PKGS_NUGET_TOKEN=$(DevDiv.NuGet.Token) SECTOOLS_PKGS_NUGET_TOKEN=$(SecTools.NuGet.Token)
825-
env:
826-
PROVISIONATOR_CHANNEL: ${{ parameters.provisionatorChannel }}
827-
828-
- template: yaml-templates/setup-test-environment.yaml
829-
parameters:
830-
xaSourcePath: $(System.DefaultWorkingDirectory)/xamarin-android
831-
jdkTestFolder: $(JAVA_HOME_8_X64)
832-
provisionatorChannel: ${{ parameters.provisionatorChannel }}
833-
834-
- template: designer/android-designer-build-mac.yaml@yaml-templates
835-
parameters:
836-
designerSourcePath: $(System.DefaultWorkingDirectory)/UITools/src
837-
838-
- template: designer/android-designer-tests.yaml@yaml-templates
839-
parameters:
840-
designerSourcePath: $(System.DefaultWorkingDirectory)/UITools/src
841-
runAddinTests: false
842-
843-
- task: CopyFiles@2
844-
displayName: 'Copy binlogs'
845-
inputs:
846-
sourceFolder: $(System.DefaultWorkingDirectory)/UITools/src/Xamarin.Designer.Android
847-
contents: '**/*.binlog'
848-
targetFolder: $(Build.ArtifactStagingDirectory)/designer-binlogs
849-
overWrite: true
850-
flattenFolders: true
851-
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
852-
853-
- template: yaml-templates/publish-artifact.yaml
854-
parameters:
855-
displayName: upload designer binlogs
856-
artifactName: Test Results - Designer - macOS
857-
targetPath: $(Build.ArtifactStagingDirectory)/designer-binlogs
858-
condition: ne(variables['Agent.JobStatus'], 'Succeeded')
859-
860-
# Check - "Xamarin.Android (Windows > Tests > Designer Integration)"
861-
- job: designer_integration_win
862-
displayName: Windows > Tests > Designer Integration
863-
pool:
864-
vmImage: $(HostedWinImage)
865-
timeoutInMinutes: 120
866-
cancelTimeoutInMinutes: 5
867-
workspace:
868-
clean: all
869-
variables:
870-
EnableRegressionTest: true
871-
RegressionTestSuiteOutputDir: C:\Git\ADesRegTestSuite
872-
VisualStudioInstallationPath: C:\Program Files\Microsoft Visual Studio\2022\Enterprise
873-
steps:
874-
- checkout: uitools
875-
clean: true
876-
submodules: recursive
877-
path: s\UITools
878-
persistCredentials: true
879-
880-
- powershell: |
881-
# Use the branch name of the source being built or the PR target branch name. Fall back to 'main' if the branch is unknown.
882-
$branchPrefix = "/refs/heads/"
883-
$branchName = "$(Build.SourceBranch)" -replace $branchPrefix, ""
884-
if ("$(Build.Reason)" -eq "PullRequest") {
885-
$branchName = "$(System.PullRequest.TargetBranch)" -replace $branchPrefix, ""
886-
}
887-
if (("$branchName" -ne "main") -and ("$branchName" -notlike "d1*")) {
888-
$branchName = "main"
889-
}
890-
Set-Location -Path $(System.DefaultWorkingDirectory)\UITools
891-
git checkout $branchName
892-
git submodule update -q --init --recursive
893-
displayName: Clone and update UITools
894-
895-
- task: NuGetAuthenticate@0
896-
displayName: authenticate with azure artifacts
897-
inputs:
898-
forceReinstallCredentialProvider: true
899-
900-
- task: provisionator@2
901-
displayName: provision designer dependencies
902-
inputs:
903-
github_token: $(GitHub.Token)
904-
provisioning_script: $(System.DefaultWorkingDirectory)\UITools\src\bot-provisioning\dependencies.csx
905-
provisioning_extra_args: -vv DEVDIV_PKGS_NUGET_TOKEN=$(DevDiv.NuGet.Token) SECTOOLS_PKGS_NUGET_TOKEN=$(SecTools.NuGet.Token)
906-
env:
907-
PROVISIONATOR_CHANNEL: ${{ parameters.provisionatorChannel }}
908-
909-
- template: yaml-templates\setup-test-environment.yaml
910-
parameters:
911-
xaSourcePath: $(System.DefaultWorkingDirectory)\xamarin-android
912-
jdkTestFolder: $(JAVA_HOME_8_X64)
913-
provisionatorChannel: ${{ parameters.provisionatorChannel }}
914-
915-
- task: VSBuild@1
916-
displayName: Restore Xamarin.AndroidDesigner
917-
inputs:
918-
solution: $(System.DefaultWorkingDirectory)\UITools\src\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
919-
vsVersion: 17.0
920-
msbuildArgs: >-
921-
/t:Restore /p:RestoreDisableParallel=true
922-
/p:RestoreConfigFile="$(System.DefaultWorkingDirectory)\UITools\NuGet.Config"
923-
/p:JavaSdkDirectory="$(JAVA_HOME_8_X64)"
924-
platform: Any CPU
925-
configuration: DebugWin32
926-
927-
- task: VSBuild@1
928-
displayName: Build Xamarin.AndroidDesigner
929-
inputs:
930-
solution: $(System.DefaultWorkingDirectory)\UITools\src\Xamarin.Designer.Android\Xamarin.AndroidDesigner.sln
931-
vsVersion: 17.0
932-
msbuildArgs: /t:Build /p:GitHubToken=$(GitHub.Token)
933-
platform: Any CPU
934-
configuration: DebugWin32
935-
936-
- template: yaml-templates/run-designer-tests.yml
937-
parameters:
938-
designerSourcePath: $(System.DefaultWorkingDirectory)\UITools\src
939-
940764
- stage: bcl_tests
941765
displayName: BCL Emulator Tests
942766
dependsOn: mac_build

build-tools/installers/create-installers.targets

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@
1414
<LegacyMSBuildSrcDir>$(XAInstallPrefix)xbuild\Xamarin\Android\</LegacyMSBuildSrcDir>
1515
<MSBuildTargetsSrcDir>$(XamarinAndroidSourcePath)src\Xamarin.Android.Build.Tasks\MSBuild\Xamarin\Android</MSBuildTargetsSrcDir>
1616
<DefaultRuntimeEntitlementsPath>$(MSBuildThisFileDirectory)\..\create-pkg\runtime-entitlements.plist</DefaultRuntimeEntitlementsPath>
17-
<FirstInstallerFrameworkVersion Condition="Exists('$(FrameworkSrcDir)\$(AndroidFirstFrameworkVersion)')">$(AndroidFirstFrameworkVersion)</FirstInstallerFrameworkVersion>
1817
<FirstInstallerFrameworkVersion Condition="'$(FirstInstallerFrameworkVersion)' == ''">$(AndroidLatestStableFrameworkVersion)</FirstInstallerFrameworkVersion>
1918
<BclFrameworkVersion>v1.0</BclFrameworkVersion>
2019
<LibExtension Condition=" '$(HostOS)' == 'Darwin' ">dylib</LibExtension>

build-tools/xaprepare/xaprepare/ConfigAndData/BuildAndroidPlatforms.cs

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,20 +29,20 @@ class BuildAndroidPlatforms
2929
new AndroidPlatform (apiName: "Jelly Bean", apiLevel: 16, platformID: "16", include: "v4.1"),
3030
new AndroidPlatform (apiName: "Jelly Bean", apiLevel: 17, platformID: "17", include: "v4.2"),
3131
new AndroidPlatform (apiName: "Jelly Bean", apiLevel: 18, platformID: "18", include: "v4.3"),
32-
new AndroidPlatform (apiName: "Kit Kat", apiLevel: 19, platformID: "19", include: "v4.4", framework: "v4.4"),
33-
new AndroidPlatform (apiName: "Kit Kat + Wear support", apiLevel: 20, platformID: "20", include: "v4.4.87", framework: "v4.4.87"),
34-
new AndroidPlatform (apiName: "Lollipop", apiLevel: 21, platformID: "21", include: "v5.0", framework: "v5.0"),
35-
new AndroidPlatform (apiName: "Lollipop", apiLevel: 22, platformID: "22", include: "v5.1", framework: "v5.1"),
36-
new AndroidPlatform (apiName: "Marshmallow", apiLevel: 23, platformID: "23", include: "v6.0", framework: "v6.0"),
37-
new AndroidPlatform (apiName: "Nougat", apiLevel: 24, platformID: "24", include: "v7.0", framework: "v7.0"),
38-
new AndroidPlatform (apiName: "Nougat", apiLevel: 25, platformID: "25", include: "v7.1", framework: "v7.1"),
39-
new AndroidPlatform (apiName: "Oreo", apiLevel: 26, platformID: "26", include: "v8.0", framework: "v8.0"),
40-
new AndroidPlatform (apiName: "Oreo", apiLevel: 27, platformID: "27", include: "v8.1", framework: "v8.1"),
41-
new AndroidPlatform (apiName: "Pie", apiLevel: 28, platformID: "28", include: "v9.0", framework: "v9.0"),
42-
new AndroidPlatform (apiName: "Q", apiLevel: 29, platformID: "29", include: "v10.0", framework: "v10.0"),
43-
new AndroidPlatform (apiName: "R", apiLevel: 30, platformID: "30", include: "v11.0", framework: "v11.0"),
44-
new AndroidPlatform (apiName: "S", apiLevel: 31, platformID: "31", include: "v12.0", framework: "v12.0"),
45-
new AndroidPlatform (apiName: "Sv2", apiLevel: 32, platformID: "32", include: "v12.1", framework: "v12.1"),
32+
new AndroidPlatform (apiName: "Kit Kat", apiLevel: 19, platformID: "19", include: "v4.4"),
33+
new AndroidPlatform (apiName: "Kit Kat + Wear support", apiLevel: 20, platformID: "20", include: "v4.4.87"),
34+
new AndroidPlatform (apiName: "Lollipop", apiLevel: 21, platformID: "21", include: "v5.0"),
35+
new AndroidPlatform (apiName: "Lollipop", apiLevel: 22, platformID: "22", include: "v5.1"),
36+
new AndroidPlatform (apiName: "Marshmallow", apiLevel: 23, platformID: "23", include: "v6.0"),
37+
new AndroidPlatform (apiName: "Nougat", apiLevel: 24, platformID: "24", include: "v7.0"),
38+
new AndroidPlatform (apiName: "Nougat", apiLevel: 25, platformID: "25", include: "v7.1"),
39+
new AndroidPlatform (apiName: "Oreo", apiLevel: 26, platformID: "26", include: "v8.0"),
40+
new AndroidPlatform (apiName: "Oreo", apiLevel: 27, platformID: "27", include: "v8.1"),
41+
new AndroidPlatform (apiName: "Pie", apiLevel: 28, platformID: "28", include: "v9.0"),
42+
new AndroidPlatform (apiName: "Q", apiLevel: 29, platformID: "29", include: "v10.0"),
43+
new AndroidPlatform (apiName: "R", apiLevel: 30, platformID: "30", include: "v11.0"),
44+
new AndroidPlatform (apiName: "S", apiLevel: 31, platformID: "31", include: "v12.0"),
45+
new AndroidPlatform (apiName: "Sv2", apiLevel: 32, platformID: "32", include: "v12.1"),
4646
new AndroidPlatform (apiName: "Tiramisu", apiLevel: 33, platformID: "33", include: "v13.0", framework: "v13.0"),
4747
};
4848

0 commit comments

Comments
 (0)