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

Commit b19cc52

Browse files
RC1 (#1843)
* Update azure-pipelines.yml * fix build * add all files * Windows build * Fixed files * remove generated files * install dotnet * sh * split build and generate * use zsh * fix path * add globaljson * Fix build * fix path * fix path
1 parent f3663cd commit b19cc52

File tree

2 files changed

+144
-26
lines changed

2 files changed

+144
-26
lines changed

MauiCompat.sh

Lines changed: 78 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,10 @@ printf > ./src/CommunityToolkit/Directory.build.props "<Project>
5858
<ItemGroup Condition=\" \$(TargetFramework.Contains('-windows')) \">
5959
<Compile Include=\"**\*.uwp.cs\" />
6060
<Compile Include=\"**\*.uwp.*.cs\" />
61+
<Compile Remove=\"**\MediaElementRenderer.uwp.cs\" />
62+
<Compile Remove=\"**\CameraViewRenderer.uwp.cs\" />
63+
<Compile Remove=\"**\DrawingViewRenderer.uwp.cs\" />
64+
<Compile Remove=\"**\DrawingViewService.uwp.cs\" />
6165
</ItemGroup>
6266
6367
<ItemGroup Condition=\" \$(TargetFramework.Contains('-maccatalyst')) \">
@@ -124,7 +128,7 @@ sed -i '' '/Forms.Internals.Log/d' ./src/CommunityToolkit/Xamarin.CommunityToolk
124128

125129
# WeakEventManager
126130

127-
sed -i '' 's/ Forms.WeakEventManager/ Microsoft.Maui.Controls.WeakEventManager/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
131+
sed -i '' 's/ Forms.WeakEventManager/ Microsoft.Maui.WeakEventManager/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
128132

129133
# Forms.Image
130134

@@ -610,7 +614,7 @@ namespace Xamarin.CommunityToolkit.MauiCompat
610614
colorToConvert = Microsoft.Maui.Graphics.Colors.Transparent;
611615
}
612616
613-
return Microsoft.Maui.Controls.Compatibility.Platform.iOS.ColorExtensions.ToUIColor(colorToConvert);
617+
return Microsoft.Maui.Platform.ColorExtensions.ToPlatform(colorToConvert);
614618
}
615619
}
616620
}"
@@ -647,6 +651,11 @@ sed -i '' 's/readonly object synchandle = new object();/public bool IsEmpty => S
647651

648652
sed -i '' 's/nfloat/System.Runtime.InteropServices.NFloat/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
649653

654+
# PlatformStatusBarEffect
655+
656+
sed -i '' 's/FormsAppCompatActivity/MauiAppCompatActivity/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformStatusBarEffect.android.cs
657+
sed -i '' 's/Activity.SetStatusBarColor/Activity.Window.SetStatusBarColor/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformStatusBarEffect.android.cs
658+
650659
# AVMediaType
651660

652661
sed -i '' 's/photoOutput.ConnectionFromMediaType(AVMediaType.Video)/photoOutput.ConnectionFromMediaType(new NSString("video"))/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
@@ -657,4 +666,70 @@ sed -i '' 's/AVMediaType.Video/AVAuthorizationMediaType.Video/g' ./src/Community
657666
# Log
658667

659668
sed -i '' 's/using System;/using System;using Microsoft.Extensions.Logging;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
660-
sed -i '' 's/Log\./(Microsoft.Maui.Controls.Application.Current?.Handler.MauiContext?.Services.GetService(typeof(ILogger)) as ILogger)?.Log/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
669+
sed -i '' 's/Log\./(Microsoft.Maui.Controls.Application.Current?.Handler.MauiContext?.Services.GetService(typeof(ILogger)) as ILogger)?.Log/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
670+
671+
# WINUI
672+
sed -i '' 's/using Xamarin.CommunityToolkit.UI.Views;/using Xamarin.CommunityToolkit.UI.Views;using Microsoft.Maui.Controls.Compatibility;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
673+
sed -i '' 's/UAP10_0/WINDOWS/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/**.cs
674+
675+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/LifeCycleEffectRouter.uwp.cs
676+
677+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/RemoveBorderEffect.uwp.cs
678+
679+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SelectAllTextEffect.uwp.cs
680+
681+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticEffectRouter.uwp.cs
682+
683+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticEffectRouterBase.uwp.cs
684+
sed -i '' 's/Microsoft.Maui.Controls.Compatibility.Platform.UWP.PlatformEffect/Microsoft.Maui.Controls.Platform.PlatformEffect/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticEffectRouterBase.uwp.cs
685+
686+
sed -i '' 's/using Xamarin.CommunityToolkit.UWP.Effects;/using Xamarin.CommunityToolkit.UWP.Effects;using Microsoft.Maui.Platform;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformStatusBarEffect.uwp.cs
687+
688+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformTouchEffect.uwp.cs
689+
690+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticExtensions.uwp.cs
691+
sed -i '' 's/using Microsoft.UI.Xaml;/using Microsoft.UI.Xaml;using Window = Microsoft.UI.Xaml.Window;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticExtensions.uwp.cs
692+
693+
sed -i '' 's/view.IsInNativeLayout = true;//g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
694+
sed -i '' 's/view.IsInNativeLayout = false;//g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
695+
sed -i '' 's/Rectangle/Rect/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
696+
sed -i '' 's/Microsoft.Maui.Controls.Layout/Layout/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
697+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
698+
sed -i '' 's/using Microsoft.UI.Xaml;/using Microsoft.UI.Xaml;using Microsoft.UI.Xaml.Shapes;using Layout = Microsoft.Maui.Controls.Compatibility.Layout;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ViewToRendererConverter.uwp.cs
699+
700+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;using Microsoft.Maui.Controls.Platform;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/ImageSourceValidator.android.ios.macos.uwp.wpf.gtk.tizen.cs
701+
702+
sed -i '' 's/if NETSTANDARD || __WATCHOS__ || __TVOS__/if NETSTANDARD || __WATCHOS__ || __TVOS__ || WINDOWS/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/DrawingViewService.shared.cs
703+
704+
sed -i '' 's/Windows.UI.Xaml/Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/GravatarImageSourceHandler.uwp.cs
705+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;using Microsoft.Maui.Controls.Platform;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/GravatarImageSourceHandler.uwp.cs
706+
707+
sed -i '' 's/Windows.UI.Xaml/Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/AspectExtensions.uwp.cs
708+
709+
sed -i '' 's/Windows.UI.Xaml/Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PopupRenderer.uwp.cs
710+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;using Microsoft.Maui.Platform;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PopupRenderer.uwp.cs
711+
712+
sed -i '' 's/using Windows.UI.Xaml/using Microsoft.UI.Xaml/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticOrderViewRenderer.uwp.cs
713+
sed -i '' 's/if (element is VisualElement ve)/if (element is FrameworkElement ve)/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SemanticOrderViewRenderer.uwp.cs
714+
715+
sed -i '' 's/MasterDetailPage/FlyoutPage/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/NavigationExtensions.uwp.cs
716+
717+
sed -i '' 's/Windows.UI/Microsoft.UI/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformShadowEffect.uwp.cs
718+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Grid = Xamarin.Forms.Grid;/using Microsoft.Maui.Platform;using Application = Microsoft.Maui.Controls.Application;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformShadowEffect.uwp.cs
719+
sed -i '' 's/Layout<View>/Microsoft.Maui.Controls.StackLayout/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformShadowEffect.uwp.cs
720+
sed -i '' 's/var renderer = shadowPanel?.Children.First().GetOrCreateRenderer();/var renderer = shadowPanel?.Children.First().ToPlatform(Application.Current.MainPage.Handler?.MauiContext);/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformShadowEffect.uwp.cs
721+
sed -i '' 's/ElementCompositionPreview.SetElementChildVisual(renderer?.ContainerElement, spriteVisual);/ElementCompositionPreview.SetElementChildVisual(renderer, spriteVisual);/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/PlatformShadowEffect.uwp.cs
722+
723+
sed -i '' 's/using Windows.UI/using Microsoft.UI/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBar.uwp.cs
724+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;using Microsoft.Maui.Controls;using Border = Microsoft.UI.Xaml.Controls.Border;using Grid = Microsoft.UI.Xaml.Controls.Grid;using RowDefinition = Microsoft.UI.Xaml.Controls.RowDefinition;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBar.uwp.cs
725+
sed -i '' 's/Microsoft.Maui.Controls.Compatibility.Grid/Grid/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBar.uwp.cs
726+
sed -i '' 's/Microsoft.Maui.GridLength/GridLength/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBar.uwp.cs
727+
sed -i '' 's/Forms.VisualElement/VisualElement/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBar.uwp.cs
728+
729+
sed -i '' 's/using Windows.UI/using Microsoft.UI/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
730+
sed -i '' 's/Microsoft.Maui.Controls.Compatibility.Grid/Grid/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
731+
sed -i '' 's/Microsoft.Maui.GridLength/GridLength/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
732+
sed -i '' 's/ToBrush()/ToPlatform()/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
733+
sed -i '' 's/Forms.//g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
734+
sed -i '' 's/Font.Font/Font./g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs
735+
sed -i '' 's/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;/using Microsoft.Maui.Controls.Compatibility.Platform.UWP;using Microsoft.Maui;using Microsoft.Maui.Controls;using Microsoft.Maui.Platform;using Microsoft.UI.Xaml.Controls;using Microsoft.UI.Xaml.Media;using Button = Microsoft.UI.Xaml.Controls.Button;using ColumnDefinition = Microsoft.UI.Xaml.Controls.ColumnDefinition;using CornerRadius = Microsoft.UI.Xaml.CornerRadius;using Grid = Microsoft.UI.Xaml.Controls.Grid;using GridLength = Microsoft.UI.Xaml.GridLength;using RowDefinition = Microsoft.UI.Xaml.Controls.RowDefinition;using Thickness = Microsoft.UI.Xaml.Thickness;/g' ./src/CommunityToolkit/Xamarin.CommunityToolkit.MauiCompat/**/SnackBarLayout.uwp.wpf.cs

azure-pipelines.yml

Lines changed: 66 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -191,17 +191,17 @@ jobs:
191191
inputs:
192192
targetType: F
193193

194-
- job: build_mauicompat
195-
displayName: Build MauiCompat Library
194+
- job: generate_mauicompat
195+
displayName: Generate MauiCompat Library
196196
pool:
197-
vmImage: macos-11
197+
vmImage: macos-latest
198198
steps:
199199
- task: CmdLine@2
200-
displayName: Install .NET 6.0.200-preview.22055.15
200+
displayName: Install .NET 6.0.300-preview.22204.3
201201
inputs:
202202
script: |
203-
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version 6.0.200-preview.22055.15 --quality preview
204-
dotnet --version
203+
curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --version 6.0.300-preview.22204.3 --quality preview
204+
dotnet --info
205205
- task: CmdLine@2
206206
displayName: 'Install .NET MAUI Workload'
207207
inputs:
@@ -220,6 +220,54 @@ jobs:
220220
condition: eq (variables['MauiCompatExists'], False)
221221
inputs:
222222
script: 'zsh ./MauiCompat.sh'
223+
224+
- task: CopyFiles@2
225+
displayName: 'Copy output'
226+
inputs:
227+
contents: '**'
228+
targetFolder: '$(Build.ArtifactStagingDirectory)'
229+
230+
- publish: '$(Build.ArtifactStagingDirectory)'
231+
displayName: 'Publish script'
232+
artifact: drop
233+
234+
- job: build_mauicompat
235+
dependsOn: generate_mauicompat
236+
displayName: Build MauiCompat Library
237+
pool:
238+
vmImage: windows-latest
239+
steps:
240+
- download: current
241+
artifact: drop
242+
243+
- task: CopyFiles@2
244+
inputs:
245+
Contents: '$(Pipeline.Workspace)\drop\SignList.xml'
246+
TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget'
247+
248+
- powershell: |
249+
wget https://dot.net/v1/dotnet-install.ps1 -OutFile C:\dotnet-install.ps1
250+
C:\dotnet-install.ps1 -Version 6.0.300-preview.22204.3
251+
dotnet --info
252+
Write-Host "##vso[task.prependpath]C:\\Users\\VssAdministrator\\AppData\\Local\\Microsoft\\dotnet"
253+
displayName: Install .NET 6.0.300-preview.22204.3
254+
- task: CmdLine@2
255+
displayName: 'Install .NET MAUI Workload'
256+
inputs:
257+
script: 'dotnet workload install maui'
258+
- task: JavaToolInstaller@0
259+
displayName: 'Install Java SDK 11.0'
260+
inputs:
261+
versionSpec: '11'
262+
jdkArchitectureOption: 'x64'
263+
jdkSourceOption: 'PreInstalled'
264+
265+
- task: CmdLine@2
266+
displayName: 'Global json'
267+
inputs:
268+
script: |
269+
cd $(Pipeline.Workspace)\drop
270+
dotnet new globaljson --sdk-version 6.0.300-preview.22204.3 --roll-forward latestMajor --force
223271
# if this is a tagged build, then update the version number
224272
- powershell: |
225273
$buildSourceBranch = "$(Build.SourceBranch)"
@@ -229,26 +277,21 @@ jobs:
229277
displayName: Set NuGet Version to Tag Number
230278
condition: and(succeeded(), startsWith(variables['Build.SourceBranch'], 'refs/tags/'))
231279
# restore, build and pack the packages
232-
- task: CmdLine@2
233-
displayName: 'Build Xamarin.CommunityToolkit.MauiCompat.csproj'
234-
inputs:
235-
script: 'dotnet build $(PathToMauiCompatCommunityToolkitCsproj) -c Release /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
236-
- task: CopyFiles@2
237-
inputs:
238-
Contents: 'SignList.xml'
239-
TargetFolder: '$(Build.ArtifactStagingDirectory)/nuget'
240-
- task: CmdLine@2
280+
281+
- task: VSBuild@1
241282
displayName: 'Pack Community Toolkit NuGets'
242283
inputs:
243-
script: 'dotnet pack $(PathToMauiCompatCommunityToolkitCsproj) -c Release /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
244-
- task: CmdLine@2
245-
displayName: 'Build Markup Project'
246-
inputs:
247-
script: 'dotnet build $(PathToMauiCompatMarkupCsproj) -c Release /p:ContinuousIntegrationBuild=true /p:Deterministic=false'
248-
- task: CmdLine@2
249-
displayName: 'Pack Markup NuGet'
284+
solution: '$(Pipeline.Workspace)\drop\$(PathToMauiCompatCommunityToolkitCsproj)'
285+
configuration: 'Release'
286+
msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
287+
288+
- task: VSBuild@1
289+
displayName: 'Build and Pack Markup NuGet'
250290
inputs:
251-
script: 'dotnet pack $(PathToMauiCompatMarkupCsproj) -c Release /p:PackageVersion=$(NugetPackageVersion) /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
291+
solution: '$(Pipeline.Workspace)\drop\$(PathToMauiCompatMarkupCsproj)'
292+
configuration: 'Release'
293+
msbuildArgs: '/restore -t:pack -p:PackageVersion=$(NugetPackageVersion) -p:Version=$(NugetPackageVersion) -p:IncludeSymbols=true -p:SymbolPackageFormat=snupkg /p:PackageOutputPath="$(Build.ArtifactStagingDirectory)/nuget"'
294+
252295
# publish the packages
253296
- task: PublishBuildArtifacts@1
254297
displayName: 'Publish Unsigned NuGets'

0 commit comments

Comments
 (0)