Граф коммитов

5 Коммитов

Автор SHA1 Сообщение Дата
Matthew Leibowitz db74ff7411 SourceGen now supports internal duplicate types
Fixes #14158
2023-03-25 19:01:12 +02:00
Matthew Leibowitz 2dcc148208
Make MAUI into 1 workload and lots of NuGets instead of a full workload (#11206)
### Description

This change moves most - if not all - the logic, assemblies, build tasks, targets and props into NuGet packages. This allows .NET MAUI to be usable without having to care about what version of the workload is installed.

There are still a few things - mostly the automagic and Windows fixes - in the workload pack, but this is probably temporary and/or non-essential for the working of the build. Things like the project capabilities are still in the workload as this is needed for the IDE and cannot be in NuGet packages.

Everything else is now inside a NuGet package that can be upgraded, pinned and otherwise used without requiring VS to have installed the workload to match. There is the benefit of the NuGet packages being installed on disk and thus reducing/removing the need to download. But that is minimal now since we have smaller and fewer packages.
2023-02-07 15:09:25 +02:00
Matthew Leibowitz 91bc4e007a Deleted unsupported platforms and use project refs 2022-06-20 23:42:09 +02:00
Jonathan Dick 680f1fbbdd
Improve Glide usage for Image Loading on Android (#5198)
* Make Glide load into imageview directly

* Refactor glide usage and implement listener

* Allow image views to autosize

* New test image

The old one was a png and blurry at the resizes, this one is svg to get the right density versions to make it clear we don't have a scaling issue in the code.

* Fix image size of Glide loaded font images

* Add glide ImageLoader to android aar project

* Use the helpers from the android aar

* Use autoscaling property from Font

* Merge image callbacks into one

* Add some benchmark tests

* More work on benchmark

* Remove unused helper methods

* Simplify callback

* Use custom glide targets instead of listeners

This allows .into to be used to start the request even in cases we have no image view target, and also means we don't need to add an extra listener to the cases where we use an image view...

* Benchmark uses non-resource/asset file

* Check if streams are empty

* Clean up tests

* Add glide model loader / factor for InputStream

* Refactor android platform code project

This removes the old Compatibility FormsViewGroup project and brings the FormsViewGroup class into the Core aar project, renames it MauiViewGroup.

Also refactored ViewHelpers and ImageHelpers into a single PlatformInterop class.

Finally, a few changes in this commit should fix some more tests.

* Fix a couple tests

* Update interop project

* Rework glide interop / image service

* Fix more tests

* Clear pending operations for image view targets

* Only load if we are supposed to apply the source

Original logic was a bit incorrect from reworking this code.

* Fix rebase

* More rebase fixes

* Fix solution filters

* Throw if request is cancelled in test

* Do not always clear first

* Run callback clear on ui thread

If we don't run these on the main thread we can see: Java.Lang.IllegalStateException : You can't start or clear loads in RequestListener or Target callbacks. If you're trying to start a fallback request when a load fails, use RequestBuilder#error(RequestBuilder). Otherwise consider posting your into() or clear() calls to the main thread using a Handler instead.

* Invoke clear on main thread in load calls too

* Fix refactor

* Fix api call
2022-03-24 10:56:03 -04:00
Jonathan Dick 553b69bc5c
Remove legacy TFMs (#4403)
* Remove legacy TFM projects

* Rename solution files

* Remove old sln files

* Help omnisharp

Adds an omnisharp.json config file to help ignore some projects that don't load well.

But also add an _omnisharp.sln since Omnisharp basically finds the first solution it can regardless of the config file excludes and will try and load those projects.  This puts it high in the list and is generally convenient to work on the main projects from the repo within omnisharp.

* Ignore .csx in omnisharp

* Fix android api level warning

* Fix up tfm logic

This will make net7.0 easier to start building against too.

* Make TFM runtime value dynamic

* Fix closing tag

* Add another project to omnisharp exclude

* Fix some logic

* Fix msbuild property function call

* Clean up resizetizer

These targets actually ship so they need to not just _use_ the Maui properties from directory build props

* Fix bad copy paste

* Another copy paste fix

* More fixes

* Add Controls.Xaml (missing) back to sln

* Drop S.N.Vectors version in csproj

It gets updated from other targets

* Don't set versions for WPF

* Bring back IsBindingProject

* Fix bad copy paste

* Make GetTfm static

* Fix missing namespace prefix

* Properly replace the TFM in BundledVersions

* Second replace should update the file the first one output

* Fix input for second replace

* Update the templates with the correct TFM

Co-authored-by: Matthew Leibowitz <mattleibow@live.com>
2022-01-30 19:09:26 +00:00