[LoongArch64] Add proj to generate nupkg runtime.linux-loongarch64.runtime.native.System.IO.Ports#106850
Conversation
…ntime.native.System.IO.Ports Change-Id: I62eb691a0818b73333999f0b8a61b42bdb9d4da7
|
Tagging subscribers to this area: @dotnet/area-system-io |
|
@akoeplinger @ericstj Could you please review this change? I am not sure whether it is going to work given how we construct the package. |
|
yes this works. note that since we don't build this RID on our official builds the package needs to be built by the distributor. |
|
/azp run runtime-dev-innerloop |
|
Azure Pipelines successfully started running 1 pipeline(s). |
|
Is there a way to avoid separate files per rid? e.g. with a list in a single file as we have one in |
|
afaik that would need a .pkgproj which we want to get rid of. |
|
/ba-g test failures are not related to System.IO.Ports. |
It can use |
|
Appreciate for your replies and effort. |
I do not think it works. The main package references all platform-specific packages unconditionally. It means that all platform-specific packages have to exist. It makes it impossible for them to support platforms outside the official build matrix. (Also, it is sub-optimal user experience since one has to download a lot more than what's actually needed. Repro:
Result: |
|
This package includes all runtimes as dependencies instead of following the native assets conventionally to only restore the required runtime.
that forces it to restore all native |
|
We build the RID-specific System.IO.Ports assets into separate packages to avoid multi-machine build joins. It still follows the conventions described in the doc. Introducing a build join to merge everything into a single package would not really solve the loongarch issue.
|
|
Ah, I thought by convention it creates native package per RID, only that it doesn't add them as dependencies (i.e. no Perhaps |
|
yeah unfortunately the runtime.json approach only works well for packages that are used in self-contained publish scenarios or when I don't think we have a good way to support architectures we don't build ourselves until nuget implements RID-specific dependencies: NuGet/Home#10571 One workaround I can think of is to tell users to manually reference the |
|
There are more problems beyond what is touched on in this proposal:
|
Right now it's published by ourself.
If you must build dotnet by official released OS-image, you can't build and publish dotnet for LoongArch64. |
It is same as non-portable RIDs, anyone can publish runtime-RID.PackageID. There is no restriction who has published the native subpackage but we can always open a dispute with them if there is a misuse. https://learn.microsoft.com/en-us/nuget/nuget-org/id-prefix-reservation - perhaps this facility can be extended to support “suffix” as well if, e.g. the naming (runtime-RID.PackageID) is standardized. |

There is missing the generation of runtime.linux-loongarch64.runtime.native.System.IO.Ports nupkg on LoongArch. Add this for fix it.
@shushanhf