Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mono] new Sdk that selects mono runtime components #54432

Merged
49 commits merged into from
Jul 8, 2021

Commits on Jul 7, 2021

  1. Configuration menu
    Copy the full SHA
    5bab843 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fad6101 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    cb34023 View commit details
    Browse the repository at this point in the history
  4. [cmake] Write a component-manifest.props file during build

    If we're not building a mono aot cross compiler, generate a
    component-manifest.props file in artifacts/obj/mono/<host>/ that indicates if
    the host will use static or dynamic components, and a list of the available
    components, and the properties for constructing their names.
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    efc5caf View commit details
    Browse the repository at this point in the history
  5. Build Microsoft.NETCore.App.Runtime.Mono.<RID>.Sdk shared framework n…

    …uget
    
    It seems to also generate a symbols nuget.  And in the nuget there's a
    tools/mono-sdk-what-is-this.deps.json file from the
    SharedFrameworkHostFileNameOverride property.  It would be nice to exclude that
    stuff.
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    d974927 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    cc468e3 View commit details
    Browse the repository at this point in the history
  7. delete WIP in mono/nuget/

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    d5aae8f View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    b213b70 View commit details
    Browse the repository at this point in the history
  9. delete fixed fixme

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    731a419 View commit details
    Browse the repository at this point in the history
  10. add missing $

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    82dd4f2 View commit details
    Browse the repository at this point in the history
  11. fix whitespace

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    a0a3803 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a440aa2 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    434a38b View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    71c2376 View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    3fe371b View commit details
    Browse the repository at this point in the history
  16. Rename shared framework to Microsoft.NETCore.App.Runtime.Mono.<RID>.P…

    …rops.Sdk
    
    And only include component-manifest.props, not the targets
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    d3bc250 View commit details
    Browse the repository at this point in the history
  17. Configuration menu
    Copy the full SHA
    8b5fd0a View commit details
    Browse the repository at this point in the history
  18. Move RuntimeConfigParserTask into Microsoft.NET.Runtime.MonoTargets.Sdk

    Consolidate all platform-independent tasks and targets into a single Sdk
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    dd03117 View commit details
    Browse the repository at this point in the history
  19. Configuration menu
    Copy the full SHA
    12cd2a6 View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    e6651b2 View commit details
    Browse the repository at this point in the history
  21. Fix typo

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    8d1e674 View commit details
    Browse the repository at this point in the history
  22. improve docs

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    b9be77f View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    db6a828 View commit details
    Browse the repository at this point in the history
  24. Drop component-manifest.props into runtime pack build/ directory

    Remove from the Microsoft.NETCore.App.Mono.Props.Sdk workload nuget
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    5c88b3e View commit details
    Browse the repository at this point in the history
  25. Configuration menu
    Copy the full SHA
    8a791ea View commit details
    Browse the repository at this point in the history
  26. Import component-manifest.props from the runtime pack

    Move the MonoTargets.Sdk import to each target platform that we support
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    016c88a View commit details
    Browse the repository at this point in the history
  27. Fix typos

    Co-authored-by: Rolf Bjarne Kvinge <rolf@xamarin.com>
    lambdageek and rolfbjarne committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    49f5a65 View commit details
    Browse the repository at this point in the history
  28. Apply suggestions from code review

    Co-authored-by: Ankit Jain <radical@gmail.com>
    lambdageek and radical committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    66b33df View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    a217d4e View commit details
    Browse the repository at this point in the history
  30. fix whitespace

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    c3cee96 View commit details
    Browse the repository at this point in the history
  31. Configuration menu
    Copy the full SHA
    438f3ec View commit details
    Browse the repository at this point in the history
  32. Read component-manifest.json using the JsonToItemsTaskFactory

    and bundle it in Microsoft.NET.Runtime.MonoTargets.Sdk
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    29420e2 View commit details
    Browse the repository at this point in the history
  33. remove ResolvedRuntimePack import from WorkloadManifest.targets

    it's too early, and we have the JsonToItemsTaskFactory now to read the manifest
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    58015a0 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    d3071da View commit details
    Browse the repository at this point in the history
  35. Fix some copy-paste nits

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    756e5a6 View commit details
    Browse the repository at this point in the history
  36. Use RuntimeFlavor==mono for runtime pack build directory

    instead of TargetsMobile.  We want the build files (mono-components.json)
    in every mono runtime pack, not just on mobile targets
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    372df69 View commit details
    Browse the repository at this point in the history
  37. Apply suggestions from code review

    Co-authored-by: Ankit Jain <radical@gmail.com>
    lambdageek and radical committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    2cc01b6 View commit details
    Browse the repository at this point in the history
  38. Configuration menu
    Copy the full SHA
    065a2bb View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    6957bcc View commit details
    Browse the repository at this point in the history
  40. fix whitespace

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    dae9aeb View commit details
    Browse the repository at this point in the history
  41. fix formatting

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    d5e6f0e View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    eb0d0d4 View commit details
    Browse the repository at this point in the history
  43. Rename MonoRuntimeComponentManifestReadTask

    from MonoRuntimeComponentsReadManifestTask
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    4874bd4 View commit details
    Browse the repository at this point in the history
  44. undo nullability annotation

    Build doesn't like it for some reason (probably net472)
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    011e7ab View commit details
    Browse the repository at this point in the history
  45. Configuration menu
    Copy the full SHA
    c332f7b View commit details
    Browse the repository at this point in the history
  46. Remove Identity metadata from dictionary at json parsing time

    Also improve nullability a bit by making the properties immutable
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    7d6ca6d View commit details
    Browse the repository at this point in the history
  47. Configuration menu
    Copy the full SHA
    174065e View commit details
    Browse the repository at this point in the history
  48. Catch JsonException in an async function

    We get nice error messages now like
    
    ```
    src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/RuntimeComponentManifest.targets(8,5): error : Failed to deserialize json from file 'artifacts/bin/mono/iOSSimulator.x64.Release/build/RuntimeComponentManifest.json', JSON Path: $.items._MonoRuntimeAvailableComponents[2], Line: 14, Position: 1 [component-manifest.sample.proj]
    src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/RuntimeComponentManifest.targets(8,5): error : JsonException: The JSON value could not be converted to System.Collections.Generic.Dictionary`2[System.String,System.String]. Path: $.identity | LineNumber: 0 | BytePositionInLine: 16. Path: $.items._MonoRuntimeAvailableComponents[2] | LineNumber: 14 | BytePositionInLine: 1. [component-manifest.sample.proj]
    src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/RuntimeComponentManifest.targets(8,5): error : InvalidOperationException: Cannot get the value of a token type 'Number' as a string. [component-manifest.sample.proj]
    src/mono/nuget/Microsoft.NET.Runtime.MonoTargets.Sdk/Sdk/RuntimeComponentManifest.targets(8,5):
    error :
    [component-manifest.sample.proj]
    ```
    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    5ffc175 View commit details
    Browse the repository at this point in the history
  49. fixup comments

    lambdageek committed Jul 7, 2021
    Configuration menu
    Copy the full SHA
    6213067 View commit details
    Browse the repository at this point in the history