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

177 Коммитов

Автор SHA1 Сообщение Дата
Anirudh Agnihotry 4300a98163
Infra changes required for stable builds (#42872)
* address feedback

* remove warning
2020-09-30 17:50:33 -07:00
Egor Bogatov e271b51f7c
[release/5.0] Update ICU package (#41320) 2020-08-26 19:42:55 +03:00
Tammy Qiu d2601e3cad
[wasm] Add Timezone data generator as build task (#39913)
Add two build tasks:
1. DownloadTimeZoneData 
2. CreateWasmBundle (given directory bundle files into a data archive)
2020-08-15 13:47:47 -04:00
Ankit Jain d7d36b132f
[wasm][tests] Support running tests with a browser (#40173)
* [wasm][tests] Support running tests with a browser

- WasmAppBuilder will generate an `index.html` which will be used to run
the tests
- runtime-test.js: For the browser case, a simple `exit` doesn't end the script
execution, so we explicitly `return` in the code, to stop.

* Update tools-local/tasks/mobile.tasks/WasmAppBuilder/WasmAppBuilder.cs

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>

* [wasm] runtime-test.js: correctly load js files in the browser case

* [wasm][tests] runtime-test.js: Add a special element on exit, which the

.. `wasm test-browser` command can watch for.

* Update src/mono/wasm/runtime-test.js

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>

* runtime-test.js: Correctly handle the case of no arguments.

* runtime-test.js: Ensure `arguments` is not undefined

Co-authored-by: Santiago Fernandez Madero <safern@microsoft.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2020-08-13 12:52:22 -04:00
Thays Grazia 03d2e48212
[wasm] Moving wasm debugger to dotnet/runtime (#40146)
* Moving Wasm debugger to dotnet/runtime

The build is working.
The tests are running.
- make -C src/mono/wasm/ run-debugger-tests
2020-08-05 19:34:41 -03:00
Adeel Mujahid 58fa9fe4de
Remove Format wrappers around interpolated strings (#40231) 2020-08-01 07:59:07 -07:00
Alexander Köplinger ed31ea5ba5
Fix nullability warning in ApkBuilder.cs with newer Roslyn (#40155) 2020-07-31 20:23:45 +02:00
Santiago Fernandez Madero df35f269e3
WASM: Enable Invariant.Tests (#39814)
* WASM: Enable Invariant.Tests

* Fix build and PR Feedback
2020-07-23 16:21:06 -07:00
Viktor Hofer 809a06f451
Remove depprojs in favor of PackageReferences (#35606)
- Remove depprojs which currently binplace external references into the RefPath folders in favor of PackageReference and PackageDownload items.
- Build all configurations by default when building an individual project (either on the CLI or inside VS) same as with the official SDK. This enables .NETFramework Test Explorer support.
- Centrally define libraries that compose the shared framework instead of in each Directory.Build.props file to be able to build the targeting pack first and consume it in the OOB libraries.
- Use ProjectReferences to reference OOB projects. Compile against the reference assembly but use the implementation assembly app-local during runtime.
- Remove OOBs from the testhost and remove the testhost folder for .NETFramework as it isn't required anymore.
- Only binplace for $(NetCoreAppCurrent) to compose a) the targeting pack, b) the runtime pack, c) the testhost, d) a full closure for the shims.
- Use Targeting Packs for OOB projects (with their implicit assembly references) but still explicitly define granular references for .NETCoreApp configurations (DisableImplicitAssemblyReferences switch). Use the implicit targeting pack references in some Microsoft.Extensions.* cases.
- Remove placeholder configurations as they aren't needed anymore with explicit P2Ps vs Targeting Pack references.
- Remove implicit assembly references (ie for .NETFramework, mscorlib)
- Remove AssemblySearchPath hacks that were introduced with b7c4cb7 as the targeting pack is now used by default.
- Reduce unnecessary .NETFramework configurations that were added to run tests in favor of the already existing ref&src configurations.
- Stop hardcoding the paths for wasm assemblies and use the returned TargetPath of the ProjectReferences.
- Addressed formatting (ItemGroups, References at the bottom of the project file, ordering of references, use LibrariesProjectRoot instead of a relative path, unnecessary AssemblyName and RootNamespace properties which are identical to the project name, ordering of tfms)
- Revert "fix clean (#33758)"
2020-07-23 17:20:26 +02:00
Larry Ewing df9873f60d
[wasm] WasmAppBuilder write the json as json (#39660)
* Write the json as json

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2020-07-22 09:15:42 -05:00
Mitchell Hwang a366d638d8
[wasm] Sort Assembly List in WASM Apps (#39374)
Co-authored-by: Mitchell Hwang <mitchell.hwang@microsoft.com>
2020-07-20 12:52:02 -04:00
Larry Ewing 945beee7ef
[wasm] Include data archives and timezone data by default (#39586)
* Add data archive loading to the generic loading logic
2020-07-20 11:40:17 -05:00
Katelyn Gadd 5c99007671
ICU integration and asset loading overhaul (#37971)
This PR overhauls runtime startup/asset loading and adds support for ICU integration.

The mono-config.js format is reworked and simplified, with new functionality added:

    Individual assets can be loaded from one or more remote sources with configurable fallback behavior
    In addition to the existing support for loading assemblies, you can now pre-load arbitrary files into the native heap or into emscripten's virtual file system. VFS support previously only existed in runtime-test.js but now is available to any consumer of dotnet.js.
    Assets can have a virtual path set so that their application-facing path does not necessarily have to match their path on the server.
    One or more ICU data archives can be added to the assets list and will be automatically loaded and used to enable ICU-based globalization support.
    Many configuration knobs that previously required API calls can now be set declaratively in the configuration file (environment variables, etc.)

WasmAppBuilder is updated to add ICUDataFiles and RemoteSources parameters that can be used to add the associated information to the config file declaratively from a msbuild project.

Various adjustments are made to existing tests and test cases so that they will pass with the addition of ICU integration.

Co-authored-by: EgorBo <egorbo@gmail.com>
Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
Co-authored-by: Larry Ewing <lewing@microsoft.com>
2020-07-16 16:02:10 -07:00
Marek Safar 4cc375066e
Generate only unique entries in wasm pinvoke table generator (#39356) 2020-07-15 18:21:50 +02:00
Zoltan Varga 4dccf9a5e1
[wasm] Fix linker dependency in the pinvoke callback table. (#39070)
Encode methods as class name+method name instead of their token.
2020-07-10 16:26:46 +02:00
Zoltan Varga f9fc9fc243
[wasm] Implement pinvoke callback support. (#38932)
* [wasm] Implement pinvoke callback support.

* Allow void return types.

* Fix name mangling for assembly names.

* Handle MonoPInvokeCallbackAttribute as well for now.
2020-07-10 07:21:19 -04:00
Jan Kotas 56ee1b0b3f
Delete tools-local\scripts (#39051) 2020-07-09 22:54:53 -07:00
Jarret Shook 42453bec74
Cleanup references to centos 6 (#39006)
* Remove Dockerfile

* Remove references to dockerfiles in runtime. These exist in dotnet-buildtools-prereqs.
2020-07-09 18:34:06 -07:00
Stephen Toub 117c9d6e85
Fix a few more license headers (#38973)
* Fix a few more license headers

I missed a few directories outside of src.

* Update Directory.Build.props
2020-07-09 11:32:01 -04:00
Tammy Qiu 19d221b1ec
[wasm] Add zoneinfo data for System.Runtime.TimeZoneInfoTests
Add zoneinfo data for System.Runtime.TimeZoneInfoTests
* Include dotnet.timezones.blat in runtime pack
* Adding enable-zoneinfo to runscriptcommand in tests.mobile.targets
* add mono_wasm_load_data to library-mono.js

Co-authored-by: Larry Ewing <lewing@microsoft.com>
2020-07-07 14:09:27 -04:00
Zoltan Varga f5691edffb
[wasm] Ignore missing assemblies in the wasm app builder. (#38672) 2020-07-01 22:15:25 -04:00
Larry Ewing 831634c5b3
[wasm] Enable the full gc by default (#38345)
* [wasm] Enable the full gc by default

* fix the condition

* rename argument
2020-06-28 21:47:39 -05:00
Santiago Fernandez Madero 07f9116469
Add support to map test support files to wasm vfs in WasmAppBuilder (#37938)
* Add support to map test support files to wasm vfs in WasmAppBuilder

* PR Feedback

* Remove workaround for System.Reflection.Metadata.Tests

* Add BCL and BuildReference assets to VFS

* PR Feedback and fix more test projects

* Avoid potential null ref
2020-06-18 01:28:07 -07:00
Zoltan Varga 584c9b58ed
[wasm] Testing improvements. (#37662)
* Add System.Security.Cryptography.Algorithms to the pinvoke generator.

* Fix a stack overflow in WasmAppBuilder.

* [wasm] Unset MONO_LOG_MASK when running tests.

Its set to 'gc' by default which causes extra log messages to be added to the testResult.xml file.

* Turn off GC logging by default.
2020-06-09 21:00:47 -04:00
Viktor Hofer 2b7852b3d0
Create Microsoft.NetCore.App.Ref targeting pack for NetCoreAppCurrent in libraries (#37600)
* Create Microsoft.NetCore.App.Ref

Binplace reference assemblies into a Microsoft.NetCore.App.Ref folder
and also copy data files like the RuntimeList.xml and the
PlatformManifest.txt there.

Rename the runtime pack to microsoft.netcore.app.runtime.$(RID)

Fixing a restore issue in the wasm builder (restore and build should
not happen in the same msbuild invocation).
2020-06-09 12:10:33 +02:00
Alexander Köplinger fe30cec79f Only pack either debug or release dotnet.js/wasm files in runtime pack
Change the runtime pack to only include either the debug or release version of dotnet.js/wasm like we do for other targets.

Fixes an issue where self-contained publish didn't work anymore because the RuntimeList.xml contained two files with the same name.
2020-06-03 21:49:24 +02:00
Egor Bogatov 3156f300a2
Rename to libruntime-android.so to libmonodroid.so (#37251) 2020-06-02 13:20:00 +03:00
Ahmed Mohamed 4fcb0b1011
Rename Installer test directory to tests (#34542)
* Rename test directory to tests for Installer and update .sln file
* Update eng/Subsets.props file
2020-06-01 11:15:44 -07:00
Zoltan Varga 7713215d7b
[wasm] Include the pinvoke table into a separate file, so the generated declarations don't conflict with the ones in the header files included by driver.c. (#37202)
* [wasm] Include the pinvoke table into a separate file, so the generated declarations don't conflict with the ones in the header files included by driver.c.

Same as https://github.com/mono/mono/pull/19853.

* Update src/mono/wasm/runtime/pinvoke.c

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>

Co-authored-by: Alexander Köplinger <alex.koeplinger@outlook.com>
2020-05-31 16:26:12 -04:00
Egor Bogatov 2f321f08e4
[mono] Enable parallel mode for xunit on Android by default (#37058) 2020-05-31 16:28:47 +03:00
Zoltan Varga b0463a43fb
Reformat WasmAppBuilder to conform to the coding conventions. NFC. (#37199) 2020-05-30 11:09:38 -04:00
Zoltan Varga f95b2b2fa2
[wasm] Test runner improvements. (#37097)
* Fix the test runner script.

* Add a ExtraFiles property to the wasm app builder.

* Add helper make targets.

* Bump sdk version to pick up wasm support.

* Fix make targets.

* Compile wasm runtime with --enable-minimal=threads.
2020-05-28 11:35:18 +02:00
Zoltan Varga d9ba700187
Add a BundleTestWasmApp target to build wasm test apps for libraries. (#36739)
Beginning of a BundleTestWasmApp target to build wasm test apps for libraries.
2020-05-27 16:37:31 +02:00
Egor Bogatov d422b0fba5
Reduce app size for iOS (#36902)
We did the same mistake for Android - `libmonosgen-2.0.dylib` shouldn't be copied to bundle (we already have a mono runtime there)
2020-05-27 15:57:20 +02:00
Egor Bogatov 8b92b46602
Make ApkBuilder less verbose (#37050)
The output is still pretty useful and x4 times less verbose.
2020-05-27 15:56:10 +02:00
Egor Bogatov 1bc70f26fb
[mono] Remove unaligned apk after Sign step (#37018)
We don't need two *.apk files in the output dir
2020-05-26 21:52:33 +02:00
Alexander Köplinger eef01694a7
Fix binplacing WASM files for in-tree runtime pack (#36985)
It got broken by https://github.com/dotnet/runtime/pull/36781.
2020-05-26 20:19:02 +02:00
Egor Bogatov df1045720c
Switch to getCacheDir if getExternalFilesDir is not available (#37009) 2020-05-26 18:43:13 +03:00
Santiago Fernandez Madero 2d0e6b49f6
Fix wasm build when runtime configuration and configuration are different (#36855)
* Fix wasm build when runtime configuration and configuration are different

* PR Feedback
2020-05-22 10:07:21 -07:00
Egor Bogatov eabb02503e
[mono] Fix MonoRunner.java - assets were not copied correctly (#36824) 2020-05-22 11:21:28 +03:00
Thays Grazia 45e20479ee
Fixing tests on android. (#36788)
The linker was removing the icu shim functions even exporting them. The unique solution that we found until now is to force the linking using the -u flag.
This is a temporary fix until we don't implement QCalls.
Fixes https://github.com/dotnet/runtime/issues/36685
2020-05-21 12:29:14 +03:00
Egor Bogatov 8e36fcc006
Add FullAOT mode for Simulator to AppleAppBuilder (#36759) 2020-05-20 20:55:37 +03:00
Egor Bogatov a8b4ced325
[mono] Fix iOS sample and use `dotnet publish` (#36745)
Use `dotnet publish` with linker just like for Android.
2020-05-20 12:47:22 +02:00
Egor Bogatov cd4607ee38
[mono] Enable System.Runtime.Tests on Android (#36655) 2020-05-19 14:08:03 +03:00
Zoltan Varga 49f59a3cb9
WASM app builder changes. (#36422)
* Add an ExtraAssemblies parameter to the WasmAppBuilder task.

* Pass more assemblies to the pinvoke table generator.

* Improve the wasm sample.

* Move WasmAppBuilder to tools-local.
2020-05-18 21:11:09 -04:00
Alexander Köplinger 2962ded084
Fix mono file name on iOS/Browser (#36646)
We initially intended to just use libmono.so/dylib as the name to simplify and follow the libcoreclr.dylib pattern and we did that by just copying to a different name after the build.

However that didn't work on Android since the name gets embedded inside the binary and Android checks that these match, so we'd either have to change the (auto)make to use the correct library name (and possibly creates complex conditionals in the Makefile for netcore) or go back to using `libmonosgen-2.0` on iOS.

We decided to do the latter.
2020-05-18 15:49:35 +02:00
Egor Bogatov 00acdc1514
[mono] Use "dotnet publish" for Android sample with ILLink (#36593) 2020-05-16 16:15:56 +03:00
Steve Pfister b6ef0a54ad
Move mobile AppBuilder & AOTCompiler projects into tools-local (#36478)
Moving the projects will make sure their artifacts are always available to the different CI legs.
2020-05-15 13:36:11 -04:00
Chaojie 4804b8d9cd
Delete task code that has been moved to the shared framework SDK in Arcade (#35405)
* Delete task code that has been moved to the shared framework SDK in Arcade

* Remove RegenerateReadmeTable.cs

* Revert "Remove RegenerateReadmeTable.cs"

This reverts commit 037f425853e5587da95404f07130e36efd6cb2e3.

* BuildFPMToolPreReqs.cs is still needed for packaging Linux_x64
2020-05-08 09:45:21 +08:00
Viktor Hofer a1af15d229
Update SDK and remove RID calculation in favor of RuntimeInformation (#35538)
* Remove GetTargetMachineInfo from runtime

* Update bootstrapped SDK

* Remove unused prop

* Rename RuntimeRID to HostRuntimeIdentifier

* Remove yml tmp copying

* Update SDK

* Move RuntimeOS into libraries

* Fix RuntimeOS move
2020-05-04 11:45:15 +02:00