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

Commit a037648

Browse files
Merge branch 'develop' into TabView-NullChecks
2 parents b410330 + d74ab1d commit a037648

File tree

395 files changed

+9986
-3353
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

395 files changed

+9986
-3353
lines changed

.editorconfig

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,3 +107,9 @@ csharp_new_line_before_catch = true
107107
csharp_new_line_before_finally = true
108108
csharp_new_line_before_members_in_object_initializers = true
109109
csharp_new_line_before_members_in_anonymous_types = true
110+
111+
# SA1011: Closing square brackets should be spaced correctly
112+
dotnet_diagnostic.SA1011.severity = none
113+
114+
# CS4014: Because this call is not awaited, execution of the current method continues before the call is completed
115+
dotnet_diagnostic.CS4014.severity = error

Directory.Build.props

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,12 @@
22
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
33

44
<PropertyGroup>
5-
<LangVersion>8.0</LangVersion>
5+
<LangVersion>9.0</LangVersion>
6+
<Nullable>enable</Nullable>
7+
<WarningsAsErrors>nullable</WarningsAsErrors>
68
</PropertyGroup>
79

10+
811
<PropertyGroup>
912
<CodeAnalysisRuleSet>$(MSBuildThisFileDirectory)Xamarin.CommunityToolkit.ruleset</CodeAnalysisRuleSet>
1013
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>

Xamarin.CommunityToolkit.ruleset

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
<Rule Id="SA1008" Action="Warning" />
1616
<Rule Id="SA1009" Action="Warning" />
1717
<Rule Id="SA1010" Action="Warning" />
18-
<Rule Id="SA1011" Action="Warning" />
1918
<Rule Id="SA1012" Action="Warning" />
2019
<Rule Id="SA1013" Action="Warning" />
2120
<Rule Id="SA1014" Action="Warning" />

azure-pipelines.yml

Lines changed: 36 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,13 @@ variables:
66
NugetPackageVersion: '$(CurrentSemanticVersion)'
77
#MONO_VERSION: 6_4_0
88
#XCODE_VERSION: 11.4
9-
NETCORE_VERSION: '3.1.x'
10-
NETCORE_TEST_VERSION: '3.1.x'
9+
NETCORE_VERSION: '5.0.x'
10+
NETCORE_TEST_VERSION_3_1: '3.1.x'
11+
NETCORE_TEST_VERSION_2_1: '2.1.x'
1112
RunPoliCheck: 'false'
1213
PathToCsproj: 'src/CommunityToolkit/Xamarin.CommunityToolkit/Xamarin.CommunityToolkit.csproj'
1314
PathToMarkupCsproj: 'src/Markup/Xamarin.CommunityToolkit.Markup/Xamarin.CommunityToolkit.Markup.csproj'
15+
PathToUnitTestCsproj: 'src/CommunityToolkit/Xamarin.CommunityToolkit.UnitTests/Xamarin.CommunityToolkit.UnitTests.csproj'
1416
PathToSln: 'samples/XCT.Sample.sln'
1517

1618
resources:
@@ -68,6 +70,21 @@ jobs:
6870
pool:
6971
vmImage: windows-2019
7072
steps:
73+
- task: UseDotNet@2
74+
displayName: 'Install .NET SDK'
75+
inputs:
76+
version: $(NETCORE_VERSION)
77+
includePreviewVersions: false
78+
- task: UseDotNet@2
79+
displayName: 'Install .NET 3.1 Test SDK'
80+
inputs:
81+
version: $(NETCORE_TEST_VERSION_3_1)
82+
includePreviewVersions: false
83+
- task: UseDotNet@2
84+
displayName: 'Install .NET 2.1 Test SDK'
85+
inputs:
86+
version: $(NETCORE_TEST_VERSION_2_1)
87+
includePreviewVersions: false
7188
# if this is a tagged build, then update the version number
7289
- powershell: |
7390
$buildSourceBranch = "$(Build.SourceBranch)"
@@ -112,12 +129,10 @@ jobs:
112129
# command: 'custom'
113130
# custom: 'nuget'
114131
# arguments: 'push --source https://nuget.pkg.github.com/xamarin/index.json --api-key $(GitHub.NuGet.Token) "$(Build.ArtifactStagingDirectory)\nuget\*.nupkg"'
115-
- task: DotNetCoreCLI@2
116-
displayName: Run Tests
132+
- task: CmdLine@2
133+
displayName: 'Run Unit Tests'
117134
inputs:
118-
command: test
119-
projects: '**/*.UnitTests.csproj'
120-
arguments: '--configuration Release --collect "Code coverage"'
135+
script: dotnet test $(PathToUnitTestCsproj) -c Release --collect "Code coverage" -p:BuildInParallel=false
121136
# publish the packages
122137
- task: PublishBuildArtifacts@1
123138
displayName: 'Publish Unsigned NuGets'
@@ -161,27 +176,28 @@ jobs:
161176
# displayName: Switch to the latest Xcode
162177
# restore, build and pack the packages
163178
- task: UseDotNet@2
164-
displayName: 'Use .Net Core sdk'
179+
displayName: 'Install .NET SDK'
165180
inputs:
166181
version: $(NETCORE_VERSION)
167182
includePreviewVersions: false
168183
- task: UseDotNet@2
169-
displayName: 'Use .Net Core sdk'
184+
displayName: 'Install .NET 3.1 Test SDK'
170185
inputs:
171-
version: $(NETCORE_TEST_VERSION)
186+
version: $(NETCORE_TEST_VERSION_3_1)
172187
includePreviewVersions: false
173-
- task: MSBuild@1
174-
displayName: Build Solution
188+
- task: UseDotNet@2
189+
displayName: 'Install .NET 2.1 Test SDK'
175190
inputs:
176-
solution: $(PathToCsproj)
177-
configuration: Release
178-
msbuildArguments: '/restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
179-
- task: MSBuild@1
180-
displayName: Pack NuGets
191+
version: $(NETCORE_TEST_VERSION_2_1)
192+
includePreviewVersions: false
193+
- task: CmdLine@2
194+
displayName: 'Build Solution'
181195
inputs:
182-
solution: $(PathToCsproj)
183-
configuration: Release
184-
msbuildArguments: '/t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
196+
script: 'mono /Applications/Visual\ studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/MSBuild.dll $(PathToCsproj) /p:Configuration=Release /restore /t:Build /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
197+
- task: CmdLine@2
198+
displayName: 'Pack NuGets'
199+
inputs:
200+
script: 'mono /Applications/Visual\ studio.app/Contents/Resources/lib/monodevelop/bin/MSBuild/Current/bin/MSBuild.dll $(PathToCsproj) /p:Configuration=Release /t:Pack /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
185201

186202
- ${{ if eq(variables['System.TeamProject'], 'devdiv') }}:
187203
- template: sign-artifacts/jobs/v2.yml@internal-templates

samples/XCT.Sample.Android/MainActivity.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
using Android.Content.PM;
33
using Android.OS;
44
using Android.Runtime;
5-
using Xamarin.Essentials;
65

76
namespace Xamarin.CommunityToolkit.Sample.Droid
87
{
@@ -17,14 +16,14 @@ protected override void OnCreate(Bundle savedInstanceState)
1716
base.OnCreate(savedInstanceState);
1817

1918
global::Xamarin.Forms.Forms.SetFlags("CollectionView_Experimental");
20-
Platform.Init(this, savedInstanceState);
19+
Essentials.Platform.Init(this, savedInstanceState);
2120
global::Xamarin.Forms.Forms.Init(this, savedInstanceState);
2221
LoadApplication(new App());
2322
}
2423

2524
public override void OnRequestPermissionsResult(int requestCode, string[] permissions, [GeneratedEnum] Permission[] grantResults)
2625
{
27-
Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
26+
Essentials.Platform.OnRequestPermissionsResult(requestCode, permissions, grantResults);
2827

2928
base.OnRequestPermissionsResult(requestCode, permissions, grantResults);
3029
}

samples/XCT.Sample.Android/SplashActivity.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Xamarin.CommunityToolkit.Sample.Droid
99
[Activity(Label = "XamarinCommunityToolkitSample", Icon = "@mipmap/icon", Theme = "@style/SplashTheme", MainLauncher = true, ConfigurationChanges = ConfigChanges.ScreenSize | ConfigChanges.Orientation)]
1010
public class SplashActivity : AppCompatActivity
1111
{
12-
protected override void OnCreate(Bundle savedInstanceState)
12+
protected override void OnCreate(Bundle? savedInstanceState)
1313
{
1414
base.OnCreate(savedInstanceState);
1515
var intent = new Intent(this, typeof(MainActivity));

samples/XCT.Sample.Android/Xamarin.CommunityToolkit.Sample.Android.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
</PropertyGroup>
2626
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
2727
<DebugSymbols>true</DebugSymbols>
28-
<DebugType>portable</DebugType>
28+
<DebugType>full</DebugType>
2929
<Optimize>false</Optimize>
3030
<OutputPath>bin\Debug</OutputPath>
3131
<DefineConstants>DEBUG;</DefineConstants>

samples/XCT.Sample.UWP/App.xaml.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ protected override void OnLaunched(LaunchActivatedEventArgs e)
8585
/// </summary>
8686
/// <param name="sender">The Frame which failed navigation</param>
8787
/// <param name="e">Details about the navigation failure</param>
88-
void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
88+
void OnNavigationFailed(object? sender, NavigationFailedEventArgs e)
8989
{
9090
throw new Exception("Failed to load Page " + e.SourcePageType.FullName);
9191
}
@@ -97,7 +97,7 @@ void OnNavigationFailed(object sender, NavigationFailedEventArgs e)
9797
/// </summary>
9898
/// <param name="sender">The source of the suspend request.</param>
9999
/// <param name="e">Details about the suspend request.</param>
100-
void OnSuspending(object sender, SuspendingEventArgs e)
100+
void OnSuspending(object? sender, SuspendingEventArgs e)
101101
{
102102
var deferral = e.SuspendingOperation.GetDeferral();
103103

samples/XCT.Sample.iOS/Renderers/NoLineNavigationRenderer.cs

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,11 @@ public override void ViewWillAppear(bool animated)
2525
// Newest iOS version fix - trycatch isn't optimal
2626
try
2727
{
28-
NavigationBar.ScrollEdgeAppearance.ShadowImage = new UIKit.UIImage();
29-
NavigationBar.ScrollEdgeAppearance.ShadowColor = null;
28+
if (NavigationBar.ScrollEdgeAppearance != null)
29+
{
30+
NavigationBar.ScrollEdgeAppearance.ShadowImage = new UIKit.UIImage();
31+
NavigationBar.ScrollEdgeAppearance.ShadowColor = null;
32+
}
3033
}
3134
catch (Exception)
3235
{

samples/XCT.Sample.sln

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.CommunityToolkit.Sa
1818
EndProject
1919
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{F695F5E8-420F-475F-A4CF-F5BB3FA6E818}"
2020
ProjectSection(SolutionItems) = preProject
21-
.editorconfig = .editorconfig
22-
Directory.Build.props = Directory.Build.props
23-
Xamarin.CommunityToolkit.ruleset = Xamarin.CommunityToolkit.ruleset
21+
..\.editorconfig = ..\.editorconfig
22+
..\Directory.Build.props = ..\Directory.Build.props
23+
..\Xamarin.CommunityToolkit.ruleset = ..\Xamarin.CommunityToolkit.ruleset
2424
EndProjectSection
2525
EndProject
2626
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Xamarin.CommunityToolkit.Sample.WPF", "XCT.Sample.WPF\Xamarin.CommunityToolkit.Sample.WPF.csproj", "{C4D6CD2D-8DF4-4D46-936C-1AB31C87B5EA}"
@@ -62,6 +62,7 @@ Global
6262
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Debug|x86.Build.0 = Debug|Any CPU
6363
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
6464
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|Any CPU.Build.0 = Release|Any CPU
65+
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|Any CPU.Deploy.0 = Release|Any CPU
6566
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|ARM.ActiveCfg = Release|Any CPU
6667
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|ARM.Build.0 = Release|Any CPU
6768
{8B80BFA6-7B19-4DE7-BD97-7D84194AD0C2}.Release|iPhone.ActiveCfg = Release|Any CPU
@@ -191,6 +192,8 @@ Global
191192
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Debug|x86.Build.0 = Debug|x86
192193
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Debug|x86.Deploy.0 = Debug|x86
193194
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|Any CPU.ActiveCfg = Release|x86
195+
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|Any CPU.Build.0 = Release|x86
196+
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|Any CPU.Deploy.0 = Release|x86
194197
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|ARM.ActiveCfg = Release|ARM
195198
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|ARM.Build.0 = Release|ARM
196199
{91C748B4-E9ED-4543-880A-26747B03DE3A}.Release|ARM.Deploy.0 = Release|ARM

0 commit comments

Comments
 (0)