greenshot/Directory.Build.props
2020-03-08 16:04:52 +01:00

128 lines
6.2 KiB
XML

<Project>
<PropertyGroup>
<Copyright>Copyright © Greenshot 2004-2020</Copyright>
<Authors>Greenshot</Authors>
<PackageIconUrl>https://getgreenshot.org/favicon.ico</PackageIconUrl>
<RepositoryUrl>https://github.com/greenshot/greenshot</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<PackageProjectUrl>https://github.com/greenshot/greenshot</PackageProjectUrl>
<PackageLicenseUrl>https://www.gnu.org/licenses/gpl.html</PackageLicenseUrl>
<PackageLicenseExpression>GPL</PackageLicenseExpression>
<LangVersion>latest</LangVersion>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
<RuntimeIdentifiers>win10-x64;win10-x86;win-x64;win-x86</RuntimeIdentifiers>
<!-- Optional: Publish the repository URL in the built .nupkg (in the NuSpec <Repository> element) -->
<PublishRepositoryUrl>true</PublishRepositoryUrl>
<!-- Optional: Embed source files that are not tracked by the source control manager in the PDB -->
<EmbedUntrackedSources>true</EmbedUntrackedSources>
<TargetFramework>net472</TargetFramework>
<GenerateSerializationAssemblies>Off</GenerateSerializationAssemblies>
</PropertyGroup>
<!-- ILLinker and single file settings -->
<ItemGroup Condition="$(MSBuildProjectName) == 'Greenshot'">
<TrimmerRootAssembly Include="netstandard" />
</ItemGroup>
<PropertyGroup Condition="$(MSBuildProjectName) == 'Greenshot'">
<IncludeSymbolsInSingleFile>false</IncludeSymbolsInSingleFile>
<ShowLinkerSizeComparison>true</ShowLinkerSizeComparison>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' != 'Debug' And !$(MSBuildProjectName.Contains('Test')) And !$(MSBuildProjectName.Contains('Demo'))">
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<IsPackable>true</IsPackable>
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
</PropertyGroup>
<PropertyGroup Condition="$(MSBuildProjectName.Contains('Tests')) Or $(MSBuildProjectName.Contains('Demo'))">
<GenerateDocumentationFile>false</GenerateDocumentationFile>
<IsPackable>false</IsPackable>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugSymbols>True</DebugSymbols>
<CheckForOverflowUnderflow>true</CheckForOverflowUnderflow>
<DebugType>embedded</DebugType>
<Optimize>false</Optimize>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)' == 'Release'">
<Optimize>true</Optimize>
<DebugType>embedded</DebugType>
<DebugSymbols>True</DebugSymbols>
</PropertyGroup>
<ItemGroup Condition="!$(MSBuildProjectName.Contains('Tests')) And $(MSBuildProjectName.StartsWith('Greenshot'))">
<PackageReference Include="Nerdbank.GitVersioning" Version="3.0.50">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.0.0" PrivateAssets="All"/>
</ItemGroup>
<ItemGroup>
<Tokens Include="Box_ClientId">
<ReplacementValue>$(Box_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="Box_ClientSecret">
<ReplacementValue>$(Box_ClientSecret)</ReplacementValue>
</Tokens>
<Tokens Include="DropBox_ClientId">
<ReplacementValue>$(DropBox_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="DropBox_ClientSecret">
<ReplacementValue>$(DropBox_ClientSecret)</ReplacementValue>
</Tokens>
<Tokens Include="Flickr_ClientId">
<ReplacementValue>$(Flickr_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="Flickr_ClientSecret">
<ReplacementValue>$(Flickr_ClientSecret)</ReplacementValue>
</Tokens>
<Tokens Include="Imgur_ClientId">
<ReplacementValue>$(Imgur_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="Imgur_ClientSecret">
<ReplacementValue>$(Imgur_ClientSecret)</ReplacementValue>
</Tokens>
<Tokens Include="Photobucket_ClientId">
<ReplacementValue>$(Photobucket_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="Photobucket_ClientSecret">
<ReplacementValue>$(Photobucket_ClientSecret)</ReplacementValue>
</Tokens>
<Tokens Include="Picasa_ClientId">
<ReplacementValue>$(Picasa_ClientId)</ReplacementValue>
</Tokens>
<Tokens Include="Picasa_ClientSecret">
<ReplacementValue>$(Picasa_ClientSecret)</ReplacementValue>
</Tokens>
</ItemGroup>
<ItemGroup Condition="Exists('$(ProjectDir)$(ProjectName).Credentials.template')">
<PackageReference Include="MSBuildTasks" Version="1.5.0.235" GeneratePathProperty="true"/>
</ItemGroup>
<Import Project="$(PkgTools_MSBuildTasks)MSBuild.Community.Tasks.Targets" Condition="Exists('$(ProjectDir)$(ProjectName).Credentials.template')"/>
<Target Name="ProcessTemplates" BeforeTargets="PrepareForBuild" Condition="Exists('$(ProjectDir)$(ProjectName).Credentials.template')">
<Message Text="Processing: $(ProjectDir)$(ProjectName).Credentials.template" Importance="high"/>
<TemplateFile Template="$(ProjectDir)$(ProjectName).Credentials.template" OutputFilename="$(ProjectDir)$(ProjectName).Credentials.cs" Tokens="@(Tokens)" />
</Target>
<Target Name="PostBuild" BeforeTargets="PostBuildEvent" Condition="$(MSBuildProjectName.Contains('Plugin')) And !$(MSBuildProjectName.Contains('Test')) And !$(MSBuildProjectName.Contains('Demo'))">
<Exec Command="
xcopy /f /y /d &quot;$(TargetDir)$(TargetName).*&quot; &quot;$(SolutionDir)$(SolutionName)\$(OutDir)&quot;&#xD;&#xA;
xcopy /f /y /d &quot;$(TargetDir)*.dll&quot; &quot;$(SolutionDir)$(SolutionName)\$(OutDir)&quot;&#xD;&#xA;
IF EXIST &quot;$(TargetDir)Languages&quot; (&#xD;&#xA;
IF NOT EXIST &quot;$(SolutionDir)$(SolutionName)\$(OutDir)Languages&quot; (&#xD;&#xA;
mkdir &quot;$(SolutionDir)$(SolutionName)\$(OutDir)Languages&quot;&#xD;&#xA;
)&#xD;&#xA;
xcopy /f /y /d &quot;$(TargetDir)Languages\*en-US.xml&quot; &quot;$(SolutionDir)$(SolutionName)\$(OutDir)Languages&quot;&#xD;&#xA;
)" />
</Target>
</Project>