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

  <PropertyGroup>
    <TargetFrameworks>net462;netstandard2.0;net5.0;net6.0;net7.0;net8.0</TargetFrameworks>
    <LangVersion>latest</LangVersion>
    <Nullable>enable</Nullable>
    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
    <GenerateDocumentationFile>true</GenerateDocumentationFile>

    <!-- Package Metadata -->
    <PackageId>MetaOxide</PackageId>
    <Version>0.1.0</Version>
    <Authors>Yury Fedoseev</Authors>
    <Company>MetaOxide</Company>
    <Product>MetaOxide</Product>
    <Description>Fast, comprehensive metadata extraction library for .NET. Extracts 13 different metadata formats including Open Graph, Twitter Cards, JSON-LD, Microdata, Microformats, RDFa, and more. Built on high-performance Rust core with zero-copy parsing.</Description>
    <Copyright>Copyright © 2024 Yury Fedoseev</Copyright>
    <PackageLicenseExpression>MIT OR Apache-2.0</PackageLicenseExpression>
    <PackageProjectUrl>https://github.com/yfedoseev/meta-oxide-csharp</PackageProjectUrl>
    <RepositoryUrl>https://github.com/yfedoseev/meta-oxide-csharp</RepositoryUrl>
    <RepositoryType>git</RepositoryType>
    <PackageTags>metadata;html;parser;opengraph;twitter;jsonld;microdata;microformats;rdfa;seo;structured-data</PackageTags>
    <PackageReadmeFile>README.md</PackageReadmeFile>
    <PackageIcon>icon.png</PackageIcon>
    <PackageReleaseNotes>Initial release v0.1.0 - Full support for 13 metadata formats with cross-platform native binaries.</PackageReleaseNotes>

    <!-- Build Settings -->
    <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
    <WarningLevel>4</WarningLevel>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
  </ItemGroup>

  <!-- Include native libraries in NuGet package -->
  <ItemGroup>
    <None Include="native\win-x64\meta_oxide.dll" Pack="true" PackagePath="runtimes\win-x64\native\" Condition="Exists('native\win-x64\meta_oxide.dll')" />
    <None Include="native\linux-x64\libmeta_oxide.so" Pack="true" PackagePath="runtimes\linux-x64\native\" Condition="Exists('native\linux-x64\libmeta_oxide.so')" />
    <None Include="native\osx-x64\libmeta_oxide.dylib" Pack="true" PackagePath="runtimes\osx-x64\native\" Condition="Exists('native\osx-x64\libmeta_oxide.dylib')" />
    <None Include="native\osx-arm64\libmeta_oxide.dylib" Pack="true" PackagePath="runtimes\osx-arm64\native\" Condition="Exists('native\osx-arm64\libmeta_oxide.dylib')" />
    <None Include="..\README.md" Pack="true" PackagePath="\" />
  </ItemGroup>

  <!-- Copy native libraries to output directory for local development -->
  <ItemGroup>
    <None Include="native\**\*.*" CopyToOutputDirectory="PreserveNewest" />
  </ItemGroup>

</Project>
