Requirements
============

* Oracle JDK 8 or 11
* .NET 6 SDK
* JAVA_HOME environment variable set to the corresponding JDK (x64 or x86)
* Apache Maven bin directory in PATH, or MAVEN_HOME environment variable
* PowerShell
* Any OS supported by .NET SDK (Linux, Windows, macOS)


Build Binaries and NuGet
========================

pwsh build.ps1
(works on any supported OS)

Resulting binaries will be in bin folder, and NuGet packages in nupkg folder.

Build Apache Ignite .NET with Maven
===================================

Note that .NET Core SDK 3.1 and PowerShell must be installed first.

The command below will build the binaries and NuGet packages with Maven:

    ./mvnw clean install -am -pl modules/platforms/dotnet -DskipTests -P build-dotnet


Solutions and Projects
======================

* Apache.Ignite.DotNetCore.sln excludes legacy integrations and some tests specific to full .NET Framework.
  All projects and tests in this solution work on any supported OS (Windows, Linux, macOS).
  USE THIS solution for development by default.

* Apache.Ignite.sln includes all projects, including legacy EF and ASP.NET integrations.
  It can be built on any OS with "dotnet build", but some tests work only on Windows with full .NET Framework.
  DO NOT USE unless working on Apache.Ignite.EntityFramework or Apache.Ignite.AspNet.


Tests
=====

* Run tests:
  cd Apache.Ignite.Core.Tests
  dotnet test Apache.Ignite.Core.Tests.DotNetCore.csproj

* Run specific test:
  dotnet test Apache.Ignite.Core.Tests.DotNetCore.csproj --filter CacheTest  

* Run a smaller subset of tests - exclude long tests and examples tests:
  dotnet test Apache.Ignite.Core.Tests.DotNetCore.csproj --filter "TestCategory!=LONG_TEST&TestCategory!=EXAMPLES_TEST"
