123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186 |
- <Project Sdk="Microsoft.NET.Sdk">
- <!-- =================================================================== -->
- <!-- Version numbers -->
- <!-- Automatically updated by gitversion (run `dotnet-gitversion`) -->
- <!-- GitVersion.xml controls settings -->
- <!-- See ./README.md for more -->
- <!-- =================================================================== -->
- <PropertyGroup>
- <Version>2.0.0</Version>
- </PropertyGroup>
- <!-- =================================================================== -->
- <!-- Assembly name. -->
- <!-- Referenced throughout this file for consistency. -->
- <!-- =================================================================== -->
- <PropertyGroup>
- <AssemblyName>Terminal.Gui</AssemblyName>
- </PropertyGroup>
- <!-- =================================================================== -->
- <!-- .NET Build Settings -->
- <!-- =================================================================== -->
- <PropertyGroup>
- <!--Note - These three SHOULD be picked up from Directory.Build.props, but they are not. Not sure why. -->
- <TargetFramework>net8.0</TargetFramework>
- <LangVersion>12</LangVersion>
- <ImplicitUsings>enable</ImplicitUsings>
- <!-- -->
- <RootNamespace>$(AssemblyName)</RootNamespace>
- <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
- <DefineTrace>true</DefineTrace>
- <DebugType>portable</DebugType>
- <DefineConstants>$(DefineConstants);CONTRACTS_FULL;CODE_ANALYSIS</DefineConstants>
- <NoLogo>true</NoLogo>
- <SuppressNETCoreSdkPreviewMessage>true</SuppressNETCoreSdkPreviewMessage>
- <JsonSerializerIsReflectionEnabledByDefault>false</JsonSerializerIsReflectionEnabledByDefault>
- <IsTrimmable>true</IsTrimmable>
- <IsAotCompatible>true</IsAotCompatible>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
- <DefineDebug>true</DefineDebug>
- <DefineConstants>$(DefineConstants);DEBUG_IDISPOSABLE</DefineConstants>
- </PropertyGroup>
- <PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
- <Optimize>true</Optimize>
- <VersionSuffix></VersionSuffix>
- </PropertyGroup>
- <!-- =================================================================== -->
- <!-- Configuration Manager -->
- <!-- =================================================================== -->
- <ItemGroup>
- <None Remove="Resources\config.json" />
- <EmbeddedResource Include="Resources\config.json" />
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- Dependencies -->
- <!-- =================================================================== -->
- <ItemGroup>
- <PackageReference Include="ColorHelper" />
- <PackageReference Include="JetBrains.Annotations" />
- <PackageReference Include="Microsoft.CodeAnalysis" />
- <PackageReference Include="Microsoft.CodeAnalysis.Common" />
- <PackageReference Include="Microsoft.CodeAnalysis.CSharp" />
- <PackageReference Include="Microsoft.Extensions.Logging" />
- <PackageReference Include="System.IO.Abstractions" />
- <PackageReference Include="System.Text.Json" />
- <PackageReference Include="Wcwidth" />
- <!-- Enable Nuget Source Link for github -->
- <PackageReference Include="Microsoft.SourceLink.GitHub" />
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- Global Usings and Type Aliases -->
- <!-- =================================================================== -->
- <ItemGroup>
- <Using Include="JetBrains.Annotations" />
- <Using Include="JetBrains.Annotations.PureAttribute" Alias="PureAttribute" />
- <Using Include="System.Drawing" />
- <Using Include="System.Text" />
- <Using Include="Terminal.Gui.EnumExtensions" />
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- Assembly names for which internal items are visible -->
- <!-- =================================================================== -->
- <ItemGroup>
- <InternalsVisibleTo Include="Benchmarks"/>
- <InternalsVisibleTo Include="UnitTests" />
- <InternalsVisibleTo Include="UnitTests.Parallelizable" />
- <InternalsVisibleTo Include="StressTests" />
- <InternalsVisibleTo Include="IntegrationTests" />
- <InternalsVisibleTo Include="TerminalGuiDesigner" />
- <InternalsVisibleTo Include="TerminalGuiFluentTesting" />
- <InternalsVisibleTo Include="DynamicProxyGenAssembly2" />
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- API Documentation -->
- <!-- =================================================================== -->
- <ItemGroup>
- <None Include="..\docfx\images\logo.png">
- <Pack>true</Pack>
- <PackagePath>\</PackagePath>
- </None>
- <None Include="..\README.md">
- <Pack>true</Pack>
- <PackagePath>\</PackagePath>
- </None>
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- i18 -->
- <!-- =================================================================== -->
- <ItemGroup>
- <Compile Update="Resources\Strings.Designer.cs">
- <DesignTime>true</DesignTime>
- <AutoGen>true</AutoGen>
- <DependentUpon>Strings.resx</DependentUpon>
- </Compile>
- </ItemGroup>
- <ItemGroup>
- <EmbeddedResource Update="Resources\Strings.resx">
- <Generator>ResXFileCodeGenerator</Generator>
- <LastGenOutput>Strings.Designer.cs</LastGenOutput>
- </EmbeddedResource>
- </ItemGroup>
- <!-- =================================================================== -->
- <!-- Nuget -->
- <!-- =================================================================== -->
- <PropertyGroup>
- <PackageId>$(AssemblyName)</PackageId>
- <PackageLicenseExpression>MIT</PackageLicenseExpression>
- <PackageProjectUrl>https://github.com/gui-cs/$(AssemblyName)</PackageProjectUrl>
- <PackageIcon>logo.png</PackageIcon>
- <PackageReadmeFile>README.md</PackageReadmeFile>
- <PackageTags>csharp, terminal, c#, f#, gui, toolkit, console, tui</PackageTags>
- <Description>Cross platform Terminal UI toolkit for .NET</Description>
- <Owners>Miguel de Icaza, Tig Kindel</Owners>
- <Summary>A toolkit for building rich console apps for .NET that works on Windows, Mac, and Linux/Unix.</Summary>
- <Title>$(AssemblyName) - Cross-platform Terminal User Interface (TUI) toolkit for .NET</Title>
- <PackageReleaseNotes>
- See: $(PackageProjectUrl)/releases
- </PackageReleaseNotes>
- <DocumentationFile>bin\$(Configuration)\$(AssemblyName).xml</DocumentationFile>
- <GeneratePackageOnBuild Condition=" '$(Configuration)' == 'Debug' ">true</GeneratePackageOnBuild>
- <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
- <RepositoryUrl>https://github.com/gui-cs/$(AssemblyName).git</RepositoryUrl>
- <RepositoryType>git</RepositoryType>
- <IncludeSymbols>true</IncludeSymbols>
- <SymbolPackageFormat>snupkg</SymbolPackageFormat>
- <!-- Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
- <PublishRepositoryUrl>true</PublishRepositoryUrl>
- <GitRepositoryRemoteName>upstream</GitRepositoryRemoteName>
- <!-- Embed source files that are not tracked by the source control manager in the PDB -->
- <EmbedUntrackedSources>true</EmbedUntrackedSources>
- <EnableSourceLink>true</EnableSourceLink>
- <Authors>Miguel de Icaza, Tig Kindel (@tig), @BDisp</Authors>
- </PropertyGroup>
- <ProjectExtensions>
- <VisualStudio>
- <UserProperties resources_4config_1json__JsonSchema="../../docfx/schemas/tui-config-schema.json" />
- </VisualStudio>
- </ProjectExtensions>
- <Target Name="CopyNuGetPackagesToLocalPackagesFolder" AfterTargets="Pack" Condition="'$(Configuration)' == 'Release'">
- <PropertyGroup>
- <!-- Define the path for local_packages relative to the project directory -->
- <LocalPackagesPath>$(MSBuildThisFileDirectory)..\local_packages\</LocalPackagesPath>
- <!-- Output path without framework-specific folders -->
- <PackageOutputPath>$(MSBuildThisFileDirectory)bin\$(Configuration)\</PackageOutputPath>
- </PropertyGroup>
- <!-- Ensure the local_packages folder exists -->
- <Message Text="Checking if $(LocalPackagesPath) exists, creating if necessary." Importance="high" />
- <MakeDir Directories="$(LocalPackagesPath)" />
- <!-- Collect .nupkg and .snupkg files into an item group -->
- <ItemGroup>
- <NuGetPackages Include="$(PackageOutputPath)*.nupkg;$(PackageOutputPath)*.snupkg" />
- </ItemGroup>
- <!-- Check if any packages were found -->
- <Message Text="Found packages: @(NuGetPackages)" Importance="high" />
- <!-- Copy files only if found -->
- <Copy SourceFiles="@(NuGetPackages)" DestinationFolder="$(LocalPackagesPath)" SkipUnchangedFiles="false" Condition="@(NuGetPackages) != ''" />
- <!-- Log success -->
- <Message Text="Copy completed successfully." Importance="high" />
- </Target>
- </Project>
|