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

76 Коммитов

Автор SHA1 Сообщение Дата
Rui Marinho 8704935693
[Build] Pull Xamarin.Forms.Pages to it's own solution (#10097)
* [Build] Remove Pages from sln

* [Build]Xamarin.Forms.Pages.sln

* Update Xamarin.Forms.Pages.sln

* [Build] Move Xamarin:Forms.Pages

* [Build]updaet pipeline

* Update azure-pipelines.yml

* [Build] Use msbuild task

* [Buil] Add build.tasks

* Update build-windows.yml

* [Build]Remove tizen gallery

* [Build] Add includePages
2020-04-03 16:18:52 -07:00
Shane Neuville 925db31c22
iOS Material Components Bump (#9053)
* material bump

* Hopefully fix 2017 build issues

* - use new apis

* - fix progress coloring

* - remove rc3
2020-03-27 11:36:17 -06:00
Rui Marinho b230acd6f7
[Build] Fixes to build on Catalina (#10036)
* Update build.cake

Revert "Update build.cake"

This reverts commit 7a85766a6889e93b01b5a7c245aad7176fbc7b7a.

Update build.cake

Update build.cake

* Update MtouchArch

Fix arch on iPhone

* Update azure-pipelines.yml
2020-03-20 23:36:31 +00:00
Shane Neuville 8774f8b198
Androidx bump to stable release packages (#9594)
* Android x stable bump

* - add support to maps nuget

* - related androidx packages

* Update .nuspec/Xamarin.Forms.AppLinks.nuspec
2020-02-18 15:26:41 -07:00
Shane Neuville 3f90ad1b4e Bump WinUI Nuget version if you are using Min target >= 16299 (#9132)
* bump winui when using high enough targeting

* - fix galleries

* - fix design and cake parameters
2020-01-23 11:14:33 +00:00
Shane Neuville 5f4f4dd06c
The great Androidx IF Def'ing of 2019 (#8898)
* AndroidX API updates

* - merge fixes

* - 2017 fixes

* - extra lines added to cs proj files

* - menu element fix

* - androidx bump

* - cleanup

* - remove extra using

* - missed one

* - fix material version

* - one more TapOverflowMenuButton
2020-01-10 13:35:41 -07:00
Shane Neuville 006ebe996b Merge branch '4.4.0'
# Conflicts:
#	Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
#	Xamarin.Forms.Controls/Xamarin.Forms.Controls.csproj
#	Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj
2019-12-16 19:36:46 -07:00
Shane Neuville eb4ae0741d Merge branch '4.3.0' into 4.4.0
# Conflicts:
#	EmbeddingTestBeds/Embedding.UWP/Embedding.UWP.csproj
#	PagesGallery/PagesGallery.Droid/PagesGallery.Droid.csproj
#	PagesGallery/PagesGallery.UWP/PagesGallery.UWP.csproj
#	Xamarin.Forms.ControlGallery.WindowsUniversal/Xamarin.Forms.ControlGallery.WindowsUniversal.csproj
#	Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems
#	Xamarin.Forms.Maps.UWP/Xamarin.Forms.Maps.UWP.csproj
#	Xamarin.Forms.Platform.UAP/Xamarin.Forms.Platform.UAP.csproj
2019-12-16 19:29:47 -07:00
Shane Neuville 9d096f68a4
Setup UWP Platform projects to use multi targeting (#8750)
* - fix multi target

* - 619

* - nuspec

* - fix nuspec

* - consolidate

* - fix Isolated Storage for 16299 target

* - increment

* - configurations

* - always

* - library layout workaround

* - global json for sdk extras

* -fix spelling

* - fix maps spelling

* - 16299

* - nuspec

* - simplify csproj
2019-12-16 19:26:09 -07:00
James Clancey 190dda8036 Custom/Embedded fonts (#6013)
* Android fonts now work with shorter notation

"Lobster-Regular.ttf#Lobster-Regular" now works as just "Lobster-Regular"

* iOS Sample page now loads

* UWP now uses simple font names

* Fixed UWP Font loading!

UWP now supports `PTM55FT#PTMono`

* Added UWP Font Caching!

* iOS now supports Custom fonts like `PTM55FT#PTMono`

* Android now supports all the font formats!

* Add new styles to show how they can work

* Android fonts now work with shorter notation

"Lobster-Regular.ttf#Lobster-Regular" now works as just "Lobster-Regular"

* iOS Sample page now loads

* UWP now uses simple font names

* Fixed UWP Font loading!

UWP now supports `PTM55FT#PTMono`

* Added UWP Font Caching!

* iOS now supports Custom fonts like `PTM55FT#PTMono`

* Android now supports all the font formats!

* Add new styles to show how they can work

* Fixed iOS Font Loading

* iOS now can load embedded resources!

* Android can now load from embedded resources

* Moved FontFile parsing to Xamarin.Forms.Core, Added Unit Tests!

* IEmeddedFont now returns the path on success.

* removed unused code

* Embedded fonts now load in UWP

* Fixed crash in fonts

* changed the String.Contains to a string, instead of char to make VS windows happy

* netStandard1.0 won't let me have nice things

* grammer fixes :D

* smidgen of cleanup

* fix merge issues

* Update Registrar.cs
2019-12-16 15:43:59 -08:00
Samantha Houts c03690093e [UWP] Update to 6.0.15 (#8683)
* Update Newtonsoft.Json to 11.0.2

* Update Microsoft.Azure.Mobile.Client to 4.1.1

* Updated Microsoft.NETCore.UniversalWindowsPlatform to 6.0.15

* Update  NETStandard.Library to 2.0.3

* Update Xamarin.Forms.nuspec
2019-12-16 12:04:46 -07:00
Jiarui Guo c0bb38c7fa #3533 Bring back uap10.0/netstandard1.4 support (#7079) fixes #3533
* target netstandard 1.4 for supporting rs2

* multi targeting

* initial tests

* - set a couple libraries to NS1.0

* - ns1.4

* - fix gallery project

* - fix min targets

* - fix target

* - remove sdk

* - buildControlsPath

* - nuget restore

* - controls path

* - uwp version

* - add generic

* - fix xbf

* - add tuple nuget

* - set max target to 16299

* - proj fixes
2019-11-22 16:57:21 +00:00
Rui Marinho fdba6fb254 Merge branch '4.3.0' 2019-09-29 21:38:19 +01:00
Shane Neuville 09f4375b97 UWP fixes for lower target sdk on VS 2017 (#7722)
* Set UWP to lower target framework

* - mono version

* - dotnet core

* - dotnet core

* - dotnet core

* - mono

* - remove sdks

* - new sdk for mac targets

* - mono path

* - fix mono version

* - update unit test
2019-09-29 00:42:14 +01:00
Samantha Houts 151bdb5ebf Merge branch '4.3.0' 2019-09-12 15:56:32 -07:00
ShaneN 3603550ab6 Merge 4.2.0 into 4.3.0 2019-09-10 15:32:39 -06:00
Shane Neuville 9c4909cdee
Update support libraries from 28.0.0.1 to 28.0.0.3 (#7389)
* update support to 28.0.0.3

* - bump sandbox support versions

* - update nuspecs
2019-09-10 15:25:17 -06:00
Rui Marinho f2441914f1 Merge branch '4.3.0' 2019-09-07 23:08:26 +01:00
Shane Neuville f51099c382
[UWP] RefreshView (#7319)
* UWP Swipe Refresh implementation

* - target platform warnings for UWP

* - move dictionary registration to code

* - remove SkipMicrosoftUIXamlCheckTargetPlatformVersion
2019-09-07 01:11:41 -06:00
Jonathan Peppers 52f3980de6 [build] cleanup MSBuild settings for faster builds (#7381)
Context: https://devblogs.microsoft.com/xamarin/optimize-xamarin-android-builds/

The goal here is to improve the developer loop on Android when working
on Xamarin.Forms using a few settings for `Debug` builds:

* Enable Fast Deployment
* `AndroidLinkMode=None`
* `DebugType=portable`
* `ProduceReferenceAssembly=True` in netstandard projects

After these changes changes:

    Before:
    Time Elapsed 00:00:37.15
    After:
    Time Elapsed 00:00:15.79

This was just running:

    msbuild Xamarin.Forms.ControlGallery.Android\Xamarin.Forms.ControlGallery.Android.csproj

I was using VS 2019 16.2 on Windows, changing a XAML file.

So one thing to note is that `AndroidLinkMode=Full` was used the
UITests running on CI are using `Debug` builds. I used a `Condition`
to check the `$(CI)` variable, so UITests will be unaffected.

Other cleanup:

* Explicitly set both `AndroidUseSharedRuntime` and
  `EmbedAssembliesIntoApk`
* `AndroidSupportedAbis` only needs to be specified for `Release`
  builds. `Debug` builds will detect the attached device/emulator and
  use the appropriate ABI.
* `JavaMaximumHeapSize` can be removed, it defaults to `1G`.
* Removed other weird/old/empty MSBuild properties.

Rely on `Directory.Build.props`:

* `DebugType` is already defined, so we can remove these.
* `ProduceReferenceAssembly` can be set if
  `UsingMicrosoftNETSdk=True`, I could not check `TargetFramework` at
  this stage, evaluation, since it was blank. This sets the value for
  all netstandard/SDK-style projects.

~~ [ControlGallery] assembly-level [Preserve] ~~

Context: d7a9c85774/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Bugzilla25234.cs (L13)

There was also some concern where needing `[Preserve]` attributes
would only be found when the CI is running. You don't want to wait 3+
hours to know if you made a small mistake.

This adds `[assembly:Preserve]` to the ControlGallery project, so this
should be less likely to occur in the future.
2019-09-06 15:07:34 +01:00
Samantha Houts 659fa4faac
[Tizen] Fix Forms namespace correctly (#7193) 2019-08-16 14:09:25 -07:00
Kangho Hur 6169b972a2 [Tizen] Add TFM identifier and version explictly for vs2019 16.1 (#6304) 2019-05-28 16:12:47 +01:00
Rui Marinho f8fd2811dc
Merge branch '4.0.0' 2019-05-22 22:32:28 +01:00
Rui Marinho 9bc0fc6b0a
[Build] Update builds, remove submodule, update AssemblyInfo with GitInfo (#6068)
* [Build] Remove submodule

* [Build] Use GitInfo to set Assembly metadata

* [Build] Remove extra prop

* [Build] Update version

* [Build] Update versions to be consistent with existing Build.Tasks

* [Build] Update build number

* [Build] make sure build tasks gets info

* [Build] Add assembly info unit test

* [Test] Refactor test for gitinfo on vsts
2019-05-22 01:06:59 +01:00
Stephane Delcroix 5eca00b0e2
move imports to Directory.Build.[props|targets] (#6212) 2019-05-18 05:19:09 -07:00
Jonathan Peppers 78d662ee7d Remove Xamarin.Android.Support.v7.MediaRouter (#5941)
Context: https://github.com/xamarin/xamarin-android/issues/2982

The Blank Xamarin.Forms app template in VS 2019 takes longer to build
than in VS 2017. A little research is showing that this is due to use
of the 28.x support libraries... For example, the build includes ~20
*more* jar files in the template from 2019 than 2017. The
`_CompileDex` step alone goes from ~15.2s to ~18.2s.

This lead me down the road of investigating if we can remove any
support libraries by default in Xamarin.Forms apps. I am also seeing
if there is more we can do in Xamarin.Android for this problem, in
general.

It looks like we can remove:

* Xamarin.Android.Support.v7.MediaRouter
* Xamarin.Android.Support.Media.Compat

Neither of these appear to be used, but have been listed as
dependencies of Xamarin.Forms for a long time.

~~ Results ~~

I made these changes, then did a `Debug` build of
`Xamarin.Forms.ControlGallery.Android.csproj` for comparison.

Comparing dex file sizes (in bytes):

    Before:
    3428092 classes.dex
    3265616 classes2.dex
    6693708 total
    After:
    4938000 classes.dex
    1098772 classes2.dex
    6036772 total

This looks like it could potentially save ~600KB of compiled dex code
on every Xamarin.Forms app.

Comparing methods:

    Before:
    classes.dex  11,492 methods
    classes2.dex 19,451 methods
    total        30,943 methods
    After:
    classes.dex  22,171 methods
    classes2.dex  7,635 methods
    total        29,806 methods

~1,137 methods removed, which should help with the dex limit.

Comparing APK sizes (in bytes):

    Before:
    26442597 AndroidControlGallery.AndroidControlGallery-Signed.apk
    After:
    25741701 AndroidControlGallery.AndroidControlGallery-Signed.apk

~700KB smaller APK, due to less .NET assemblies & dex code.

Comparing build time (this was using dx):

    Before:
    19785 ms  CompileToDalvik                            1 calls
    After:
    18532 ms  CompileToDalvik                            1 calls

Looks like it saved over a second of build time for this project.

Seems like an "easy win", let's do this!
2019-04-23 13:21:21 -06:00
Matthew Leibowitz 6950db8bfe [nuspec] Start using the 28.x versions of Android support (#5512) 2019-04-02 16:06:59 +01:00
Shane Neuville a9af592006
[Android] move android renderers to separate nuget (#5405)
* [Android] move renderers to separate nuget

* additional android dependency

* rebase with material changes

* add android to material check

* simplify assembly info

* - add context to Init for future cases
2019-02-27 18:04:52 -07:00
Shane Neuville 8ef50d5214
update to support less prone to freezing (#5080) 2019-01-29 15:52:41 -07:00
Shane Neuville 5f98d5cf5d
[iOS] Move Material iOS components to a separate nuget (#5026)
* [ios] extract ios material out to its own project

* [core] fix platform messaging

* add material to other test projects

* update MaterialComponents on all test projects

* remove material from platform

* yml updates

* nuspec

* add iOS description

* language

* add dummy file so package installs into netstandard/android

* Add Target Framework checks
2019-01-28 16:53:22 -07:00
Shane Neuville aa0ce13129 Changes that VS Mac and Dev16 automatically make when you open SLN (#4969)
* vsmac changes these when you open it

* dev 16 changes
2019-01-14 10:41:46 +00:00
Shane Neuville e3a83e1fa7
Material Design Renderers for the Material Visual (#4733)
* Use the auto-generated constants

* [Visual] Work on the Material Frame

* Improving the code for the sample

* Added a controller to help with frames that have additional padding
 - Android MaterialCardView does not use the default padding to determine where the content starts, rather it uses the content padding of the view because there is a border that does not affect the content

* [Visual] Added a few extra checks on Android to reduce unnecessary interop

* [Visual] A few more frame changes and some button tweaks

* [Visual] use the themers on iOS and save default properties

* [Visual] Add placeholders for themer and cache defaults

* [Visual] Added the material slider for iOS
 - Android does not have a custom control, so uses the existing renderer

* [enhancements] Move from duplicate LoadImageAsync code to GetNativeImageAsync

* [visual] Updated the controls to use the new iOS bits

* [visual] some fixes for material components

* [visual] Added hacks for material alerts

* [visual] removing the alert changes for the main branch

* [visual] Update the MaterialComponents NuGet

* [visual] Rework the theming/customization of Material controls on iOS

* [visual] fix the places where the user colors were being changed

* [visual] Improve the ColorStateList management for Android

* [visual] Re-implemented the Android ProgressBar as a fast, material renderer

* Material Entry

* [visual] Add Android ActivityIndicator

* filter out material layouts for 8.1

* remove folder

* fix __ANDROID_28__

* MaterialContextThemeWrapper

* [visual] remove the `IFrameController` interface

* [visual] reverting the changes to the Frame layout

* [visual] reverting whitespace

* [visual] make sure to raise both property changed

* formatting changes

* fixing colors on android to match with ios themes

* Update Xamarin.Forms.Platform.Android/Material/MaterialButtonRenderer.cs

Co-Authored-By: mattleibow <mattleibow@live.com>

* fix sizing of entry with infinite width size request

* update to release 28 of support

* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml

Co-Authored-By: PureWeen <shane94@hotmail.com>

* Update Xamarin.Forms.Platform.Android/Resources/values/styles.xml

Co-Authored-By: PureWeen <shane94@hotmail.com>

* PR Comment changes
2019-01-07 17:07:50 -07:00
Shane Neuville a391f69e26 update to preview9 and uncomment no longer broken interface (#4727) 2018-12-13 23:46:29 +00:00
Shane Neuville d7c2f02f94
remove armeabi and set HttpClient Implementation on iOS to NSUrlSession (#4717)
* remove armeabi and set  Http Client Implementation to NSUrlSession

* remove armeabi
2018-12-13 09:48:18 -07:00
Stephane Delcroix 786534cb08 [build] add a Directory.Build.props (#4672)
Copying <PropertyGroup>s on (almost) every .csproj, and get the
relative paths just right is tedious. Starting msbuild 15 (vs2017)
we can use a Directory.Build.props (and Directory.Build.targets)
so I see no reason why we shouldn't.

see https://docs.microsoft.com/en-us/visualstudio/msbuild/customize-your-build?view=vs-2017
2018-12-09 00:31:53 +00:00
Stephane Delcroix 78385f9fc1 [Shell] The glorious Shell (#4522)
* [Shell] The glorious Shell

* set the flag for the test

* remove the FastRenderer flag

* [Android] If we were disposed earlier Element can be null and Control was disposed

* [Controls] Seems part of #2520 was solved so we don't need this

* [iOS] Fix NRE on the ScrollviewTracker

* add missing constructor for RenderWith

* [Core] propagate visual/flow through shell

* use interlock increment

* hide IDataTemplateController

* [Android] Fix TableViewModelRenderer dispose

* [Core] propagate visual/flow direction through shell hierarchy

* [Android-Gallery] removed some left in settings changes that effect UI Tests

* [iOS,Droid,Core] Code formatting

* [iOS,Core] Last minute style refactoring
2018-11-29 20:22:51 -08:00
Shane Neuville 4975d0cb85 update support and sync up nuspecs (#4571) 2018-11-29 13:00:20 +00:00
Shane Neuville 94e6621f72 [Enhancement] Add Visual progress behind feature flag (#4449) fixes #4435
* Visual

* add progress bar and fix ui tint color

* Progress Bar Updates

* ios padding fixes

* padding fix and button image positioning fixes

* added button themes

* disable tint and open up material android button

* change image to bank

* add overrides for Material Frame Renderer

* remove commented out code

* change back to Full linker

* applying comment fixes

* change comparison
2018-11-23 17:40:15 +00:00
Matthew Leibowitz 5959c40c94 Move last projects over to PackageReference (#4492)
* Move the first few projects over to PackageReference

* Move the first few projects over to PackageReference

* Moved the remainder of the projects to PackageReference

* Copy the nunit test adapters for the test apps

* Update the unit tests version of json.net

* Don't use relative paths

* Make sure to also copy sub folders

* Remove the trailing slash

* Keep the directory structure
2018-11-22 14:25:56 +00:00
Shane Neuville d7c20b7466 [Android] Convert android projects to package reference (#4310)
* [Android] Package Reference

* [Android] forwarders

* add package id to fix nuget restore confusion

* adding packageid to the more relevant projects
2018-11-06 16:09:31 +00:00
Jonathan Peppers 8b93ece95a [msbuild] use portable pdb files (#4201)
Currently, on the first build of a "Hello World" Xamarin.Forms app,
you will see this in the build log:

    ConvertDebuggingFiles
        Parameters
            Files
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.pdb
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.pdb
        OutputItems
            _ConvertedDebuggingFiles
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\FormsViewGroup.dll
                C:\Users\myuser\.nuget\packages\xamarin.forms\3.1.0.697729\lib\MonoAndroid10\Xamarin.Forms.Platform.Android.dll

The logging is a little weird here, but this `ConvertDebuggingFiles`
MSBuild task takes about 100ms on my machine.

What is it doing?

The Mono debugger can support two types of debugging files:
- `mdb` files
- "portable" `pdb` files

If Xamarin.Android's build finds a "non-portable" `pdb` file, we have
to run it through this task to convert to an `mdb` file... This gives
us proper stacktraces for `FormsViewGroup.dll` and
`Xamarin.Forms.Platform.Android.dll`.

You can change the type of debugging symbols in your project with the
`DebugType` setting, which has these options:
- Blank or `None`: don't generate symbols. (Although Xamarin.Android
  has funny behavior here, see:
  https://github.com/xamarin/xamarin-android/issues/2282)
- `Full` generates an `mdb` file, this is a Windows-proprietary format
  for debug builds
- `PdbOnly` generates a "non-portable" `pdb` file, a
  Windows-proprietary format for release builds
- `Portable` generates a "portable" pdb file, which is the new
  standard that works for debug and release builds. New SDK-style
  MSBuild projects use this option by default.

These values are not case sensitive, I have mostly seen them lower
case in newer projects.

So what does Xamarin.Forms need to do?

Use `<DebugType>portable</DebugType>` in any Android class library or
app project. Other platforms, this is optional, not as much benefit. I
have heard that `DebugType=portable` might cause a problem on UWP.

* Xamarin.Forms will ship "portable" `pdbs` in its NuGet package for
  `FormsViewGroup.dll` and `Xamarin.Forms.*.Android.dll`. Developers
  won't pay the 100ms on initial build.
* Initial build times for `Xamarin.Forms.sln` will be slightly better
  for development, although I didn't measure the difference here.
2018-10-24 20:35:47 +02:00
Andrei eab397c792 [Sample] [Android] Fixed PagesGallery.Droid build (#3999)
* fixed PagesGallery.Droid build

* Moved Xamarin.Forms.Platform.Android (Forwarders) reference to previous place

* updated project guid to lower case
2018-10-16 11:45:46 -04:00
Stephane Delcroix 5dc8935e52
[Tasks] multitarget the build tasks (#3895)
- fixes #2690
- closes #2706
2018-10-11 09:00:33 -04:00
Shane Neuville c11b2863e8 [Android] remove deprecated AndroidUseLatestPlatformSdk (#3672) 2018-08-28 13:04:23 +01:00
Rui Marinho a3bd00b5a7
[Android] Update android packages (#2803)
* Update all android support libraries

* Update nuget deps

* [Pages] Fix build - Increase java heap size

* [Nuspec]Udpate applinks nuspec
2018-05-24 17:48:44 +01:00
E.Z. Hart 203c29c635
Make bundle identifier pattern for test apps consistent 2018-04-05 09:24:48 -06:00
E.Z. Hart 789ca0c142 Fix VS errors when loading clean solution; prevent VS rewriting Android project files (#2083)
* Disable AndroidUseLatestPlatformSdk in VS so VS stops auto-updating Android projects;
Remove XF.targets imports from projects which don't need it;
Make XF.targets imports conditional on existence of XFBT DLL in VS to avoid errors

* More consistent check for VS

* Apply nicer VS check logic to Xamarin.Forms.Xaml.UnitTests.csproj

* Fix missing "'"

* Re-add XF.targets imports to PagesGallery native projects
2018-03-14 11:01:44 +00:00
E.Z. Hart 6a2499fe13
Revert "Disable AndroidUseLatestPlatformSdk so VS stops auto-updating Android projects;"
This reverts commit 3279709d95.
2018-03-12 09:56:53 -06:00
E.Z. Hart 3279709d95
Disable AndroidUseLatestPlatformSdk so VS stops auto-updating Android projects;
Remove XF.targets imports from projects which don't need it;
Make XF.targets imports conditional on existence of XFBT DLL to avoid errors
2018-03-11 18:49:34 -06:00
Jason Smith d32e6eefba
Merge branch '15-5' into 3.0.0 2018-02-27 10:32:57 -08:00