You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add a `Mac - .NET Core` build to Azure Pipelines, which *mostly* uses
.NET Core to build the Java.Interop repo on macOS, with *few* Mono
dependencies.
Some notable changes:
* Adds the `Prepare` target on Mac (.NET Core only) to move closer
to what Windows uses, with the eventual goal of all systems being
identical.
* Adds the [`Microsoft.NETFramework.ReferenceAssemblies`][0] NuGet
package to all assemblies that target `net472`. This allows them
to be built on .NET Core, which does not have `net472` reference
assemblies.
* [Use `/`, not `\`, in `<Exec/>` tasks][1]. Mono will fix these
for us, while `dotnet build` will not.
* Expanded `jnienv-gen` logic to handle running `jnienv-gen.dll` on
`dotnet` in `src\java-interop` as well as `src\Java.Interop`.
Note that Mono is still used in the following cases:
1. `make prepare-core` uses Mono/MSBuild to build `BootstrapTasks.dll`
to, which creates `JdkInfo.props`.
2. `mono jnienv-gen.exe` is used when it is run from a project build
targeting `net472`.
3. Mono headers are needed to build `libjava-interop.dylib`.
[0]: https://www.nuget.org/packages/Microsoft.NETFramework.ReferenceAssemblies/
[1]: dotnet/msbuild#1024 (comment)
0 commit comments