<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <TargetFrameworks>netstandard2.0</TargetFrameworks> <!-- FSharp.Core 6.0 dependency ==> netstandard2.0 or 2.1 -->
    <Version>3.0.0</Version>
    <AssemblyName>Programmerare.CrsTransformations.Core</AssemblyName>
    <Title>Coordinate Reference System Transformations core API library e.g. defining the interface implemented by adapters.</Title>
    <Description>
      Coordinate Reference System Transformations core API library e.g. defining the interface implemented by adapters.
      F# library (usable from .NET e.g. C#) for transforming coordinates between different coordinate systems.
      The core assembly provides an adapter interface which is implemented by other assemblies using different third-part libraries as adaptees.  
      For more information see the project website at github https://github.com/TomasJohansson/crsTransformations-dotnet
    </Description>
    <Authors>TomasJohansson</Authors>
    <PackageProjectUrl>https://github.com/TomasJohansson/crsTransformations-dotnet</PackageProjectUrl>
    <PackageLicenseUrl>https://github.com/TomasJohansson/crsTransformations-dotnet/blob/master/Programmerare.CrsTransformations.Core/LICENSE_NOTICE.txt</PackageLicenseUrl>
    <PackageTags>gis crs transformations coordinates spatial srs transformation transform convert conversion conversions coordinate projection projections geographic geodetic datum geodesy</PackageTags>
  </PropertyGroup>

  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
    <DocumentationFile>bin\$(Configuration)\$(TargetFramework)\$(AssemblyName).xml</DocumentationFile>
  </PropertyGroup>

  <ItemGroup>
    <AssemblyAttribute Include="System.Runtime.CompilerServices.InternalsVisibleTo">
      <_Parameter1>Programmerare.CrsTransformations.Test</_Parameter1>
    </AssemblyAttribute>
    <!--
    The purpose of the above is to make "internal" methods available for the test project.
    https://stackoverflow.com/questions/42810705/visual-studio-2017-new-csproj-internalsvisibleto
    https://stackoverflow.com/questions/15440935/how-to-test-internal-class-library
    alternative:
    open System.Runtime.CompilerServices
    [<assembly: InternalsVisibleTo("Programmerare.CrsTransformations.Test")>]
    -->
  </ItemGroup>
  
  <ItemGroup>
    <EmbeddedResource Remove="CrsTransformations\**" />
  </ItemGroup>

  <ItemGroup>
    <Compile Include="CrsTransformations\Utils\MedianValueUtility.fs" />
    <Compile Include="CrsTransformations\Identifier\CrsIdentifier.fs" />
    <Compile Include="CrsTransformations\Identifier\CrsIdentifierFactory.fs" />
    <Compile Include="CrsTransformations\Coordinate\CrsCoordinate.fs" />
    <Compile Include="CrsTransformations\Coordinate\CrsCoordinateFactory.fs" />
    <Compile Include="CrsTransformations\FileInfoVersion.fs" />
    <Compile Include="CrsTransformations\CrsTransformationAdapteeType.fs" />
    <Compile Include="CrsTransformations\CrsTransformationAdapter.fs" />
    <Compile Include="CrsTransformations\CrsTransformationAdapterBase.fs" />
    <Compile Include="CrsTransformations\CrsTransformationAdapterBaseLeaf.fs" />
    <Compile Include="CrsTransformations\CrsTransformationAdapterLeafFactory.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\ICompositeStrategy.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CompositeStrategyBase.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CompositeStrategyFirstSuccess.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CompositeStrategyMedian.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CompositeStrategyAverage.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterWeight.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterWeightFactory.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CompositeStrategyWeightedAverage.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterComposite.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterCompositeFirstSuccess.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterCompositeMedian.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterCompositeAverage.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterCompositeWeightedAverage.fs" />
    <Compile Include="CrsTransformations\CompositeTransformations\CrsTransformationAdapterCompositeFactory.fs" />
  </ItemGroup>

  <ItemGroup>
    <PackageReference Update="FSharp.Core" Version="6.0.1" />
    <PackageReference Update="System.ValueTuple" Version="4.5.0" />
  </ItemGroup>

</Project>
