Progress towards less house-keeping in projects

This commit is contained in:
AliveDevil
2025-03-10 11:41:13 +01:00
parent dc2637396f
commit c12d6076f4
18 changed files with 365 additions and 15 deletions
+1 -1
View File
@@ -12,7 +12,7 @@ insert_final_newline = true
charset = utf-8-bom
# XML project files
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,wixproj,msbuildproj}]
[*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj,wixproj}]
indent_size = 2
# XML config files
@@ -0,0 +1,12 @@
<Project>
<PropertyGroup Condition="'$(Platforms)'==''">
<OutputPath>$(BaseOutputPath)</OutputPath>
</PropertyGroup>
<PropertyGroup>
<OutputPath Condition="'$(OutputPath)'=='' And '$(Platform)'=='AnyCPU'">$(BaseOutputPath)</OutputPath>
<OutputPath Condition="'$(OutputPath)'=='' And '$(Platform)'!='AnyCPU'">$(BaseOutputPath)$(Platform)\</OutputPath>
</PropertyGroup>
</Project>
+40
View File
@@ -0,0 +1,40 @@
<Project>
<PropertyGroup Label="AssemblyInfo">
<Company>iterate GmbH</Company>
<Description>Libre FTP, SFTP, WebDAV, S3 and OpenStack Swift browser for Mac and Windows.</Description>
</PropertyGroup>
<PropertyGroup>
<TargetBuildDir>$(ModulePath)target\</TargetBuildDir>
<LibDir>$(TargetBuildDir)lib\</LibDir>
<GeneratedMSBuildDir>$(TargetBuildDir)generated\msbuild\</GeneratedMSBuildDir>
<UseArtifactsOutput>false</UseArtifactsOutput>
<ArtifactsPath>$(TargetBuildDir)</ArtifactsPath>
<BaseIntermediateOutputPath>$(ArtifactsPath)obj\$(projectName)\</BaseIntermediateOutputPath>
<BaseOutputPath>$(ArtifactsPath)</BaseOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<LangVersion>12</LangVersion>
<RestoreAdditionalProjectFallbackFolders Condition="Exists('$(TargetBuildDir).nuget\packages\')">$(TargetBuildDir).nuget\packages\;$(RestoreAdditionalProjectFallbackFolders)</RestoreAdditionalProjectFallbackFolders>
</PropertyGroup>
<ItemDefinitionGroup>
<CyberduckReference>
<ProjectPath />
</CyberduckReference>
</ItemDefinitionGroup>
<Import Project="$(GeneratedMSBuildDir)Version.props" Condition="Exists('$(GeneratedMSBuildDir)Version.props')" />
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">false</SignOutput>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">true</SignOutput>
</PropertyGroup>
</Project>
+21
View File
@@ -0,0 +1,21 @@
<Project>
<Import Project="Cyberduck.References.props" />
<ItemGroup>
<ProjectReference Include="@(AutoProjectReference)" SetPlatform="Platform=" />
</ItemGroup>
<Target Name="UsesSignTool" Outputs="$(SignTool);$(SignToolPath)">
<ItemGroup>
<SignToolPath Include="$(WindowsSDK_ExecutablePath)" />
</ItemGroup>
<PropertyGroup>
<SignTool>SignTool.exe sign /d "$(AppName)" /fd sha256 /tr http://timestamp.entrust.net/TSS/RFC3161sha2TS /td sha256 /a /sm /n "iterate GmbH"</SignTool>
<SignToolPath>PATH=@(SignToolPath, '%3B')</SignToolPath>
</PropertyGroup>
</Target>
<Import Project="Cyberduck.NuGet.targets" />
</Project>
-6
View File
@@ -1,6 +0,0 @@
<Project>
<PropertyGroup>
<OutDir>$(OutputPath)</OutDir>
<IntDir>$(IntermediateOutputPath)</IntDir>
</PropertyGroup>
</Project>
+26
View File
@@ -0,0 +1,26 @@
<!--
~ Copyright (c) 2002-2019 iterate GmbH. All rights reserved.
~ https://cyberduck.io/
~
~ This program is free software; you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
-->
<Project>
<Import Project="Cyberduck.Common.props" />
<Import Project="Cyberduck.Net.props" Condition="'$(UsingMicrosoftNETSdk)'=='True'" />
<!-- If DefaultLanguageSourceExtension != '' -->
<Import Project="Cyberduck$(DefaultLanguageSourceExtension).props" Condition="'$(DefaultLanguageSourceExtension)'!='' And Exists('Cyberduck$(DefaultLanguageSourceExtension).props')" />
<!-- Else -->
<Import Project="Cyberduck$(MSBuildProjectExtension).props" Condition="'$(DefaultLanguageSourceExtension)'=='' And Exists('Cyberduck$(MSBuildProjectExtension).props')" />
</Project>
@@ -0,0 +1,26 @@
<!--
~ Copyright (c) 2002-2019 iterate GmbH. All rights reserved.
~ https://cyberduck.io/
~
~ This program is free software; you can redistribute it and/or modify
~ it under the terms of the GNU General Public License as published by
~ the Free Software Foundation, either version 3 of the License, or
~ (at your option) any later version.
~
~ This program is distributed in the hope that it will be useful,
~ but WITHOUT ANY WARRANTY; without even the implied warranty of
~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
~ GNU General Public License for more details.
-->
<Project>
<Import Project="Cyberduck.Common.targets" />
<Import Project="Cyberduck.Net.targets" Condition="'$(UsingMicrosoftNETSdk)'=='True'" />
<!-- If DefaultLanguageSourceExtension != '' -->
<Import Project="Cyberduck$(DefaultLanguageSourceExtension).targets" Condition="'$(DefaultLanguageSourceExtension)'!='' And Exists('Cyberduck$(DefaultLanguageSourceExtension).targets')" />
<!-- Else -->
<Import Project="Cyberduck$(MSBuildProjectExtension).targets" Condition="'$(DefaultLanguageSourceExtension)'=='' And Exists('Cyberduck$(MSBuildProjectExtension).targets')" />
</Project>
-7
View File
@@ -1,7 +0,0 @@
<Project>
<PropertyGroup>
<_DirectoryBuildJavaPropsFile>$([MSBuild]::GetPathOfFileAbove('Directory.Build.Java.props', '$(MSBuildProjectDirectory)'))</_DirectoryBuildJavaPropsFile>
</PropertyGroup>
<Import Project="$(_DirectoryBuildJavaPropsFile)" Condition=" '$(_DirectoryBuildJavaPropsFile)' != '' " />
</Project>
+16
View File
@@ -0,0 +1,16 @@
<Project>
<PropertyGroup>
<BeforeMicrosoftNETSdkTargets>$(BuildSupportDir)Cyberduck.Artifacts.targets</BeforeMicrosoftNETSdkTargets>
</PropertyGroup>
<Import Project="Microsoft.WindowsSdk.props" />
<PropertyGroup Condition=" '$(TargetFramework)' != 'net472' ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net472*</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup Condition=" !$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net8.0*</DefaultItemExcludes>
</PropertyGroup>
</Project>
+49
View File
@@ -0,0 +1,49 @@
<Project>
<PropertyGroup>
<AssemblySearchPaths>$(LibDir);$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != '' ">
<LibDirFramework Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net472'))">net472</LibDirFramework>
<LibDirFramework Condition="$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0'))">net8.0</LibDirFramework>
</PropertyGroup>
<PropertyGroup Condition="'$(LibDirFramework)'!=''">
<AssemblySearchPaths>$(LibDir)$(LibDirFramework)\;$(AssemblySearchPaths)</AssemblySearchPaths>
<AssemblySearchPaths Condition="!('$(Platform)'=='' or '$(Platform)'=='AnyCPU')">$(LibDir)$(LibDirFramework)\$(Platform)\;$(AssemblySearchpaths)</AssemblySearchPaths>
</PropertyGroup>
<PropertyGroup>
<!-- Fix .NET 8 Sdk RuntimeIdentifiers to align with .NET 9 Sdk -->
<RuntimeIdentifier Condition=" '$(RuntimeIdentifier)'=='win7-x86'">win-x86</RuntimeIdentifier>
<RuntimeIdentifier Condition=" '$(RuntimeIdentifier)'=='win7-x64'">win-x64</RuntimeIdentifier>
</PropertyGroup>
<Target Name="SignAppHost" BeforeTargets="Compile" DependsOnTargets="_CreateAppHost;UsesSignTool" Inputs="$(AppHostIntermediatePath)" Outputs="$(AppHostIntermediatePath)" Condition="'$(AppHostIntermediatePath)'!='' And '$(SignOutput)'=='true'">
<ItemGroup>
<SignToolPath Include="$(WindowsSDK_ExecutablePath)" />
</ItemGroup>
<PropertyGroup>
<SignTool>SignTool.exe sign /d "$(AppName)" /fd sha256 /tr http://timestamp.entrust.net/TSS/RFC3161sha2TS /td sha256 /a /sm /n "iterate GmbH"</SignTool>
<SignToolPath>PATH=@(SignToolPath, '%3B')</SignToolPath>
</PropertyGroup>
<Exec Command="$(SignTool) &quot;$(AppHostIntermediatePath)&quot;" EnvironmentVariables="$(SignToolPath)" />
</Target>
<PropertyGroup Condition=" '$(NETCoreSdkVersion)'!='' ">
<!-- Treat SDK 6.0.301 as last known to work. -->
<NETSDKBeforeFeature>$([MSBuild]::VersionLessThanOrEquals('$(NETCoreSdkVersion)', '6.0.301'))</NETSDKBeforeFeature>
<NETSDKAfterFix>$([MSBuild]::VersionGreaterThanOrEquals('$(NETCoreSdkVersion)', '6.0.401'))</NETSDKAfterFix>
<CoreCompileDependsOn Condition="!($(NETSDKBeforeFeature) or $(NETSDKAfterFix))">SDKFix_RemoveDuplicateAnalyzers;$(CoreCompileDependsOn)</CoreCompileDependsOn>
</PropertyGroup>
<Target Name="SDKFix_RemoveDuplicateAnalyzers">
<ItemGroup>
<FilteredAnalyzer Include="@(Analyzer-&gt;Distinct())" />
<Analyzer Remove="@(Analyzer)" />
<Analyzer Include="@(FilteredAnalyzer)" />
<FilteredAnalyzer Remove="@(FilteredAnalyzer)" />
</ItemGroup>
</Target>
</Project>
+22
View File
@@ -0,0 +1,22 @@
<Project>
<PropertyGroup>
<GenerateNuspecDependsOn>$(GenerateNuspecDependsOn);CyberduckNuspecProperties</GenerateNuspecDependsOn>
</PropertyGroup>
<Target Name="CyberduckNuspecProperties">
<PropertyGroup>
<NuspecProperties>
$(PackageVersions);
id=$(PackageId);
version=$(PackageVersion);
authors=$(Authors);
company=$(Company);
description=$(Description);
buildDir=$(TargetBuildDir);
$(NuspecProperties)
</NuspecProperties>
</PropertyGroup>
</Target>
</Project>
@@ -0,0 +1,41 @@
<Project>
<ItemGroup>
<CyberduckReference Update="Bonjour">
<ProjectPath>$(CyberduckDir)bonjour\dll\Cyberduck.Bonjour.proj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Bonjour.Native">
<ProjectPath>$(CyberduckDir)bonjour\src\main\csharp\Cyberduck.Bonjour.Native.csproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Cli">
<ProjectPath>$(CyberduckDir)cli\dll\Cyberduck.Cli.proj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Core">
<ProjectPath>$(CyberduckDir)core\dll\Cyberduck.Core.proj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Core.Native">
<ProjectPath>$(CyberduckDir)core\src\main\csharp\Cyberduck.Core.Native.csproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Core.Refresh">
<ProjectPath>$(CyberduckDir)core\native\refresh\src\main\csharp\Cyberduck.Core.Refresh.csproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Cryptomator">
<ProjectPath>$(CyberduckDir)cryptomator\dll\Cyberduck.Cryptomator.proj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Importer">
<ProjectPath>$(CyberduckDir)importer\dll\Cyberduck.Importer.proj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Protocols">
<ProjectPath>$(CyberduckDir)protocols\dll\Cyberduck.Protocols.proj</ProjectPath>
</CyberduckReference>
<CyberduckProjectReference Include="@(CyberduckReference->HasMetadata('ProjectPath'))" Condition=" '$(BuildingInsideVisualStudio)'=='true' " />
<CyberduckPackageReference Include="@(CyberduckReference->'Cyberduck.%(Identity)')" Exclude="@(CyberduckProjectReference)" />
<ProjectReference Include="@(CyberduckProjectReference->'%(ProjectPath)')">
<Name>Cyberduck.%(Identity)</Name>
</ProjectReference>
<PackageReference Include="@(CyberduckPackageReference)" />
<PackageVersion Include="@(CyberduckPackageReference)" Version="$(Version)" />
</ItemGroup>
</Project>
@@ -0,0 +1,9 @@
<Project>
<Target Name="CompileJava" />
<Target Name="SignIntermediateAssembly" BeforeTargets="CoreCompile" DependsOnTargets="UsesSignTool" Condition="'$(SignOutput)'=='true'">
<Exec Command="$(SignTool) &quot;@(IntermediateAssembly)&quot;" EnvironmentVariables="$(SignToolPath)" />
</Target>
</Project>
+28
View File
@@ -0,0 +1,28 @@
<Project>
<PropertyGroup Label="IKVM">
<ClassLoader>ikvm.runtime.AppDomainAssemblyClassLoader</ClassLoader>
<DisableImplicitIkvmPackageReference>true</DisableImplicitIkvmPackageReference>
<EnableDefaultItems>false</EnableDefaultItems>
<LangVersion>1.8</LangVersion>
</PropertyGroup>
<PropertyGroup Label="MSBuild">
<!--
Skip expected diagnostics.
Catch authoring/dependency issues in automated Tests.
IKVM0100: Class Not Found
IKVM0101: Class Format Error (not Java 8)
IKVM0105: Missing Class
IKVM0111: Emitted NoClassDefFoundError
-->
<NoWarn>IKVM0100;IKVM0101;IKVM0105;IKVM0111;$(NoWarn)</NoWarn>
<AfterMicrosoftNETSdkTargets>$(MSBuildThisFileDirectory)Cyberduck.java.After.targets</AfterMicrosoftNETSdkTargets>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="IKVM" />
</ItemGroup>
</Project>
+5
View File
@@ -0,0 +1,5 @@
<Project>
<Import Project="Microsoft.WindowsSdk.props" />
</Project>
+13
View File
@@ -0,0 +1,13 @@
<Project>
<Target Name="SignMsi" DependsOnTargets="UsesSignTool">
<Exec Command="$(SignTool) &quot;%(SignMsi.FullPath)&quot;" EnvironmentVariables="$(SignToolPath)" />
</Target>
<Target Name="SignBundle" DependsOnTargets="UsesSignTool">
<Exec Command="$(SignTool) &quot;%(SignBundle.FullPath)&quot;" EnvironmentVariables="$(SignToolPath)" />
</Target>
<Target Name="SignBundleEngine" DependsOnTargets="UsesSignTool">
<Exec Command="$(SignTool) &quot;%(SignBundleEngine.FullPath)&quot;" EnvironmentVariables="$(SignToolPath)" />
</Target>
</Project>
@@ -0,0 +1,51 @@
<Project>
<!--
Don't include in Common.props, this will be included by vcxproj
and these already import Microsoft.Cpp.WindowsSdk.props.
-->
<!--
Copied from Microsoft.Cpp.Common.props, because it's overwriting DefaultSourceLanguageExtension
-->
<PropertyGroup>
<TargetPlatformIdentifier>Windows</TargetPlatformIdentifier>
<VSInstallDir>$(VsInstallRoot)\</VSInstallDir>
<VCIDEInstallDir>$(VSInstallDir)Common7\IDE\VC\</VCIDEInstallDir>
</PropertyGroup>
<Import Project="$(VCTargetsPath)Microsoft.Cpp.WindowsSDK.props" />
<!-- import vc tools props -->
<Import Condition="'$(UseVCTools)' != 'false'" Project="$(VCTargetsPath)\Microsoft.Cpp.VCTools.props" />
<PropertyGroup Condition="'$(PreferredToolArchitecture)' == 'x64' and '$(_VC_x64_ToolsInstalled)' == 'true'">
<VCToolArchitecture>Native64Bit</VCToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(PreferredToolArchitecture)' == 'arm64' and '$(_VC_arm64_ToolsInstalled)' == 'true'">
<VCToolArchitecture>NativeARM64</VCToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(VCToolArchitecture)' != 'Native64Bit' and '$(VCToolArchitecture)' != 'NativeARM64'">
<VCToolArchitecture>Native32Bit</VCToolArchitecture>
</PropertyGroup>
<!-- WindowsSDK tools architecture needs to match VC tools -->
<PropertyGroup>
<WindowsSDKToolArchitecture>$(VCToolArchitecture)</WindowsSDKToolArchitecture>
</PropertyGroup>
<PropertyGroup Condition="'$(WindowsSDKToolArchitecture)' == 'Native64Bit'">
<WindowsSDK_ExecutablePath>$(WindowsSDK_ExecutablePath_x64);$(WindowsSDK_ExecutablePath_x86)</WindowsSDK_ExecutablePath>
</PropertyGroup>
<PropertyGroup Condition="'$(WindowsSDKToolArchitecture)' == 'NativeARM64'">
<WindowsSDK_ExecutablePath>$(WindowsSDK_ExecutablePath_ARM64);$(WindowsSDK_ExecutablePath_x86)</WindowsSDK_ExecutablePath>
</PropertyGroup>
<PropertyGroup Condition="'$(WindowsSDKToolArchitecture)' != 'Native64Bit' and '$(WindowsSDKToolArchitecture)' != 'NativeARM64'">
<WindowsSDK_ExecutablePath>$(WindowsSDK_ExecutablePath_x86)</WindowsSDK_ExecutablePath>
</PropertyGroup>
</Project>
+5 -1
View File
@@ -7,7 +7,11 @@
<Revision Condition=" '$(Revision)' == '' ">0</Revision>
<FileVersion>$(AssemblyVersion).$(Revision)</FileVersion>
<Copyright><![CDATA[${copyright}]]></Copyright>
<Version>$(FileVersion)</Version>
<Version>$(InformationalVersion)</Version>
</PropertyGroup>
<PropertyGroup>
<SignOutput>${msbuild.sign}</SignOutput>
</PropertyGroup>
</Project>