* Basic implementation for Standard and iOS handler.
* Property comment.
* Sample Entry controls added to sample project.
* PortHandler attributes added.
* Implemented Android handler with OnTouch and OnFocus listeners.
* Removed redundant check for clear button visibility on touch for Android handler.
* EntryStub implementation.
* Device tests for iOS and Android.
* Merge from main
Co-authored-by: E.Z. Hart <hartez@gmail.com>
* Implement MaxLength property in EditorHandlers
* Fixes and things
- Reduce a vast amount of copy paste between label, entry and editor
- Add tests for text changes
- Text properly trimmed on iOS
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
* Implement IStartup
* Clean up code
* Move the static Current into MauiApp
* Add missing SearchBar handler mapping
* Don't need this anymore
* Pass the handler along on iOS
* Lots more perf fixes
* Remove App.SetHandlerContext
* Fix tests
* Fix catalyst
* revert
* Using the Controls Application
* Use the XamlApp
* This is no more!
* Fixed build errors
* Fix the updated SearchBar
* rename ns
* gone!
* reverts
* Fix iOS
* :|
* sp
Co-authored-by: Javier Suárez Ruiz <javiersuarezruiz@hotmail.com>
* Implement MaxLength property in EntryHandlers
* Fix broken test
* Fix iOS not updating related properties
Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
This was a workaround for a problem in .NET 6 Preview 1, it should be fixed in .NET 6 Preview 2 (and newer).
This setting also only applies to Android "app" projects, so I'm not sure if these were actually doing anything.
* Make sure to push Xamarin.UITests
* [Build] Copy Controls.CustomAttributes
* [Build] Remove extra references on UITests projects
* [Build] Make sure to just publish as artifacts the Microsoft.Maui nupkg
* Try fix ios build
* Fix uitest projoject
Based on: https://github.com/jonathanpeppers/maui-workload
This adds a new `DotNet.csproj` that provisions a local .NET 6 install
into `.\bin\dotnet\`.
Next, it uses versions defined in `eng/Versions.props` as required by
.NET version bumping infrastructure (called Darc):
<Project>
<PropertyGroup>
<MicrosoftNETSdkPackageVersion>6.0.100-preview.2.21155.3</MicrosoftNETSdkPackageVersion>
<MicrosoftAndroidSdkPackageVersion>11.0.200-ci.main.148</MicrosoftAndroidSdkPackageVersion>
<MicrosoftMacCatalystSdkPackageVersion>14.3.100-ci.main.337</MicrosoftMacCatalystSdkPackageVersion>
<MicrosoftiOSSdkPackageVersion>14.4.100-ci.main.1192</MicrosoftiOSSdkPackageVersion>
</PropertyGroup>
</Project>
Next, we can use these versions to consume NuGet packages for workloads:
<PackageDownload Include="Microsoft.NET.Workload.Android" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.MacCatalyst" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.NET.Workload.iOS" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
Then the other packs they depend on:
<PackageDownload Include="Microsoft.Android.Ref" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.Android.Sdk.win-x64" Version="[$(MicrosoftAndroidSdkPackageVersion)]" Condition="$([MSBuild]::IsOSPlatform('windows'))" />
<PackageDownload Include="Microsoft.Android.Sdk.osx-x64" Version="[$(MicrosoftAndroidSdkPackageVersion)]" Condition="$([MSBuild]::IsOSPlatform('osx'))" />
<PackageDownload Include="Microsoft.Android.Sdk.BundleTool" Version="[$(MicrosoftAndroidSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.MacCatalyst.Ref" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.MacCatalyst.Sdk" Version="[$(MicrosoftMacCatalystSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.iOS.Ref" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
<PackageDownload Include="Microsoft.iOS.Sdk" Version="[$(MicrosoftiOSSdkPackageVersion)]" />
After doing this, I can build .NET 6 projects with:
> .\bin\dotnet\dotnet.exe build .\src\Controls\samples\Controls.Sample.SingleProject\Maui.Controls.Sample.SingleProject.csproj
I can even build MacCatalyst apps on Windows!
I updated `build.cake` so the following builds for .NET 6 and opens
Visual Studio:
> dotnet cake --target=VS-NET6
This is the equivalent of these commands if you want to run them
individually:
dotnet build src\DotNet\DotNet.csproj
.\bin\dotnet\dotnet build Microsoft.Maui.BuildTasks-net6.sln
.\bin\dotnet\dotnet build Microsoft.Maui-net6.sln
.\eng\dogfood.ps1
~~ Other Changes ~~
* Rework CI setup to use .\bin\dotnet\dotnet
* We don't need boots or URLs anymore
* Fixed `MSBuildTests` to use .\bin\dotnet\dotnet if found and fall
back to the system `dotnet`
* Moved `.nuspec\package.ps1` to `eng\package.ps1`
~~ What problems does this solve? ~~
* MacCatalyst builds on Windows! (offline build that checks C#)
* Building Maui always gets you the right things installed.
* Maui becoming a .NET workload will be a breeze. We can copy files
into `.\bin\dotnet\sdk-manifests` and `.\bin\dotnet\packs`.
* We can use Darc to bump dependencies within .NET:
https://github.com/dotnet/arcade/blob/main/Documentation/Darc.md
To enable the switch between target frameworks on VisualStudio the LaunchProfiles capability need to be enabled.
By default, it is enabled but this capability is removed by our SDKs because the HEAD projects (Android and iOS) does not use this IDE feature to display devices on the start button.
The _KeepLaunchProfiles property avoids that removal in order to have LaunchProfiles enabled on VisualStudio.
The MauiSingleProject project capability is required to identify single projects and when VisualStudio loads a project with this capability the initialization required for Android and iOS is executed, starting the services for both platforms.
The Android and iOS project capabilities cannot be used to do that because only one set of these capabilities (related to the current TargetFramework) is available at this moment.
These values need to be available when the project is loaded and if we set them on the targets for the MAUI NuGet package the first time after creating the project there are not recognized because we need a Nuget restore.
* Try build ControlGallery
Try build android controlgallery new path
Fix
Fix android uitests reference
Don't build iOS for now
* - only set content description for UI Test build
* Add Environment.Build.props back
* Update boots version
* Fix LinkDescription.xml
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
* [Build] Remove old steps
* Fix reference of unit tests cspro
* Enable xaml unit tests
* [Build] Add build of xaml unit tests
* Try fix targets
* Fix Forms naming
* More naming fixes
* Revert versions
* Remove .Core
* More .Core removals and Fix Platform references
* Add RootNamespace to Build.Tasks
* Fix more Xamarin.Forms old usage
* Fix dll on build.targets
* Fix _XFBuildTasksLocation
* More fixes to _MauiBuildTasksLocation
* More fixes _MauiBuildTasksLocation
* Fix _MauiBuildTasksLocation
* remove debug info
* Remove issues for now
* Rename maps namespace
* Fix Assembly tests
* Fix more targets
* More map rename fixes
* Fix xaml reference on unit tests
* Fix MauiXamlCValidateOnly naming
* More MauiXamlCValidateOnly
* Add xaml page to sample
* Fix namespace on sample page
* oh, yeah
* Fix sample references
* Try run on release the xaml unit tests
* Try continueOnerror
* Update build-windows.yml
* added via the directory props
* ws
* We mights need this
* I think I did this
* This can be reused
* 🤦♀️
* this as well after the peppers PR
* Fix some bad renames
* i see
* Fix merge
* Fix sample
* Remove FromSource
* Add the packages
* this
* Yaysies!
* Fix all the non-msbuild tests
* Adding things back and gallery
* this
* Build the tasks first
* Got the Android control gallery running
* Fix diff after merge
* - move gallery to compatibility
* - namespaces updates
* - rename compatibility
* - another name
* - keepass path
* - wire up content description to AutomationID
* - fix path
* - fix ui tests path
* - sln fixed
* - xaml tests
* - fix
Co-authored-by: Rui Marinho <me@ruimarinho.net>
Co-authored-by: Stephane Delcroix <stephane@delcroix.org>
Co-authored-by: Javier Suárez <javiersuarezruiz@hotmail.com>
Co-authored-by: Shane Neuville <shneuvil@microsoft.com>
* Implement HorizontalTextAlignment in SearchBarHandlers
* Clean up, add comments, verify things work with and without RTL support on Android
Co-authored-by: E.Z. Hart <hartez@gmail.com>