Merge pull request #17172 from iterate-ch/feature/10-ikvmnet-cli

Cyberduck CLI Windows Arm64
This commit is contained in:
David Kocher
2026-04-21 16:27:22 +02:00
committed by GitHub
125 changed files with 1941 additions and 1914 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,ikvmproj}]
indent_size = 2
# XML config files
+85 -89
View File
@@ -1,7 +1,28 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.0.31825.309
# Visual Studio Version 18
VisualStudioVersion = 18.2.11415.280
MinimumVisualStudioVersion = 15.0.26124.0
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8B08EF96-10D6-4F35-94C1-986F9F0F1506}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libs", "libs", "{72B4BA09-65D8-4C49-930E-B14104B2AB1B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "installer", "installer", "{0DF59FB4-AEA9-4213-A935-6DB851411B67}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "duck", "duck", "{457F1D6D-8AEC-42E2-9211-2A8405C95019}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Cyberduck", "Cyberduck", "{7D32EE61-B6F0-4978-B500-45172B181283}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B9726AB9-4100-4499-A9CF-78167CC27024}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
Directory.Packages.props = Directory.Packages.props
global.json = global.json
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core.Native", "core\src\main\csharp\Cyberduck.Core.Native.csproj", "{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Bonjour.Native", "bonjour\src\main\csharp\Cyberduck.Bonjour.Native.csproj", "{1926AB55-690C-4081-99D5-170847C206D9}"
@@ -10,58 +31,37 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core.Test", "core
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "duck", "cli\src\main\csharp\duck.csproj", "{2287E64E-3515-4324-9833-553348295C15}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{8B08EF96-10D6-4F35-94C1-986F9F0F1506}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "libs", "libs", "{72B4BA09-65D8-4C49-930E-B14104B2AB1B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck", "windows\src\main\csharp\Cyberduck.csproj", "{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Test", "windows\src\test\csharp\Cyberduck.Test.csproj", "{B5565834-1164-4858-AF50-AE89CFC9BDD2}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "installer", "installer", "{0DF59FB4-AEA9-4213-A935-6DB851411B67}"
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Cyberduck.Bootstrapper", "windows\src\main\wix\Bootstrapper\Cyberduck.Bootstrapper.wixproj", "{00858CE5-437F-46BE-8A2E-519B552DBF7D}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "duck", "duck", "{457F1D6D-8AEC-42E2-9211-2A8405C95019}"
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "Cyberduck.Bundle", "windows\src\main\wix\Bundle\Cyberduck.Bundle.wixproj", "{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Cyberduck", "Cyberduck", "{7D32EE61-B6F0-4978-B500-45172B181283}"
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "duck.bootstrapper", "cli\src\main\wix\Bootstrapper\duck.bootstrapper.wixproj", "{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "WindowsVersionCustomAction", "windows\src\main\wix\WindowsVersionCustomAction\WindowsVersionCustomAction.vcxproj", "{FBA5EFE2-362B-4BAD-A748-3248F79468AC}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Cyberduck.Bootstrapper", "windows\src\main\wix\Bootstrapper\Cyberduck.Bootstrapper.wixproj", "{00858CE5-437F-46BE-8A2E-519B552DBF7D}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Cyberduck.Bundle", "windows\src\main\wix\Bundle\Cyberduck.Bundle.wixproj", "{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "duck.bootstrapper", "cli\src\main\wix\Bootstrapper\duck.bootstrapper.wixproj", "{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}"
EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "duck.bundle", "cli\src\main\wix\Bundle\duck.bundle.wixproj", "{F6975079-F730-4A31-9909-DE536E524764}"
Project("{B7DD6F7E-DEF8-4E67-B5B7-07EF123DB6F0}") = "duck.bundle", "cli\src\main\wix\Bundle\duck.bundle.wixproj", "{F6975079-F730-4A31-9909-DE536E524764}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core.Refresh", "core\native\refresh\src\main\csharp\Cyberduck.Core.Refresh.csproj", "{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B9726AB9-4100-4499-A9CF-78167CC27024}"
ProjectSection(SolutionItems) = preProject
.editorconfig = .editorconfig
Directory.Build.props = Directory.Build.props
Directory.Build.targets = Directory.Build.targets
global.json = global.json
Packages.props = Packages.props
EndProjectSection
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "i18n-gen", "core\i18n-gen\i18n-gen.csproj", "{ABB0D3AD-BCDA-4F73-88C3-C67B76AAB6FE}"
EndProject
Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "package", "windows\src\main\package\package.wapproj", "{55CDD736-9A8A-4091-AC99-60E2F9C73269}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Core", "core\dll\Cyberduck.Core.msbuildproj", "{1B4DFDAD-C676-4338-B435-F2F62D79E096}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Core", "core\dll\Cyberduck.Core.ikvmproj", "{1B4DFDAD-C676-4338-B435-F2F62D79E096}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Bonjour", "bonjour\dll\Cyberduck.Bonjour.msbuildproj", "{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Bonjour", "bonjour\dll\Cyberduck.Bonjour.ikvmproj", "{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Importer", "importer\dll\Cyberduck.Importer.msbuildproj", "{C9B1C169-1354-4348-9938-7892399C6336}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Importer", "importer\dll\Cyberduck.Importer.ikvmproj", "{C9B1C169-1354-4348-9938-7892399C6336}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Protocols", "protocols\dll\Cyberduck.Protocols.msbuildproj", "{9C7B827F-AE30-44C4-A210-E49DF883C720}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Protocols", "protocols\dll\Cyberduck.Protocols.ikvmproj", "{9C7B827F-AE30-44C4-A210-E49DF883C720}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Cryptomator", "cryptomator\dll\Cyberduck.Cryptomator.msbuildproj", "{7EFC0398-8F4D-4850-BBE3-A0CC85410559}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Cryptomator", "cryptomator\dll\Cyberduck.Cryptomator.ikvmproj", "{7EFC0398-8F4D-4850-BBE3-A0CC85410559}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Cyberduck.Cli", "cli\dll\Cyberduck.Cli.msbuildproj", "{2D33598A-21A1-4117-82DC-250F4CE8D5E5}"
Project("{DAEA77DE-8320-43BA-BA7C-EF5C12478AB5}") = "Cyberduck.Cli", "cli\dll\Cyberduck.Cli.ikvmproj", "{2D33598A-21A1-4117-82DC-250F4CE8D5E5}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "test-utils", "windows\src\test\utils\test-utils.csproj", "{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -69,18 +69,6 @@ Global
Release|x64 = Release|x64
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.ActiveCfg = Debug|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.Build.0 = Debug|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.ActiveCfg = Release|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.Build.0 = Release|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.ActiveCfg = Debug|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.Build.0 = Debug|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.ActiveCfg = Release|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.Build.0 = Release|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.ActiveCfg = Debug|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.Build.0 = Debug|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.ActiveCfg = Release|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.Build.0 = Release|Any CPU
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Debug|x64.ActiveCfg = Debug|x64
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Debug|x64.Build.0 = Debug|x64
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766}.Release|x64.ActiveCfg = Release|x64
@@ -101,42 +89,22 @@ Global
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Debug|x64.Build.0 = Debug|x64
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Release|x64.ActiveCfg = Release|x64
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30}.Release|x64.Build.0 = Release|x64
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.ActiveCfg = Debug|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.Build.0 = Debug|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.ActiveCfg = Release|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.Build.0 = Release|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.ActiveCfg = Debug|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.Build.0 = Debug|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.ActiveCfg = Release|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.Build.0 = Release|Any CPU
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Debug|x64.ActiveCfg = Debug|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Debug|x64.Build.0 = Debug|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Release|x64.ActiveCfg = Release|x64
{B5565834-1164-4858-AF50-AE89CFC9BDD2}.Release|x64.Build.0 = Release|x64
{C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.ActiveCfg = Debug|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.Build.0 = Debug|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.ActiveCfg = Release|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.Build.0 = Release|Any CPU
{FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Debug|x64.ActiveCfg = Debug|Win32
{FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Debug|x64.Build.0 = Debug|Win32
{FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Release|x64.ActiveCfg = Release|Win32
{FBA5EFE2-362B-4BAD-A748-3248F79468AC}.Release|x64.Build.0 = Release|Win32
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.ActiveCfg = Debug|x86
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.Build.0 = Debug|x86
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.ActiveCfg = Release|x86
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.Build.0 = Release|x86
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.ActiveCfg = Debug|x86
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.Build.0 = Debug|x86
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.ActiveCfg = Release|x86
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.Build.0 = Release|x86
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.ActiveCfg = Debug|x86
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.Build.0 = Debug|x86
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.ActiveCfg = Release|x86
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.Build.0 = Release|x86
{F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.ActiveCfg = Debug|x86
{F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.Build.0 = Debug|x86
{F6975079-F730-4A31-9909-DE536E524764}.Release|x64.ActiveCfg = Release|x86
{F6975079-F730-4A31-9909-DE536E524764}.Release|x64.Build.0 = Release|x86
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.ActiveCfg = Debug|x64
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Debug|x64.Build.0 = Debug|x64
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.ActiveCfg = Release|x64
{00858CE5-437F-46BE-8A2E-519B552DBF7D}.Release|x64.Build.0 = Release|x64
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.ActiveCfg = Debug|x64
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Debug|x64.Build.0 = Debug|x64
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.ActiveCfg = Release|x64
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85}.Release|x64.Build.0 = Release|x64
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Debug|x64.ActiveCfg = Debug|x64
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04}.Release|x64.ActiveCfg = Release|x64
{F6975079-F730-4A31-9909-DE536E524764}.Debug|x64.ActiveCfg = Debug|x64
{F6975079-F730-4A31-9909-DE536E524764}.Release|x64.ActiveCfg = Release|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Debug|x64.ActiveCfg = Debug|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Debug|x64.Build.0 = Debug|x64
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB}.Release|x64.ActiveCfg = Release|x64
@@ -151,27 +119,48 @@ Global
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.ActiveCfg = Release|x64
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.Build.0 = Release|x64
{55CDD736-9A8A-4091-AC99-60E2F9C73269}.Release|x64.Deploy.0 = Release|x64
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.ActiveCfg = Debug|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Debug|x64.Build.0 = Debug|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.ActiveCfg = Release|Any CPU
{1B4DFDAD-C676-4338-B435-F2F62D79E096}.Release|x64.Build.0 = Release|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.ActiveCfg = Debug|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Debug|x64.Build.0 = Debug|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.ActiveCfg = Release|Any CPU
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4}.Release|x64.Build.0 = Release|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.ActiveCfg = Debug|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Debug|x64.Build.0 = Debug|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.ActiveCfg = Release|Any CPU
{C9B1C169-1354-4348-9938-7892399C6336}.Release|x64.Build.0 = Release|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.ActiveCfg = Debug|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Debug|x64.Build.0 = Debug|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.ActiveCfg = Release|Any CPU
{9C7B827F-AE30-44C4-A210-E49DF883C720}.Release|x64.Build.0 = Release|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.ActiveCfg = Debug|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Debug|x64.Build.0 = Debug|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.ActiveCfg = Release|Any CPU
{7EFC0398-8F4D-4850-BBE3-A0CC85410559}.Release|x64.Build.0 = Release|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.ActiveCfg = Debug|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Debug|x64.Build.0 = Debug|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.ActiveCfg = Release|Any CPU
{2D33598A-21A1-4117-82DC-250F4CE8D5E5}.Release|x64.Build.0 = Release|Any CPU
{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0}.Debug|x64.ActiveCfg = Debug|Any CPU
{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0}.Debug|x64.Build.0 = Debug|Any CPU
{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0}.Release|x64.ActiveCfg = Release|Any CPU
{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0}.Release|x64.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
{1B4DFDAD-C676-4338-B435-F2F62D79E096} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{2D33598A-21A1-4117-82DC-250F4CE8D5E5} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{7EFC0398-8F4D-4850-BBE3-A0CC85410559} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{72B4BA09-65D8-4C49-930E-B14104B2AB1B} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{457F1D6D-8AEC-42E2-9211-2A8405C95019} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
{7D32EE61-B6F0-4978-B500-45172B181283} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
{89D94AC6-3D04-4B67-A39B-C1DEFB8A1766} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{1926AB55-690C-4081-99D5-170847C206D9} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{581C7683-D22D-4346-B3BF-DC2936231C46} = {8B08EF96-10D6-4F35-94C1-986F9F0F1506}
{2287E64E-3515-4324-9833-553348295C15} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{72B4BA09-65D8-4C49-930E-B14104B2AB1B} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{04AFCFBB-97D5-44EA-B087-F0CFAEB51E30} = {3FAE38FB-24D9-4F8C-81BA-68BAD19FC81D}
{9C7B827F-AE30-44C4-A210-E49DF883C720} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{B5565834-1164-4858-AF50-AE89CFC9BDD2} = {8B08EF96-10D6-4F35-94C1-986F9F0F1506}
{457F1D6D-8AEC-42E2-9211-2A8405C95019} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
{7D32EE61-B6F0-4978-B500-45172B181283} = {0DF59FB4-AEA9-4213-A935-6DB851411B67}
{C9B1C169-1354-4348-9938-7892399C6336} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{FBA5EFE2-362B-4BAD-A748-3248F79468AC} = {7D32EE61-B6F0-4978-B500-45172B181283}
{00858CE5-437F-46BE-8A2E-519B552DBF7D} = {7D32EE61-B6F0-4978-B500-45172B181283}
{65AB4CE3-5AF4-411A-928C-7FFD250C6D85} = {7D32EE61-B6F0-4978-B500-45172B181283}
{EF87DE0E-BC36-4D3C-8852-C8AD11D01F04} = {457F1D6D-8AEC-42E2-9211-2A8405C95019}
@@ -179,6 +168,13 @@ Global
{D1286C4A-9D6A-4904-B9AD-CB7688483EDB} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{ABB0D3AD-BCDA-4F73-88C3-C67B76AAB6FE} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{55CDD736-9A8A-4091-AC99-60E2F9C73269} = {7D32EE61-B6F0-4978-B500-45172B181283}
{1B4DFDAD-C676-4338-B435-F2F62D79E096} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{B31E6C36-D710-443F-8ED7-16BE3BD51FC4} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{C9B1C169-1354-4348-9938-7892399C6336} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{9C7B827F-AE30-44C4-A210-E49DF883C720} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{7EFC0398-8F4D-4850-BBE3-A0CC85410559} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{2D33598A-21A1-4117-82DC-250F4CE8D5E5} = {72B4BA09-65D8-4C49-930E-B14104B2AB1B}
{BBCC0F0C-0135-AAAB-DB32-CC4E28BC88E0} = {8B08EF96-10D6-4F35-94C1-986F9F0F1506}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {289E6003-15D5-4377-ADA6-2E7093785BCD}
+1 -36
View File
@@ -16,46 +16,11 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup Label="AssemblyInfo">
<Company>iterate GmbH</Company>
<Description>Libre FTP, SFTP, WebDAV, S3 and OpenStack Swift browser for Mac and Windows.</Description>
</PropertyGroup>
<PropertyGroup>
<CyberduckDir>$(MSBuildThisFileDirectory)</CyberduckDir>
<BuildSupportDir>$(CyberduckDir)src\main\msbuild\</BuildSupportDir>
<TargetBuildDir>$(ModulePath)target\</TargetBuildDir>
<LibDir>$(TargetBuildDir)lib\</LibDir>
<GeneratedMSBuildDir>$(TargetBuildDir)generated\msbuild\</GeneratedMSBuildDir>
<ArtifactsPath>$(TargetBuildDir)</ArtifactsPath>
<UseArtifactsOutput>false</UseArtifactsOutput>
<BaseIntermediateOutputPath>$(ArtifactsPath)obj\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<BaseOutputPath>$(ArtifactsPath)</BaseOutputPath>
<IntermediateOutputPath>$(BaseIntermediateOutputPath)$(Configuration)\</IntermediateOutputPath>
<OutputPath>$(BaseOutputPath)</OutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<LangVersion>12</LangVersion>
<BuildProjectReferences Condition=" '$(BuildProjectReferences)'=='' And '$(BuildingInsideVisualStudio)'!='True' ">false</BuildProjectReferences>
</PropertyGroup>
<ItemDefinitionGroup>
<CyberduckReference>
<ProjectPath />
</CyberduckReference>
</ItemDefinitionGroup>
<Import Project="$(GeneratedMSBuildDir)Version.props" Condition="Exists('$(GeneratedMSBuildDir)Version.props')" />
<PropertyGroup>
<SignToolExecutablePath>$(PATH)</SignToolExecutablePath>
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)src\main\msbuild\BannedSymbols.*.txt" Link="%(Filename)%(Extension)" />
</ItemGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Default.props" />
</Project>
+1 -119
View File
@@ -16,124 +16,6 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Sdk Name="Microsoft.Build.CentralPackageVersions" Version="2.0.41" />
<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>
<AssemblySearchPaths Condition=" '$(LibDirFramework)' != '' ">$(LibDir)$(LibDirFramework)\;$(AssemblySearchPaths)</AssemblySearchPaths>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net472' ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net472*</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup Condition=" !$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net8.0*</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<CyberduckReference Update="Bonjour">
<ProjectPath>$(CyberduckDir)bonjour\dll\Cyberduck.Bonjour.msbuildproj</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.msbuildproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Core">
<ProjectPath>$(CyberduckDir)core\dll\Cyberduck.Core.msbuildproj</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.msbuildproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Importer">
<ProjectPath>$(CyberduckDir)importer\dll\Cyberduck.Importer.msbuildproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Protocols">
<ProjectPath>$(CyberduckDir)protocols\dll\Cyberduck.Protocols.msbuildproj</ProjectPath>
</CyberduckReference>
<CyberduckProjectReference Include="@(CyberduckReference->HasMetadata('ProjectPath'))" Condition=" '$(BuildingInsideVisualStudio)'=='true' Or '$(BuildProjectReferences)'!='false' " />
<CyberduckAssemblyReference Include="@(CyberduckReference)" Exclude="@(CyberduckProjectReference)" />
<ProjectReference Include="@(CyberduckProjectReference->'%(ProjectPath)')">
<Name>Cyberduck.%(Identity)</Name>
</ProjectReference>
<Reference Include="@(CyberduckAssemblyReference->'Cyberduck.%(Identity)')">
<JavaClasspath>\\?\</JavaClasspath>
</Reference>
</ItemGroup>
<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>
<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>
<PropertyGroup>
<_SignToolArgs Condition="'$(SignTool)'=='cng'">_SignToolArgsCNG</_SignToolArgs>
<_SignToolArgs Condition="'$(_SignToolArgs)'==''">_SignToolArgsCertificateStore</_SignToolArgs>
<SignToolArgsDependsOn>$(_SignToolArgs);SignToolExecutablePath</SignToolArgsDependsOn>
</PropertyGroup>
<Target Name="SignToolExecutablePath" Returns="$(SignToolExecutablePath);$(SignToolExecutable)">
<PropertyGroup>
<SignToolExecutable Condition="'$(SignToolExecutable)'==''">SignTool.exe</SignToolExecutable>
<SignToolExecutablePath>$(WindowsSdk_ExecutablePath);$(SignToolExecutablePath)</SignToolExecutablePath>
</PropertyGroup>
</Target>
<Target Name="SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>sign /d "Cyberduck" /fd sha256 /tr "http://timestamp.acs.microsoft.com" /td "sha256" /a</SignToolArgsBase>
</PropertyGroup>
</Target>
<Target Name="SignToolArgs" DependsOnTargets="$(SignToolArgsDependsOn)">
<Error Text="'$(SignTool)' unsupported." Condition="'$(_SignToolArgs)'==''" />
<PropertyGroup>
<SignToolArgs>"$(SignToolExecutable)" $(SignToolArgsBase)</SignToolArgs>
</PropertyGroup>
<ItemGroup>
<SignToolEnvironmentVariable Include="PATH=$([MSBuild]::Escape('$(SignToolExecutablePath)'))" />
</ItemGroup>
</Target>
<Target Name="_SignToolArgsCertificateStore" DependsOnTargets="SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>$(SignToolArgsBase) /sm /n "iterate GmbH"</SignToolArgsBase>
</PropertyGroup>
</Target>
<Target Name="_SignToolArgsCNG" DependsOnTargets="SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>$(SignToolArgsBase) /f "$(CyberduckDir)setup\cert\certificate.crt" /csp "$(SignToolCSP)" /kc "$(SignToolKC)"</SignToolArgsBase>
</PropertyGroup>
</Target>
<Import Project="$(BuildSupportDir)Cyberduck.Default.targets" />
</Project>
+60
View File
@@ -0,0 +1,60 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ 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 xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
</PropertyGroup>
<ItemGroup>
<PackageVersion Include="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageVersion Include="DotNetProjects.Extended.Wpf.Toolkit" Version="5.0.100" />
<PackageVersion Include="ExceptionReporter " Version="2.4.2" />
<PackageVersion Include="IKVM" Version="8.13.3" />
<PackageVersion Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" Version="1.1.0" />
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="17.1.0" />
<PackageVersion Include="Microsoft.CSharp" Version="4.7.0" />
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageVersion Include="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
<PackageVersion Include="Microsoft.Windows.CsWin32" Version="0.3.106" />
<PackageVersion Include="Microsoft.Windows.SDK.Contracts" Version="10.0.22000.196" />
<PackageVersion Include="NUnit" Version="4.2.0" />
<PackageVersion Include="NUnit.Console" Version="3.17.0" />
<PackageVersion Include="NUnit3TestAdapter" Version="4.5.0" />
<PackageVersion Include="ObjectListView.Official" Version="2.9.1" />
<PackageVersion Include="ReactiveMarbles.ObservableEvents.SourceGenerator" Version="1.2.3" />
<PackageVersion Include="ReactiveUI" Version="17.1.50" />
<PackageVersion Include="ReactiveUI.WPF" Version="17.1.50" />
<PackageVersion Include="StructureMap" Version="2.6.4.1" />
<PackageVersion Include="System.CommandLine" Version="2.0.3" />
<PackageVersion Include="System.Configuration.ConfigurationManager" Version="8.0.0" />
<PackageVersion Include="System.Memory" Version="4.5.5" />
<PackageVersion Include="System.Runtime.Caching" Version="8.0.0" />
<PackageVersion Include="System.Security.Cryptography.ProtectedData" Version="8.0.0" />
<PackageVersion Include="WixToolset.Bal.wixext" Version="5.0.2" />
<PackageVersion Include="WixToolset.Heat" Version="5.0.2" />
<PackageVersion Include="WixToolset.NetFx.wixext" Version="5.0.2" />
<PackageVersion Include="WixToolset.Util.wixext" Version="5.0.2" />
</ItemGroup>
<ItemGroup>
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
</ItemGroup>
<PropertyGroup>
<PackageVersions>@(PackageVersion->'%(Identity)'->Replace('.', '_')->'Pkg%(Identity)Version=%(Version)')</PackageVersions>
</PropertyGroup>
</Project>
-46
View File
@@ -1,46 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
~ 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 xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<PackageReference Update="CommunityToolkit.Mvvm" Version="8.2.2" />
<PackageReference Update="DotNetProjects.Extended.Wpf.Toolkit" Version="5.0.100" />
<PackageReference Update="ExceptionReporter " Version="2.4.2" />
<PackageReference Update="IKVM" Version="8.13.3" />
<PackageReference Update="iterate-ch.IKVM.MSBuild.SkipDuplicates" Version="1.1.0" />
<PackageReference Update="Microsoft.Build.Utilities.Core" Version="17.1.0" />
<PackageReference Update="Microsoft.CSharp" Version="4.7.0" />
<PackageReference Update="Microsoft.NET.Test.Sdk" Version="17.1.0" />
<PackageReference Update="Microsoft.Toolkit.Uwp.Notifications" Version="7.1.2" />
<PackageReference Update="Microsoft.Windows.CsWin32" Version="0.3.106" />
<PackageReference Update="Microsoft.Windows.SDK.Contracts" Version="10.0.22000.196" />
<PackageReference Update="NUnit" Version="4.2.0" />
<PackageReference Update="NUnit.Console" Version="3.20.0" />
<PackageReference Update="NUnit3TestAdapter" Version="4.5.0" />
<PackageReference Update="ObjectListView.Official" Version="2.9.1" />
<PackageReference Update="ReactiveMarbles.ObservableEvents.SourceGenerator" Version="1.2.3" />
<PackageReference Update="ReactiveUI" Version="17.1.50" />
<PackageReference Update="ReactiveUI.WPF" Version="17.1.50" />
<PackageReference Update="StructureMap" Version="2.6.4.1" />
<PackageReference Update="System.Configuration.ConfigurationManager" Version="8.0.0" />
<PackageReference Update="System.Memory" Version="4.5.5" />
<PackageReference Update="System.Runtime.Caching" Version="8.0.0" />
<PackageReference Update="System.Security.Cryptography.ProtectedData" Version="8.0.0" />
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="3.3.4" />
<GlobalPackageReference Include="MSBuildTasks" Version="1.5.0.235" GeneratePathProperty="true" />
</ItemGroup>
</Project>
@@ -1,5 +1,4 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<!--
Only really used in Cyberduck.
@@ -7,13 +6,13 @@
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<CyberduckReference Include="Core" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
+12 -4
View File
@@ -21,16 +21,24 @@
-->
<project name="Cyberduck Native Libraries" basedir=".">
<import file="../../build.xml"/>
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Bonjour.msbuildproj">
<msbuild buildfile="Cyberduck.Bonjour.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Bonjour.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Bonjour.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Bonjour.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+5 -7
View File
@@ -50,17 +50,16 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<phase>verify</phase>
<id>install-nupkg</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Bonjour.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Bonjour.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -76,9 +75,8 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>nupkg</type>
<version>${project.version}</version>
<type>dll</type>
</dependency>
</dependencies>
</profile>
+5 -4
View File
@@ -15,10 +15,11 @@
<Project>
<PropertyGroup>
<ModulePath Condition="'$(ModulePath)'==''">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<PropertyGroup>
<AssemblyName>Cyberduck.Bonjour.Native</AssemblyName>
<ModulePath Condition="'$(ModulePath)'==''">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<Import Project="../Directory.Build.props" />
<Import Project="../Directory.Build.props" />
</Project>
+9
View File
@@ -37,4 +37,13 @@
<property name="Configuration" value="${msbuild.configuration}"/>
</msbuild>
</target>
<target name="pack" depends="msbuild">
<!-- Create DLL Cyberduck.Bonjour.Native -->
<msbuild buildfile="src/main/nuget/nuget.proj">
<target name="Restore;Pack"/>
<property name="Configuration" value="${msbuild.configuration}"/>
</msbuild>
</target>
</project>
+4 -6
View File
@@ -28,7 +28,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
@@ -36,9 +36,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Bonjour.Native.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Bonjour.Native.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -54,8 +53,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Bonjour</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<description>$description$</description>
<authors>$authors$</authors>
<dependencies>
<group targetFramework="net472">
<dependency id="Cyberduck.Bonjour" version="$version$" />
<dependency id="Microsoft.CSharp" version="$PkgMicrosoft_CSharpVersion$" />
</group>
</dependencies>
</metadata>
<files>
<file src="$buildDir$Cyberduck.Bonjour.Native.dll" target="lib/net472" />
</files>
</package>
+9
View File
@@ -0,0 +1,9 @@
<Project Sdk="Microsoft.Net.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<NoBuild>true</NoBuild>
<IncludeBuildOutput>false</IncludeBuildOutput>
<NuspecFile>Cyberduck.Bonjour.Native.nuspec</NuspecFile>
</PropertyGroup>
</Project>
@@ -13,7 +13,6 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="IKVM" />
<PackageReference Include="Microsoft.CSharp" />
</ItemGroup>
+8
View File
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.Net.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<NoBuild>true</NoBuild>
<IncludeBuildOutput>false</IncludeBuildOutput>
<NuspecFile>Cyberduck.Core.Native.nuspec</NuspecFile>
</PropertyGroup>
</Project>
+26 -7
View File
@@ -127,9 +127,13 @@
</tstamp>
</target>
<target name="msbuild" depends="version">
<!--
Windows
-->
<target name="msbuild">
<taskdef name="msbuild" classname="org.apache.ant.dotnet.build.MSBuildTask">
<classpath path="${lib.ext}/ant-dotnet-1.1.jar"/>
<classpath path="${lib.ext}/ant-dotnet-1.1.jar" />
</taskdef>
<condition property="msbuild.sign" value="false">
@@ -137,20 +141,35 @@
</condition>
<property name="msbuild.sign" value="" />
<condition property="msbuild.configuration" value="Debug">
<equals arg1="${configuration}" arg2="debug"/>
<equals arg1="${configuration}" arg2="debug" />
</condition>
<property name="msbuild.configuration" value="Release"/>
<property name="msbuild.configuration" value="Release" />
</target>
<target name="msbuild-props" depends="version">
<condition property="msbuild.sign" value="false">
<isset property="skipSign"/>
</condition>
<property name="msbuild.sign" value=""/>
<property name="signtool" value="cng" />
<property name="revision" value="0" />
<copy todir="${build}/generated/msbuild" overwrite="True">
<resources>
<fileset dir="${home}/src/template/msbuild" erroronmissingdir="false"/>
<fileset dir="${module}/src/template/msbuild" erroronmissingdir="false"/>
<fileset dir="${home}/src/template/msbuild" erroronmissingdir="false" />
<fileset dir="${module}/src/template/msbuild" erroronmissingdir="false" />
</resources>
<filterchain>
<expandproperties/>
<expandproperties />
</filterchain>
</copy>
</target>
<target name="nuget-unpack">
<exec dir="." executable="powershell.exe">
<arg line="-ExecutionPolicy bypass" />
<arg value="-Command" />
<arg value="&amp; { &amp; '${home}/src/main/msbuild/NuGet-Unpack.ps1' '${build}/.nuget/packages.list' }" />
</exec>
</target>
</project>
+15
View File
@@ -0,0 +1,15 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
</PropertyGroup>
<ItemGroup>
<CyberduckReference Include="Core;Protocols;Cryptomator" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
-16
View File
@@ -1,16 +0,0 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<TargetFramework>net472</TargetFramework>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<CyberduckReference Include="Core;Bonjour;Protocols;Cryptomator" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
+12 -4
View File
@@ -16,16 +16,24 @@
-->
<project name="Cyberduck Native Libraries" basedir=".">
<import file="../../build.xml"/>
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Cli.msbuildproj">
<msbuild buildfile="Cyberduck.Cli.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Cli.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Cli.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Cli.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+21 -16
View File
@@ -70,9 +70,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Cli.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Cli.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -91,29 +90,19 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Protocols</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Cryptomator</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
@@ -141,5 +130,21 @@
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>${jansi.version}</version>
<classifier>x86_64</classifier>
<type>dll</type>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>${jansi.version}</version>
<classifier>arm64</classifier>
<type>dll</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>
+24
View File
@@ -81,6 +81,14 @@
<version>${jna-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>${jansi.version}</version>
<classifier>arm64</classifier>
<type>so</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
@@ -99,6 +107,14 @@
<version>${jna-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>${jansi.version}</version>
<classifier>${os.arch}</classifier>
<type>so</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
<profile>
@@ -117,6 +133,14 @@
<version>${jna-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>${jansi.version}</version>
<classifier>x86_64</classifier>
<type>so</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</profile>
</profiles>
+1 -1
View File
@@ -23,7 +23,7 @@
<property name="app.runtime.archs" value="'x86_64 arm64'"/>
<property name="app.runtime.system.min" value="10.13"/>
<property name="jvm.runtime.args"
value="-client --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED -Djava.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.boot.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.nounpack=true -Djava.awt.headless=true -Dsun.jnu.encoding=utf-8 -Dfile.encoding=utf-8 -Dsun.io.useCanonCaches=false -DLog4jContextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector -XX:+UseG1GC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:+UseStringDeduplication"/>
value="-client --add-opens=java.base/sun.security.ssl=ALL-UNNAMED --add-opens=java.base/sun.security.util=ALL-UNNAMED -Djava.library.path=$APP_PACKAGE/Contents/Frameworks -Dlibrary.jansi.path=$APP_PACKAGE/Contents/Frameworks -Djna.boot.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.library.path=$APP_PACKAGE/Contents/Frameworks -Djna.nounpack=true -Djava.awt.headless=true -Dsun.jnu.encoding=utf-8 -Dfile.encoding=utf-8 -Dsun.io.useCanonCaches=false -DLog4jContextSelector=org.apache.logging.log4j.core.selector.BasicContextSelector -XX:+UseG1GC -XX:MinHeapFreeRatio=10 -XX:MaxHeapFreeRatio=20 -XX:+UseStringDeduplication"/>
<condition property="jvm.runtime.debug"
value="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005 ">
+8 -1
View File
@@ -81,7 +81,7 @@
</goals>
<configuration>
<outputDirectory>${project.build.directory}/duck.bundle/Contents/Frameworks</outputDirectory>
<includeTypes>dylib</includeTypes>
<includeTypes>dylib,jnilib</includeTypes>
<includeScope>runtime</includeScope>
<stripClassifier>true</stripClassifier>
<stripVersion>true</stripVersion>
@@ -226,5 +226,12 @@
<scope>test</scope>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>libjansi</artifactId>
<version>${jansi.version}</version>
<type>jnilib</type>
<scope>runtime</scope>
</dependency>
</dependencies>
</project>
+2 -2
View File
@@ -79,8 +79,8 @@
</dependency>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
<version>2.4.0</version>
<artifactId>jansi-min</artifactId>
<version>${jansi.version}</version>
</dependency>
</dependencies>
</project>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RuntimeIdentifier>win-arm64</RuntimeIdentifier>
<SelfContained>true</SelfContained>
</PropertyGroup>
</Project>
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<RuntimeIdentifier>win-x64</RuntimeIdentifier>
<SelfContained>true</SelfContained>
</PropertyGroup>
</Project>
@@ -16,6 +16,7 @@
// feedback@cyberduck.io
//
using System;
using ch.cyberduck.cli;
using ch.cyberduck.core.cryptomator;
using ch.cyberduck.core.serviceloader;
@@ -28,6 +29,7 @@ using Ch.Cyberduck.Core.Preferences;
using Ch.Cyberduck.Core.Proxy;
using java.security;
using sun.security.mscapi;
using JavaSystem = java.lang.System;
namespace Ch.Cyberduck.Cli
{
@@ -48,6 +50,8 @@ namespace Ch.Cyberduck.Cli
{
base.setDefaults();
JavaSystem.setProperty("library.jansi.path", AppContext.BaseDirectory);
this.setDefault("application.language", "en");
Security.addProvider(new SunMSCAPI());
+8 -24
View File
@@ -2,9 +2,10 @@
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net472</TargetFramework>
<Platforms>x64</Platforms>
<RuntimeIdentifiers>win-x64</RuntimeIdentifiers>
<TargetFramework>net8.0-windows10.0.26100.0</TargetFramework>
<RuntimeIdentifiers>win-x64;win-arm64</RuntimeIdentifiers>
<Platforms>x64;arm64</Platforms>
<PublishProfile>win-$(Platform)</PublishProfile>
</PropertyGroup>
<ItemGroup>
@@ -12,22 +13,10 @@
</ItemGroup>
<ItemGroup>
<Content Include="$(CyberduckDir)Acknowledgments.rtf">
<Link>$(Filename)$(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(CyberduckDir)i18n/src/main/resources/en.lproj/License.txt">
<Link>$(Filename)$(Extension)</Link>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="$(TargetBuildDir)lib\jnidispatch.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>$(Filename)$(Extension)</Link>
</Content>
<Content Include="$(TargetBuildDir)lib\vcruntime140*.dll">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
<Link>$(Filename)$(Extension)</Link>
</Content>
<Content Include="$(CyberduckDir)Acknowledgments.rtf" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(CyberduckDir)i18n/src/main/resources/en.lproj/License.txt" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(TargetBuildDir)lib\$(Platform)\jansi.dll" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(TargetBuildDir)lib\$(Platform)\jnidispatch.dll" CopyToOutputDirectory="PreserveNewest" />
<Content Include="$(CyberduckDir)bookmarks/*.duck">
<Link>bookmarks/%(Filename)%(Extension)</Link>
@@ -43,9 +32,4 @@
<None Include="$(CyberduckDir)App.config" Link="App.config" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="IKVM" />
<PackageReference Include="System.Memory" />
</ItemGroup>
</Project>
@@ -45,6 +45,9 @@ public class LinuxTerminalPreferences extends TerminalPreferences {
protected void setDefaults() {
super.setDefaults();
this.setProperty("library.jansi.path", new ClasspathResourcesFinder().find().getAbsolute());
this.setProperty("jna.boot.library.path", new ClasspathResourcesFinder().find().getAbsolute());
try {
final Process echo = Runtime.getRuntime().exec(new String[]{"/bin/sh", "-c", "echo ~"});
this.setDefault("local.user.home", StringUtils.strip(IOUtils.toString(echo.getInputStream(), Charset.defaultCharset())));
@@ -1,29 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util">
<Bundle Name="Cyberduck CLI" Version="$(ProductVersion)" Manufacturer="iterate GmbH" UpgradeCode="46C3FB4E-2B23-4728-8196-BEA25ADE868A" IconSourceFile="$(CyberduckDir)cyberduck-application.ico">
<BootstrapperApplication>
<bal:WixStandardBootstrapperApplication LicenseUrl="" LogoFile="$(CyberduckDir)cyberduck-application.png" LogoSideFile="$(SetupDir)side.png" ThemeFile="InstallerTheme.xml" Theme="hyperlinkSidebarLicense" />
<Payload Name="icon.ico" SourceFile="$(CyberduckDir)cyberduck-application.ico" Compressed="yes" />
</BootstrapperApplication>
<Variable Name="InstallFolder" Type="formatted" Value="[ProgramFiles64Folder]Cyberduck CLI" />
<util:RegistrySearch Id="InstallFolderSearch" Root="HKLM" Key="Software\[WixBundleManufacturer]\[WixBundleName]" Value="InstallDir" Variable="InstallFolder" />
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="Cyberduck CLI" Version="!(bind.packageVersion.Setup)" Manufacturer="iterate GmbH"
UpgradeCode="46C3FB4E-2B23-4728-8196-BEA25ADE868A" IconSourceFile="$(var.CyberduckDir)cyberduck-application.ico">
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.HyperlinkSidebarLicense">
<bal:WixStandardBootstrapperApplication LicenseUrl=""
LogoFile="$(var.SetupDir)banner.png" LogoSideFile="$(var.SetupDir)welcome.bmp" />
</BootstrapperApplicationRef>
<Variable Name="InstallFolder" Type="string" Value="[ProgramFiles64Folder]Cyberduck CLI" />
<util:RegistrySearch Id="PreviousInstallFolderSearch" Root="HKLM" Key="Software\[WixBundleManufacturer]\[WixBundleName]" Value="InstallDir" Variable="PreviousInstallFolder" />
<util:RegistrySearch Id="CurrentBuild" Variable="CBNumber" Result="value" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Value="CurrentBuildNumber"/>
<util:DirectorySearch Path="[PreviousInstallFolder]" Variable="InstallFolder" After="PreviousInstallFolderSearch" Condition="PreviousInstallFolder" />
<bal:Condition Message="Windows 10 Anniversary Update (14393) or later is required to run this application.">
<![CDATA[VersionNT >= v10.0 AND CBNumber >= 14393]]>
</bal:Condition>
<bal:Condition Message="Windows 10 Anniversary Update (14393) or later is required to run this application." Condition="WindowsBuildNumber &gt;= 14393" />
<Chain>
<PackageGroupRef Id="NetFx472Web" />
<RollbackBoundary />
<MsiPackage
Id="Setup"
Compressed="yes"
SourceFile="$(var.CLI-WiX.TargetPath)"
Vital="yes">
<MsiPackage Id="Setup.arm64" Compressed="yes" SourceFile="!(bindpath.duck.bundle.arm64)\$(TargetName)-arm64.msi" Vital="yes" bal:PrimaryPackageType="arm64" InstallCondition="NativeMachine = 43620">
<!-- NativeMachine=0xAA64 (43620) -->
<MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
</MsiPackage>
<MsiPackage Id="Setup.x64" Compressed="yes" SourceFile="!(bindpath.duck.bundle.x64)\$(TargetName)-x64.msi" Vital="yes" bal:PrimaryPackageType="x64" InstallCondition="NativeMachine = 34404">
<!-- NativeMachine=0x8664 (34404) -->
<MsiProperty Name="INSTALLLOCATION" Value="[InstallFolder]" />
</MsiPackage>
</Chain>
@@ -0,0 +1,134 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. -->
<Theme xmlns="http://wixtoolset.org/schemas/v4/thmutil">
<Font Id="0" Height="-12" Weight="500" Foreground="windowtext" Background="window">Segoe UI</Font>
<Font Id="1" Height="-24" Weight="500" Foreground="windowtext">Segoe UI</Font>
<Font Id="2" Height="-22" Weight="500" Foreground="graytext">Segoe UI</Font>
<Font Id="3" Height="-12" Weight="500" Foreground="windowtext" Background="window">Segoe UI</Font>
<Window Width="600" Height="450" HexStyle="100a0000" FontId="0" Caption="#(loc.Caption)" IconFile="icon.ico">
<Page Name="Help">
<Label X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="64" Height="64" ImageFile="logo.png"/>
<Label X="11" Y="80" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.HelpHeader)</Label>
<Label X="11" Y="121" Width="-11" Height="-35" FontId="3" DisablePrefix="yes">#(loc.HelpText)</Label>
<Button Name="HelpCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.HelpCloseButton)</Text>
<CloseWindowAction />
</Button>
</Page>
<Page Name="Loading">
<Label X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes" Visible="no" Name="CheckingForUpdatesLabel" />
</Page>
<Page Name="Install">
<Label X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Label X="185" Y="50" Width="-11" Height="32" FontId="2" DisablePrefix="yes">#(loc.InstallHeader)</Label>
<Label X="185" Y="91" Width="-11" Height="64" FontId="3" DisablePrefix="yes">
<Text Condition="WixStdBASuppressOptionsUI">#(loc.InstallMessage)</Text>
<Text Condition="NOT WixStdBASuppressOptionsUI">#(loc.InstallMessageOptions)</Text>
</Label>
<Hypertext Name="EulaHyperlink" X="185" Y="-111" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallLicenseLinkText)</Hypertext>
<Label Name="InstallVersion" X="185" Y="-81" Width="-11" Height="17" FontId="3" DisablePrefix="yes" VisibleCondition="WixStdBAShowVersion">#(loc.InstallVersion)</Label>
<Checkbox Name="EulaAcceptCheckbox" X="185" Y="-51" Width="-11" Height="17" TabStop="yes" FontId="3" HideWhenDisabled="yes">#(loc.InstallAcceptCheckbox)</Checkbox>
<Button Name="InstallUpdateButton" X="11" Y="-11" Width="200" Height="23" TabStop="yes" FontId="0" EnableCondition="WixStdBAUpdateAvailable" HideWhenDisabled="yes">#(loc.UpdateButton)</Button>
<Button Name="OptionsButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" VisibleCondition="NOT WixStdBASuppressOptionsUI">
<Text>#(loc.InstallOptionsButton)</Text>
<ChangePageAction Page="Options" />
</Button>
<Button Name="InstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.InstallInstallButton)</Button>
<Button Name="InstallCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.InstallCancelButton)</Text>
<CloseWindowAction />
</Button>
</Page>
<Page Name="Options">
<Label X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="64" Height="64" ImageFile="logo.png"/>
<Label X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.OptionsHeader)</Label>
<Label X="11" Y="121" Width="-11" Height="17" FontId="3">#(loc.OptionsLocationLabel)</Label>
<Editbox Name="InstallFolder" X="11" Y="143" Width="-91" Height="21" TabStop="yes" FontId="3" FileSystemAutoComplete="yes" />
<Button Name="BrowseButton" X="-11" Y="142" Width="75" Height="23" TabStop="yes" FontId="3">
<Text>#(loc.OptionsBrowseButton)</Text>
<BrowseDirectoryAction VariableName="InstallFolder" />
</Button>
<Button Name="OptionsOkButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.OptionsOkButton)</Text>
<ChangePageAction Page="Install" />
</Button>
<Button Name="OptionsCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.OptionsCancelButton)</Text>
<ChangePageAction Page="Install" Cancel="yes" />
</Button>
</Page>
<Page Name="Progress">
<Label X="80" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="64" Height="64" ImageFile="logo.png"/>
<Label X="11" Y="80" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ProgressHeader)</Label>
<Label X="11" Y="141" Width="70" Height="17" FontId="3" DisablePrefix="yes">#(loc.ProgressLabel)</Label>
<Label Name="OverallProgressPackageText" X="85" Y="141" Width="-11" Height="17" FontId="3" DisablePrefix="yes">#(loc.OverallProgressPackageText)</Label>
<Progressbar Name="OverallCalculatedProgressbar" X="11" Y="163" Width="-11" Height="20" />
<Button Name="ProgressCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ProgressCancelButton)</Button>
</Page>
<Page Name="Modify">
<Label X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Label X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">#(loc.ModifyHeader)</Label>
<Button Name="ModifyUpdateButton" X="11" Y="-11" Width="200" Height="23" TabStop="yes" FontId="0" EnableCondition="WixStdBAUpdateAvailable" HideWhenDisabled="yes">#(loc.UpdateButton)</Button>
<Button Name="RepairButton" X="-171" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.ModifyRepairButton)</Button>
<Button Name="UninstallButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">#(loc.ModifyUninstallButton)</Button>
<Button Name="ModifyCancelButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.ModifyCancelButton)</Text>
<CloseWindowAction />
</Button>
</Page>
<Page Name="Success">
<Label X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Label X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">
<Text>#(loc.SuccessHeader)</Text>
<Text Condition="WixBundleAction = 2">#(loc.SuccessLayoutHeader)</Text>
<Text Condition="WixBundleAction = 3">#(loc.SuccessUnsafeUninstallHeader)</Text>
<Text Condition="WixBundleAction = 4">#(loc.SuccessUninstallHeader)</Text>
<Text Condition="WixBundleAction = 5">#(loc.SuccessCacheHeader)</Text>
<Text Condition="WixBundleAction = 6">#(loc.SuccessInstallHeader)</Text>
<Text Condition="WixBundleAction = 7">#(loc.SuccessModifyHeader)</Text>
<Text Condition="WixBundleAction = 8">#(loc.SuccessRepairHeader)</Text>
</Label>
<Button Name="LaunchButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessLaunchButton)</Button>
<Label X="185" Y="-51" Width="400" Height="34" FontId="3" DisablePrefix="yes" VisibleCondition="WixStdBARestartRequired">
<Text>#(loc.SuccessRestartText)</Text>
<Text Condition="WixBundleAction = 3">#(loc.SuccessUninstallRestartText)</Text>
</Label>
<Button Name="SuccessRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.SuccessRestartButton)</Button>
<Button Name="SuccessCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.SuccessCloseButton)</Text>
<CloseWindowAction />
</Button>
</Page>
<Page Name="Failure">
<Label X="185" Y="11" Width="-11" Height="32" FontId="1" DisablePrefix="yes">#(loc.Title)</Label>
<ImageControl X="11" Y="11" Width="165" Height="400" ImageFile="logoside.png"/>
<Label X="185" Y="50" Width="-11" Height="30" FontId="2" DisablePrefix="yes">
<Text>#(loc.FailureHeader)</Text>
<Text Condition="WixBundleAction = 2">#(loc.FailureLayoutHeader)</Text>
<Text Condition="WixBundleAction = 3">#(loc.FailureUnsafeUninstallHeader)</Text>
<Text Condition="WixBundleAction = 4">#(loc.FailureUninstallHeader)</Text>
<Text Condition="WixBundleAction = 5">#(loc.FailureCacheHeader)</Text>
<Text Condition="WixBundleAction = 6">#(loc.FailureInstallHeader)</Text>
<Text Condition="WixBundleAction = 7">#(loc.FailureModifyHeader)</Text>
<Text Condition="WixBundleAction = 8">#(loc.FailureRepairHeader)</Text>
</Label>
<Hypertext Name="FailureLogFileLink" X="185" Y="121" Width="-11" Height="68" FontId="3" TabStop="yes" HideWhenDisabled="yes">#(loc.FailureHyperlinkLogText)</Hypertext>
<Hypertext Name="FailureMessageText" X="185" Y="-115" Width="-11" Height="80" FontId="3" TabStop="yes" HideWhenDisabled="yes" />
<Label X="185" Y="-57" Width="-11" Height="80" FontId="3" DisablePrefix="yes" VisibleCondition="WixStdBARestartRequired">#(loc.FailureRestartText)</Label>
<Button Name="FailureRestartButton" X="-91" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0" HideWhenDisabled="yes">#(loc.FailureRestartButton)</Button>
<Button Name="FailureCloseButton" X="-11" Y="-11" Width="75" Height="23" TabStop="yes" FontId="0">
<Text>#(loc.FailureCloseButton)</Text>
<CloseWindowAction />
</Button>
</Page>
</Window>
</Theme>
@@ -1,74 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" TreatAsLocalProperty="SignOutput" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)'))" />
<Project Sdk="WixToolset.Sdk">
<PropertyGroup>
<ProductVersion>3.14</ProductVersion>
<ProjectGuid>ef87de0e-bc36-4d3c-8852-c8ad11d01f04</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>duck-$(Version)</OutputName>
<OutputName>duck-$(FileVersion)</OutputName>
<OutputType>Bundle</OutputType>
<DefineConstants>CyberduckDir=$(CyberduckDir);SetupDir=$(SetupDir)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">false</SignOutput>
<DefineConstants>Debug;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">true</SignOutput>
<DefineConstants>CyberduckDir=$(CyberduckDir);SetupDir=$(SetupDir);ProductVersion=$(FileVersion);$(DefineConstants)</DefineConstants>
</PropertyGroup>
<ItemGroup>
<Compile Include="Cyberduck CLI Bundle.wxs" />
</ItemGroup>
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)Microsoft.Cpp.MSVC.Toolset.Common.props" />
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)'))" />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.14 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
<ItemGroup>
<WixExtension Include="WixNetFxExtension">
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
<Name>WixNetFxExtension</Name>
</WixExtension>
<WixExtension Include="WixBalExtension">
<HintPath>$(WixExtDir)\WixBalExtension.dll</HintPath>
<Name>WixBalExtension</Name>
</WixExtension>
<WixExtension Include="WixUtilExtension">
<HintPath>$(WixExtDir)\WixUtilExtension.dll</HintPath>
<Name>WixUtilExtension</Name>
</WixExtension>
<PackageReference Include="WixToolset.Bal.wixext" />
<PackageReference Include="WixToolset.Util.wixext" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Bundle\duck.bundle.wixproj">
<Name>CLI-WiX</Name>
<Project>{f6975079-f730-4a31-9909-de536e524764}</Project>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference>
<ProjectReference Include="../Bundle/duck.bundle.wixproj" Platforms="arm64;x64" />
</ItemGroup>
<Target Name="SignBundleEngine" DependsOnTargets="SignToolArgs">
<Exec Command="$(SignToolArgs) &quot;@(SignBundleEngine)&quot;" EnvironmentVariables="@(SignToolEnvironmentVariable)" />
</Target>
<Target Name="SignBundle" DependsOnTargets="SignToolArgs">
<Exec Command="$(SignToolArgs) &quot;@(SignBundle)&quot;" EnvironmentVariables="@(SignToolEnvironmentVariable)" />
</Target>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
+23 -126
View File
@@ -1,132 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="*" Name="Cyberduck CLI" Language="1033" Version="!(bind.FileVersion.product.exe)" Manufacturer="iterate GmbH"
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Package Name="Cyberduck CLI"
Manufacturer="iterate GmbH"
Version="$(ProductVersion)"
UpgradeCode="98B2B672-3720-4CAC-BF3E-220757500AE0">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<Property Id="REINSTALLMODE" Value="dmus"/>
<MediaTemplate EmbedCab="true" />
<Property Id="BUILDVERSION" Value="0" Secure="yes">
<RegistrySearch Id="BuildVersion" Root="HKLM" Key="SOFTWARE\Microsoft\Windows NT\CurrentVersion" Type="raw" Name="CurrentBuild" />
</Property>
<StandardDirectory Id="ProgramFiles64Folder">
<Directory Id="INSTALLFOLDER"
Name="!(bind.Property.ProductName)">
<Files Include="$(duck.TargetDir)**">
<Exclude Files="$(duck.TargetDir)**.pdb" />
</Files>
<Condition Message="Windows 10 Anniversary Update (14393) or later is required to run this application.">
<![CDATA[BUILDVERSION >= 14393]]>
</Condition>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ProgramFiles64Folder">
<Directory Id="INSTALLLOCATION" Name="Cyberduck CLI">
<Component Id="setEnviroment"
Guid="B429556B-9604-45DD-896C-4AE7BFFBE9EB">
<CreateFolder />
<Environment Id="PathVar"
Action="set"
Part="last"
Name="PATH"
Permanent="no"
System="yes"
Value="[INSTALLLOCATION]" />
</Component>
<Directory Id="PROFILES" Name="profiles"/>
</Directory>
<Component Id="SetEnvironment"
Guid="B429556B-9604-45DD-896C-4AE7BFFBE9EB">
<Environment Id="PathVar"
Action="set"
Part="last"
Name="PATH"
Permanent="no"
System="yes"
Value="[INSTALLFOLDER]" />
</Component>
</Directory>
</Directory>
<ComponentGroup Id="ProductComponents" Directory="INSTALLLOCATION">
<Component Id="InstallLocationRegistrySearch">
<RegistryValue Root="HKLM" Key="Software\[Manufacturer]\[ProductName]" Name="InstallDir" Type="string" Value="[INSTALLLOCATION]" KeyPath="yes" />
</Component>
<Component Id="ProductExe" Guid="6D84843D-842B-4462-BF91-803D195AD0DB">
<File Id="product.exe" Source="$(var.CLIPublishDir)duck.exe" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="ProductExe.Config" Guid="CFC37A9B-0CD5-439B-BFB5-A3176D6500A1">
<File Source="$(var.CLIPublishDir)duck.exe.config" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="license" Guid="DF374856-F6F7-4520-A332-803CB0826593">
<File Source="$(var.LicenseFile)" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="acknowledgments" Guid="95A3AF7B-D782-47C5-9AEE-398DEE02D222">
<File Source="$(var.CyberduckDir)Acknowledgments.rtf" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="Cyberduck.Cli" Guid="811AEB4A-4751-428E-9116-9F7396C5C2C8">
<File Source="$(var.CLIPublishDir)Cyberduck.Cli.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="Cyberduck.Core" Guid="058A9F4C-D8E9-43C3-83C1-E0E7439ACD93">
<File Source="$(var.CLIPublishDir)Cyberduck.Core.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="Cyberduck.Protocols" Guid="A27F0196-0678-4AE6-9BD6-3EFD6EB1507A">
<File Source="$(var.CLIPublishDir)Cyberduck.Protocols.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="Cyberduck.Cryptomator" Guid="06296D3F-6A87-4E56-A346-53C7B5368E39">
<File Source="$(var.CLIPublishDir)Cyberduck.Cryptomator.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="Cyberduck.Core.Native" Guid="678E99DD-6943-495D-8742-ECE21846365D">
<File Source="$(var.CLIPublishDir)Cyberduck.Core.Native.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<!-- IKVM -->
<Component Id="IKVM.ByteCode.dll">
<File Source="$(var.CLIPublishDir)IKVM.ByteCode.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="IKVM.CoreLib.dll">
<File Source="$(var.CLIPublishDir)IKVM.CoreLib.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="ikvm.dll">
<File Source="$(var.CLIPublishDir)ikvm.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="IKVM.Java.dll">
<File Source="$(var.CLIPublishDir)IKVM.Java.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="ikvm.properties">
<File Source="$(var.CLIPublishDir)ikvm.properties" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="IKVM.Runtime.dll">
<File Source="$(var.CLIPublishDir)IKVM.Runtime.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="IKVM.Reflection.dll">
<File Source="$(var.CLIPublishDir)IKVM.Reflection.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="jnidispatch" Guid="B6621775-1A9A-461E-83B8-BB1EE34B5965">
<File Source="$(var.CLIPublishDir)jnidispatch.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="vcruntime140">
<File Source="$(var.CLIPublishDir)vcruntime140.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="vcruntime140_1">
<File Source="$(var.CLIPublishDir)vcruntime140_1.dll" KeyPath="yes" Checksum="yes"/>
</Component>
<Component Id="System.Buffers">
<File Source="$(var.CLIPublishDir)System.Buffers.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Memory">
<File Source="$(var.CLIPublishDir)System.Memory.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Numerics.Vectors">
<File Source="$(var.CLIPublishDir)System.Numerics.Vectors.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Runtime.CompilerServices.Unsafe">
<File Source="$(var.CLIPublishDir)System.Runtime.CompilerServices.Unsafe.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Text.Json">
<File Source="$(var.CLIPublishDir)System.Text.Json.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Collections.Immutable">
<File Source="$(var.CLIPublishDir)System.Collections.Immutable.dll" KeyPath="yes" Checksum="yes" />
</Component>
<Component Id="System.Reflection.Metadata">
<File Source="$(var.CLIPublishDir)System.Reflection.Metadata.dll" KeyPath="yes" Checksum="yes" />
</Component>
</ComponentGroup>
<Feature Id="ProductFeature" Title="CLI_WiX" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentGroupRef Id="ProfileComponents" />
<ComponentGroupRef Id="IkvmRuntime" />
<ComponentRef Id="setEnviroment" />
</Feature>
</Product>
</StandardDirectory>
</Package>
</Wix>
+5 -104
View File
@@ -1,112 +1,13 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" InitialTargets="EnsureWixToolsetInstalled" TreatAsLocalProperty="SignOutput" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.props', '$(MSBuildThisFileDirectory)'))" />
<Project Sdk="WixToolset.Sdk">
<PropertyGroup>
<ProductVersion>3.11</ProductVersion>
<ProjectGuid>f6975079-f730-4a31-9909-de536e524764</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion>
<OutputName>duck-$(Version)</OutputName>
<OutputType>Package</OutputType>
<InstallerPlatform>x64</InstallerPlatform>
<OutputName>duck-$(FileVersion)-$(Platform)</OutputName>
<Platforms>x64;arm64</Platforms>
<DefineConstants>
CyberduckDir=$(CyberduckDir);
ProfilesDir=$(CyberduckDir)profiles\default\;
LicenseFile=$(CyberduckDir)i18n/src/main/resources/en.lproj/License.txt;
$(DefineConstants)
</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">false</SignOutput>
<DefineConstants>Debug;$(DefineConstants)</DefineConstants>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">true</SignOutput>
</PropertyGroup>
<ItemGroup>
<Compile Include="Cyberduck CLI-WiX.wxs" />
</ItemGroup>
<ItemGroup>
<WixExtension Include="WixNetFxExtension">
<HintPath>$(WixExtDir)\WixNetFxExtension.dll</HintPath>
<Name>WixNetFxExtension</Name>
</WixExtension>
</ItemGroup>
<ItemGroup>
<HarvestDirectory Include="$(CyberduckDir)profiles\default" SuppressRootDirectory="true" SuppressCom="true" SuppressRegistry="true">
<Link>Profiles</Link>
<DirectoryRefId>PROFILES</DirectoryRefId>
<ComponentGroupName>ProfileComponents</ComponentGroupName>
<PreprocessorVariable>var.ProfilesDir</PreprocessorVariable>
</HarvestDirectory>
</ItemGroup>
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="$(VCTargetsPath)Microsoft.Cpp.MSVC.Toolset.Common.props" />
<Import Project="$(WixTargetsPath)" Condition=" '$(WixTargetsPath)' != '' " />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets" Condition=" '$(WixTargetsPath)' == '' AND Exists('$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets') " />
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.targets', '$(MSBuildThisFileDirectory)'))" />
<Target Name="EnsureWixToolsetInstalled" Condition=" '$(WixTargetsImported)' != 'true' ">
<Error Text="The WiX Toolset v3.11 (or newer) build tools must be installed to build this project. To download the WiX Toolset, see http://wixtoolset.org/releases/" />
</Target>
<PropertyGroup>
<CLIPublishDir>$(IntermediateOutputPath)CLI\</CLIPublishDir>
<DefineConstants>
CLIPublishDir=$(CLIPublishDir);
IkvmRuntimeDir=$(CLIPublishDir)\ikvm;
ProductVersion=$(FileVersion);
$(DefineConstants)
</DefineConstants>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\csharp\duck.csproj">
<Name>CLI</Name>
<Project>{4b14000d-f435-4eca-a119-7aef03792dee}</Project>
<Targets>Publish</Targets>
<Private>True</Private>
<DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir>
<AdditionalProperties>PublishDir=$(CLIPublishDir);RuntimeIdentifier=win-x64</AdditionalProperties>
</ProjectReference>
<HarvestDirectory Include="$(CLIPublishDir)ikvm" SuppressCom="true" SuppressRegistry="true">
<Link>ikvm</Link>
<DirectoryRefId>INSTALLLOCATION</DirectoryRefId>
<ComponentGroupName>IkvmRuntime</ComponentGroupName>
<PreprocessorVariable>var.IkvmRuntimeDir</PreprocessorVariable>
</HarvestDirectory>
<ProjectReference Include="..\..\csharp\duck.csproj" SetPlatform="Platform=$(Platform)" Publish="true" />
</ItemGroup>
<Target Name="SignMsi" DependsOnTargets="SignToolArgs">
<Exec Command="$(SignToolArgs) &quot;%(SignMsi.FullPath)&quot;" EnvironmentVariables="@(SignToolEnvironmentVariable)" />
</Target>
<!--
To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets.
-->
<Target Name="BundlePayloadExecutable" Returns="@(BundlePayloadExecutable)">
<ItemGroup>
<BundlePayloadExecutable Include="$(CLIPublishDir)**\*.dll;$(CLIPublishDir)**\*.exe" />
</ItemGroup>
</Target>
<Target Name="CollectSignPayload" DependsOnTargets="BundlePayloadExecutable;SignToolArgs" Outputs="%(BundlePayloadExecutable.Identity)" Returns="@(SignBundlePayload)">
<Exec Command="%22$(SignToolExecutable)%22 verify /q /pa %22%(BundlePayloadExecutable.Identity)%22"
EnvironmentVariables="@(SignToolEnvironmentVariable)"
IgnoreStandardErrorWarningFormat="true"
IgnoreExitCode="true">
<Output TaskParameter="ExitCode" PropertyName="PayloadSigned" />
</Exec>
<ItemGroup>
<SignBundlePayload Include="@(BundlePayloadExecutable)" Condition="'$(PayloadSigned)'!='0'" />
</ItemGroup>
</Target>
<Target Name="SignPayload" Condition=" '$(SignOutput)' == 'true' " DependsOnTargets="CollectSignPayload;SignToolArgs" AfterTargets="Compile" BeforeTargets="Link">
<Exec Command="$(SignToolArgs) @(SignBundlePayload->'%22%(Identity)%22', ' ')" EnvironmentVariables="@(SignToolEnvironmentVariable)" Condition="'@(SignBundlePayload)'!=''" />
</Target>
</Project>
+8 -9
View File
@@ -15,15 +15,14 @@
<Project>
<PropertyGroup>
<_CliBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/</_CliBasePath>
</PropertyGroup>
<Import Project="$(_CliBasePath)windows/Directory.Build.props" />
<PropertyGroup>
<_CliBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/</_CliBasePath>
</PropertyGroup>
<Import Project="$(_CliBasePath)windows/Directory.Build.props" />
<PropertyGroup>
<OutputPath>$(OutputPath)$(Configuration)</OutputPath>
<SetupDir>$(CyberduckDir)setup\wix\</SetupDir>
<OutDir>$(OutputPath)</OutDir>
</PropertyGroup>
<PropertyGroup>
<OutputPath>$(BaseOutputPath)$(Configuration)\</OutputPath>
<SetupDir>$(CyberduckDir)setup\wix\</SetupDir>
</PropertyGroup>
</Project>
-1
View File
@@ -17,7 +17,6 @@
<PropertyGroup>
<ModulePath Condition="'$(ModulePath)'==''">$(MSBuildThisFileDirectory)</ModulePath>
<AppendTargetFrameworkToOutputPath>false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<Import Project="$([MSBuild]::GetPathOfFileAbove('Directory.Build.Props', $(MSBuildThisFileDirectory)../))" />
+4 -5
View File
@@ -23,7 +23,7 @@
<property name="chocolatey.target" value="${build.deploy}"/>
<target name="restore" depends="msbuild">
<msbuild buildfile="build.proj">
<msbuild buildfile="dirs.proj">
<target name="Restore"/>
<property name="Exe" value="true"/>
@@ -32,7 +32,7 @@
</target>
<target name="build" depends="restore,msbuild">
<msbuild buildfile="build.proj">
<msbuild buildfile="dirs.proj">
<target name="Build"/>
<property name="Configuration" value="${msbuild.configuration}"/>
@@ -40,11 +40,10 @@
</msbuild>
</target>
<target name="package" depends="restore,msbuild">
<msbuild buildfile="build.proj">
<target name="package" depends="msbuild">
<msbuild buildfile="dirs.proj">
<target name="Build"/>
<property name="BuildProjectReferences" value="false"/>
<property name="Configuration" value="${msbuild.configuration}"/>
<property name="Installer" value="true" />
</msbuild>
@@ -2,10 +2,12 @@
<ItemGroup Condition=" '$(Exe)'=='True' ">
<ProjectReference Include="..\src\main\csharp\duck.csproj" SetPlatform="Platform=x64" />
<ProjectReference Include="..\src\main\csharp\duck.csproj" SetPlatform="Platform=arm64" />
</ItemGroup>
<ItemGroup Condition=" '$(Installer)'=='True' ">
<ProjectReference Include="..\src\main\wix\Bundle\duck.bundle.wixproj" />
<ProjectReference Include="..\src\main\wix\Bundle\duck.bundle.wixproj" SetPlatform="Platform=x64" />
<ProjectReference Include="..\src\main\wix\Bundle\duck.bundle.wixproj" SetPlatform="Platform=arm64" />
<ProjectReference Include="..\src\main\wix\Bootstrapper\duck.bootstrapper.wixproj" />
</ItemGroup>
+60 -41
View File
@@ -34,6 +34,66 @@
<family>Windows</family>
</os>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>pack-nupkg</id>
<phase>none</phase>
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<type>nupkg</type>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Protocols</artifactId>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Cryptomator</artifactId>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Cli</artifactId>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
</profile>
<profile>
<id>installer</id>
<activation>
<property>
<name>env.JENKINS_HOME</name>
</property>
<os>
<family>Windows</family>
</os>
</activation>
<build>
<plugins>
<plugin>
@@ -74,49 +134,8 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Protocols</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Cryptomator</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Cli</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
</dependencies>
</profile>
</profiles>
</project>
@@ -4,10 +4,11 @@
<TargetFrameworks>net472;net8.0</TargetFrameworks>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
+4 -4
View File
@@ -15,10 +15,10 @@
<Project>
<PropertyGroup>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<PropertyGroup>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<Import Project="../Directory.Build.props" />
<Import Project="../Directory.Build.props" />
</Project>
+11 -3
View File
@@ -24,13 +24,21 @@
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Core.msbuildproj">
<msbuild buildfile="Cyberduck.Core.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Core.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Core.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Core.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+8 -22
View File
@@ -50,22 +50,16 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<phase>verify</phase>
<id>install-nupkg</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Core.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0/Cyberduck.Core.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Core.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -103,19 +97,11 @@
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.microsoft</groupId>
<artifactId>vcruntime140</artifactId>
<classifier>x64</classifier>
<groupId>net.java.dev.jna</groupId>
<artifactId>jnidispatch</artifactId>
<classifier>aarch64</classifier>
<type>dll</type>
<version>14.44.35211</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.microsoft</groupId>
<artifactId>vcruntime140_1</artifactId>
<classifier>x64</classifier>
<type>dll</type>
<version>14.44.35211</version>
<version>${jna-version}</version>
<scope>runtime</scope>
</dependency>
</dependencies>
+1
View File
@@ -5,6 +5,7 @@
<LangVersion>9.0</LangVersion>
<RootNamespace>i18n_gen</RootNamespace>
<UseWindowsForms>True</UseWindowsForms>
<SignOutput>false</SignOutput>
</PropertyGroup>
<ItemGroup>
+9 -8
View File
@@ -1,18 +1,19 @@
<Project>
<PropertyGroup>
<i18n_gen_dll>$(CyberduckDir)core\target\netstandard2.0\i18n-gen.dll</i18n_gen_dll>
<i18n_gen_dll>$(CyberduckDir)core\target\i18n-gen.dll</i18n_gen_dll>
</PropertyGroup>
<UsingTask TaskName="ResourceGenTask"
AssemblyFile="$(i18n_gen_dll)"
TaskFactory="TaskHostFactory" />
AssemblyFile="$(i18n_gen_dll)"
TaskFactory="TaskHostFactory" />
<UsingTask TaskName="ImageDiscoverTask"
AssemblyFile="$(i18n_gen_dll)"
TaskFactory="TaskHostFactory" />
AssemblyFile="$(i18n_gen_dll)"
TaskFactory="TaskHostFactory" />
<ItemGroup>
<ItemGroup Condition="'$(BuildingInsideVisualStudio)'=='true'">
<ProjectReference Include="$(MSBuildThisFileDirectory)i18n-gen.csproj"
OutputItemType="Analyzer"
ReferenceOutputAssembly="False" />
OutputItemType="Analyzer"
ReferenceOutputAssembly="False"
SetPlatform="Platform=" />
</ItemGroup>
</Project>
+4 -4
View File
@@ -15,10 +15,10 @@
<Project>
<PropertyGroup>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<PropertyGroup>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<Import Project="../Directory.Build.props" />
<Import Project="../Directory.Build.props" />
</Project>
+13 -6
View File
@@ -21,27 +21,34 @@
-->
<project name="Cyberduck Native Libraries" basedir=".">
<import file="../../build.xml"/>
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="build.proj">
<target name="Restore"/>
<msbuild buildfile="dirs.proj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" depends="restore,msbuild">
<msbuild buildfile="build.proj">
<target name="Build"/>
<msbuild buildfile="dirs.proj">
<target name="Build" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="src/main/nuget.proj">
<target name="Restore;Pack" />
</msbuild>
</target>
<target name="test" depends="msbuild" unless="${skip}">
<msbuild buildfile="../src/test/csharp/Cyberduck.Core.Test.csproj">
<target name="Test"/>
<target name="Test" />
<property name="Configuration" value="${msbuild.configuration}" />
<property name="Platform" value="x64" />
</msbuild>
</target>
</project>
@@ -2,6 +2,7 @@
<ItemGroup>
<ProjectReference Include="..\i18n-gen\i18n-gen.csproj" />
<ProjectReference Include="..\src\main\csharp\Cyberduck.Core.Native.csproj" SetPlatform="Platform=x64" />
<ProjectReference Include="..\src\main\csharp\Cyberduck.Core.Native.csproj" SetPlatform="Platform=arm64" />
<ProjectReference Include="..\src\test\csharp\Cyberduck.Core.Test.csproj" SetPlatform="Platform=x64" />
</ItemGroup>
</Project>
+4 -18
View File
@@ -32,7 +32,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
@@ -40,14 +40,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Core.Native.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Core.Native.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -83,15 +77,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net8.0</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
+5 -4
View File
@@ -15,10 +15,11 @@
<Project>
<PropertyGroup>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<PropertyGroup>
<AssemblyName>Cyberduck.Core.Refresh</AssemblyName>
<ModulePath Condition=" '$(ModulePath)' == '' ">$(MSBuildThisFileDirectory)</ModulePath>
</PropertyGroup>
<Import Project="../Directory.Build.props" />
<Import Project="../Directory.Build.props" />
</Project>
+9 -3
View File
@@ -24,18 +24,24 @@
<import file="../../../build.xml"/>
<target name="restore" depends="msbuild">
<msbuild buildfile="src/main/csharp/Cyberduck.Core.Refresh.csproj">
<msbuild buildfile="dirs.proj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" depends="restore,msbuild">
<!-- Create DLL Cyberduck.Core.Refresh -->
<msbuild buildfile="src/main/csharp/Cyberduck.Core.Refresh.csproj">
<msbuild buildfile="dirs.proj">
<target name="Build"/>
<property name="Configuration" value="${msbuild.configuration}" />
<property name="Platform" value="x64" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<!-- Create DLL Cyberduck.Core.Refresh -->
<msbuild buildfile="src/main/nuget/nuget.proj">
<target name="Restore;Pack"/>
</msbuild>
</target>
</project>
+6
View File
@@ -0,0 +1,6 @@
<Project Sdk="Microsoft.Build.Traversal">
<ItemGroup>
<ProjectReference Include="src/main/csharp/Cyberduck.Core.Refresh.csproj" SetPlatform="Platform=x64" />
<ProjectReference Include="src/main/csharp/Cyberduck.Core.Refresh.csproj" SetPlatform="Platform=arm64" />
</ItemGroup>
</Project>
+4 -18
View File
@@ -28,7 +28,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
@@ -36,14 +36,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Core.Refresh.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Core.Refresh.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -59,15 +53,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core.Native</artifactId>
<classifier>net8.0</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
@@ -18,7 +18,7 @@
<PropertyGroup>
<TargetFrameworks>net472;net8.0-windows10.0.22621.0</TargetFrameworks>
<TargetPlatformMinVersion>10.0.14393.0</TargetPlatformMinVersion>
<Platforms>x64</Platforms>
<Platforms>x64;arm64</Platforms>
<LangVersion>12.0</LangVersion>
<UseWPF>true</UseWPF>
<UseWindowsForms>true</UseWindowsForms>
@@ -31,7 +31,6 @@
<ItemGroup>
<PackageReference Include="DotNetProjects.Extended.Wpf.Toolkit" />
<PackageReference Include="IKVM" />
<PackageReference Include="Microsoft.Windows.CsWin32">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
@@ -41,10 +40,13 @@
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="ReactiveUI.WPF" />
<PackageReference Include="System.Memory" />
<PackageReference Include="System.Runtime.Caching" />
</ItemGroup>
<ItemGroup Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'">
<PackageReference Include="System.Memory" />
</ItemGroup>
<ItemGroup>
<ImageResource Include="$(CyberduckDir)img\*.png" />
<ImageResource Include="$(CyberduckDir)img\*.tiff" />
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<description>$description$</description>
<authors>$authors$</authors>
<dependencies>
<group>
<dependency id="Cyberduck.Core" version="$version$" />
<dependency id="Cyberduck.Core.Native" version="$version$" />
<dependency id="DotNetProjects.Extended.Wpf.Toolkit" version="$PkgDotNetProjects_Extended_Wpf_ToolkitVersion$" />
<dependency id="ReactiveUI.WPF" version="$PkgReactiveUI_WPFVersion$" />
<dependency id="System.Runtime.Caching" version="$PkgSystem_Runtime_CachingVersion$" />
</group>
<group targetFramework="net472">
<dependency id="System.Memory" version="$PkgSystem_MemoryVersion$" />
</group>
<group targetFramework="net8.0-windows10.0.22621.0">
</group>
</dependencies>
</metadata>
<files>
<file src="$buildDir$x64/net472/Cyberduck.Core.Refresh.dll" target="lib/net472" />
<file src="$buildDir$x64/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.dll" target="lib/net8.0-windows10.0.22621.0/win-x64" />
<file src="$buildDir$arm64/net8.0-windows10.0.22621.0/Cyberduck.Core.Refresh.dll" target="lib/net8.0-windows10.0.22621.0/win-arm64" />
<file src="build/**" target="" />
</files>
</package>
@@ -0,0 +1,7 @@
<Project>
<ItemGroup>
<Reference Include="Cyberduck.Core.Refresh">
<HintPath>$(MSBuildThisFileDirectory)../../lib/net8.0-windows10.0.22621.0/win-$(Platform)/Cyberduck.Core.Refresh.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.Net.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<NoBuild>true</NoBuild>
<IncludeBuildOutput>false</IncludeBuildOutput>
<NuspecFile>Cyberduck.Core.Refresh.nuspec</NuspecFile>
</PropertyGroup>
</Project>
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
<metadata>
<id>$id$</id>
<version>$version$</version>
<description>$description$</description>
<authors>$authors$</authors>
<dependencies>
<group>
<dependency id="Cyberduck.Core" version="$version$" />
<dependency id="Microsoft.Toolkit.Uwp.Notifications" version="$PkgMicrosoft_Toolkit_Uwp_NotificationsVersion$" />
<dependency id="ReactiveUI" version="$PkgReactiveUIVersion$" />
</group>
<group targetFramework="net472">
<dependency id="Microsoft.Windows.SDK.Contracts" version="$PkgMicrosoft_Windows_SDK_ContractsVersion$" />
</group>
<group targetFramework="net8.0-windows10.0.22621.0">
<dependency id="System.Configuration.ConfigurationManager" version="$PkgSystem_Configuration_ConfigurationManagerVersion$" />
<dependency id="System.Security.Cryptography.ProtectedData" version="$PkgSystem_Security_Cryptography_ProtectedDataVersion$" />
</group>
</dependencies>
</metadata>
<files>
<file src="$buildDir$x64/net472/Cyberduck.Core.Native.dll" target="lib/net472" />
<file src="$buildDir$x64/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.dll" target="lib/net8.0-windows10.0.22621.0/win-x64" />
<file src="$buildDir$arm64/net8.0-windows10.0.22621.0/Cyberduck.Core.Native.dll" target="lib/net8.0-windows10.0.22621.0/win-arm64" />
<file src="build/**" target="" />
</files>
</package>
@@ -0,0 +1,20 @@
<!--
~ 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="../../../src/main/csharp/Directory.Build.props" />
</Project>
@@ -0,0 +1,7 @@
<Project>
<ItemGroup>
<Reference Include="Cyberduck.Core.Native">
<HintPath>$(MSBuildThisFileDirectory)../../lib/net8.0-windows10.0.22621.0/win-$(Platform)/Cyberduck.Core.Native.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
+8
View File
@@ -0,0 +1,8 @@
<Project Sdk="Microsoft.Net.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.0</TargetFramework>
<NoBuild>true</NoBuild>
<IncludeBuildOutput>false</IncludeBuildOutput>
<NuspecFile>Cyberduck.Core.Native.nuspec</NuspecFile>
</PropertyGroup>
</Project>
@@ -18,7 +18,7 @@
<PropertyGroup>
<TargetFrameworks>net472;net8.0-windows10.0.22621.0</TargetFrameworks>
<SupportedOSPlatformVersion>10.0.14393.0</SupportedOSPlatformVersion>
<Platforms>x64</Platforms>
<Platforms>x64;arm64</Platforms>
<AllowUnsafeBlocks>true</AllowUnsafeBlocks>
</PropertyGroup>
@@ -27,7 +27,6 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="IKVM" />
<PackageReference Include="Microsoft.Toolkit.Uwp.Notifications" />
<PackageReference Include="Microsoft.Windows.CsWin32">
<PrivateAssets>all</PrivateAssets>
@@ -40,13 +39,13 @@
<PackageReference Include="ReactiveUI" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != '' And $([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net472')) ">
<ItemGroup Condition="'$(TargetFrameworkIdentifier)'=='.NETFramework'">
<PackageReference Include="Microsoft.Windows.SDK.Contracts" />
<Reference Include="Microsoft.VisualBasic" />
<Reference Include="System.Configuration" />
<Reference Include="System.Security" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' != '' And $([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) ">
<ItemGroup Condition="'$(TargetFrameworkIdentifier)'=='.NETCoreApp'">
<PackageReference Include="System.Configuration.ConfigurationManager" />
<PackageReference Include="System.Security.Cryptography.ProtectedData" />
</ItemGroup>
@@ -16,6 +16,7 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<AssemblyName>Cyberduck.Core.Native</AssemblyName>
<_CoreBasePath>$([MSBuild]::GetDirectoryNameOfFileAbove('$(MSBuildThisFileDirectory)../', 'Directory.Build.props'))/</_CoreBasePath>
</PropertyGroup>
@@ -45,8 +45,6 @@ public class ApplicationPreferences<T> : DefaultPreferences
this.locales = locales;
SetEnvironmentInfo();
this.propertyStore = propertyStore.New();
JavaSystem.setProperty("jna.boot.library.path", AppContext.BaseDirectory);
}
public override List applicationLocales() => locales.applicationLocales();
@@ -147,6 +145,8 @@ public class ApplicationPreferences<T> : DefaultPreferences
{
base.setDefaults();
JavaSystem.setProperty("jna.boot.library.path", AppContext.BaseDirectory);
this.setDefault("os.version", Environment.OSVersion.Version.ToString());
this.setDefault("oauth.handler.scheme",
@@ -1,16 +1,15 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;net8.0</TargetFrameworks>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<CyberduckReference Include="Core" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
+12 -4
View File
@@ -15,16 +15,24 @@
-->
<project name="Cyberduck Native Libraries" basedir=".">
<import file="../../build.xml"/>
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Cryptomator.msbuildproj">
<msbuild buildfile="Cyberduck.Cryptomator.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Cryptomator.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Cryptomator.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Cryptomator.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+4 -18
View File
@@ -62,7 +62,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>verify</phase>
<goals>
<goal>attach-artifact</goal>
@@ -70,14 +70,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Cryptomator.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0/Cyberduck.Cryptomator.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Cryptomator.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -96,15 +90,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net8.0</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
+2 -1
View File
@@ -2,6 +2,7 @@
"msbuild-sdks": {
"IKVM.NET.Sdk": "8.13.3",
"Microsoft.Build.NoTargets": "3.7.56",
"Microsoft.Build.Traversal": "4.1.0"
"Microsoft.Build.Traversal": "4.1.0",
"WixToolset.Sdk": "5.0.2"
}
}
@@ -1,16 +1,15 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;net8.0</TargetFrameworks>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<CyberduckReference Include="Core" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
+11 -3
View File
@@ -24,13 +24,21 @@
<import file="../../build.xml"/>
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Importer.msbuildproj">
<msbuild buildfile="Cyberduck.Importer.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Importer.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Importer.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Importer.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+4 -18
View File
@@ -47,7 +47,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>verify</phase>
<goals>
<goal>attach-artifact</goal>
@@ -55,14 +55,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Importer.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0/Cyberduck.Importer.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Importer.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -81,15 +75,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net8.0</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
+3 -3
View File
@@ -7,13 +7,13 @@
<add key="gh-ikvmnet" value="https://nuget.pkg.github.com/ikvmnet/index.json" protocolVersion="3" />
</packageSources>
<packageSourceMapping>
<packageSource key="MavenFailNuget">
<package pattern="Cyberduck*" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="IKVM.ByteCode" />
<package pattern="*" />
</packageSource>
<packageSource key="gh-ikvmnet">
<package pattern="IKVM*" />
</packageSource>
<packageSource key="gh-iterate-ch">
<package pattern="iterate-ch.*" />
</packageSource>
+68 -7
View File
@@ -94,6 +94,7 @@
<jwt.version>4.5.0</jwt.version>
<java-native-dll>8u312b07</java-native-dll>
<rococoa-version>0.10.0</rococoa-version>
<jansi.version>2.4.2</jansi.version>
<surefire.group.excluded>ch.cyberduck.test.IntegrationTest</surefire.group.excluded>
<surefire.exclude>ch.cyberduck.core.cryptomator.SFTPCryptomatorInteroperabilityTest</surefire.exclude>
</properties>
@@ -644,35 +645,35 @@
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<excludeClassifiers>net472,net8.0</excludeClassifiers>
<excludeClassifiers>net472,net8.0,net8.0-x64,net8.0-arm64,aarch64,arm64,x86_64</excludeClassifiers>
<includeTypes>dll</includeTypes>
<stripClassifier>true</stripClassifier>
<stripVersion>true</stripVersion>
</configuration>
</execution>
<execution>
<id>copy-dependencies-dll-net472-target</id>
<id>copy-dependencies-dll-x64-target</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/net472</outputDirectory>
<classifier>net472</classifier>
<outputDirectory>${project.build.directory}/lib/x64</outputDirectory>
<includeClassifiers>x86_64</includeClassifiers>
<includeTypes>dll</includeTypes>
<stripClassifier>true</stripClassifier>
<stripVersion>true</stripVersion>
</configuration>
</execution>
<execution>
<id>copy-dependencies-dll-net8.0-target</id>
<id>copy-dependencies-dll-arm64-target</id>
<phase>generate-sources</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib/net8.0</outputDirectory>
<classifier>net8.0</classifier>
<outputDirectory>${project.build.directory}/lib/arm64</outputDirectory>
<includeClassifiers>aarch64,arm64</includeClassifiers>
<includeTypes>dll</includeTypes>
<stripClassifier>true</stripClassifier>
<stripVersion>true</stripVersion>
@@ -1073,6 +1074,18 @@
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>generate-nupkgs</id>
<phase>generate-sources</phase>
<goals>
<goal>resolve</goal>
</goals>
<configuration>
<outputFile>${project.build.directory}/.nuget/packages.list</outputFile>
<outputAbsoluteArtifactFilename>true</outputAbsoluteArtifactFilename>
<includeTypes>nupkg</includeTypes>
</configuration>
</execution>
<execution>
<id>copy-dependencies-jar-target</id>
<configuration>
@@ -1083,6 +1096,54 @@
</execution>
</executions>
</plugin>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>unpack-nupkg</id>
<phase>process-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="home" value="${main.basedir}" />
<ant antfile="${project.basedir}/build.xml" target="nuget-unpack" dir="." />
</target>
</configuration>
</execution>
<execution>
<id>run-msbuild-props-target</id>
<phase>generate-sources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="home" value="${main.basedir}" />
<property name="version" value="${project.version}" />
<property name="revision" value="${git.commitsCount}" />
<property name="hash" value="${git.revision}" />
<property name="sparkle.feed" value="${sparkle.feed}" />
<ant antfile="${project.basedir}/build.xml" target="msbuild-props" dir="." />
</target>
</configuration>
</execution>
<execution>
<id>pack-nupkg</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<property name="home" value="${main.basedir}" />
<ant antfile="${project.basedir}/build.xml" target="pack" dir="." />
</target>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
</build>
@@ -1,16 +1,15 @@
<Project Sdk="IKVM.NET.Sdk">
<PropertyGroup>
<TargetFrameworks>net472;net8.0</TargetFrameworks>
</PropertyGroup>
<Import Project="$(BuildSupportDir)Cyberduck.Java.props" />
<ItemGroup>
<CyberduckReference Include="Core" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates" />
<PackageReference Include="iterate-ch.IKVM.MSBuild.SkipDuplicates">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<Convert Include="$(TargetBuildDir)*.jar" />
</ItemGroup>
</Project>
+12 -4
View File
@@ -21,16 +21,24 @@
-->
<project name="Cyberduck Native Libraries" basedir=".">
<import file="../../build.xml"/>
<import file="../../build.xml" />
<target name="restore" depends="msbuild">
<msbuild buildfile="Cyberduck.Protocols.msbuildproj">
<msbuild buildfile="Cyberduck.Protocols.ikvmproj">
<target name="Restore" />
</msbuild>
</target>
<target name="build" if="platform.windows" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Protocols.msbuildproj">
<target name="build" depends="restore,msbuild">
<msbuild buildfile="Cyberduck.Protocols.ikvmproj">
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
<target name="pack" depends="msbuild">
<msbuild buildfile="Cyberduck.Protocols.ikvmproj">
<target name="Pack" />
<property name="Configuration" value="${msbuild.configuration}" />
</msbuild>
</target>
+4 -18
View File
@@ -47,7 +47,7 @@
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>install-dll</id>
<id>install-nupkg</id>
<phase>verify</phase>
<goals>
<goal>attach-artifact</goal>
@@ -55,14 +55,8 @@
<configuration>
<artifacts>
<artifact>
<classifier>net472</classifier>
<type>dll</type>
<file>${project.build.directory}/net472/Cyberduck.Protocols.dll</file>
</artifact>
<artifact>
<classifier>net8.0</classifier>
<type>dll</type>
<file>${project.build.directory}/net8.0/Cyberduck.Protocols.dll</file>
<type>nupkg</type>
<file>${project.build.directory}/Cyberduck.Protocols.${project.version}.nupkg</file>
</artifact>
</artifacts>
</configuration>
@@ -81,15 +75,7 @@
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net472</classifier>
<type>dll</type>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ch.cyberduck</groupId>
<artifactId>Cyberduck.Core</artifactId>
<classifier>net8.0</classifier>
<type>dll</type>
<type>nupkg</type>
<version>${project.version}</version>
</dependency>
</dependencies>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 151 KiB

@@ -0,0 +1,15 @@
<Project>
<PropertyGroup Condition="'$(Platforms)'=='AnyCPU'">
<OutputPath>$(BaseOutputPath)</OutputPath>
</PropertyGroup>
<PropertyGroup>
<AppendTargetFrameworkToOutputPath Condition="'$(TargetFrameworks)'==''">false</AppendTargetFrameworkToOutputPath>
</PropertyGroup>
<PropertyGroup>
<OutputPath Condition="'$(OutputPath)'=='' And '$(Platform)'=='AnyCPU'">$(BaseOutputPath)</OutputPath>
<OutputPath Condition="'$(OutputPath)'=='' And '$(Platform)'!='AnyCPU'">$(BaseOutputPath)$(Platform)\</OutputPath>
</PropertyGroup>
</Project>
+56
View File
@@ -0,0 +1,56 @@
<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\$(MSBuildProjectName)\</BaseIntermediateOutputPath>
<BaseOutputPath>$(ArtifactsPath)</BaseOutputPath>
<AppendRuntimeIdentifierToOutputPath>false</AppendRuntimeIdentifierToOutputPath>
<LangVersion>12</LangVersion>
<!--
NuGet hates same-version packages (i.e. -SNAPSHOT).
With some Maven-trickery (and PowerShell) extract the .nupkg from Maven
Into a common folder (ModulePath\target\.nuget\packages), and specify as fallback folder.
Now, NuGet will first check in this folder, before checking in nuget.config
for suitable remotes - which is set to a non-existing source, for fast build failure:
<packageSource key="MavenFailNuget">
<package pattern="Cyberduck*" />
</packageSource>
As Maven is enforcing dependency versions here this is safe.
-->
<RestoreAdditionalProjectFallbackFolders Condition="Exists('$(TargetBuildDir).nuget\packages\')">$(TargetBuildDir).nuget\packages\;$(RestoreAdditionalProjectFallbackFolders)</RestoreAdditionalProjectFallbackFolders>
</PropertyGroup>
<Import Project="$(GeneratedMSBuildDir)Version.props" Condition="Exists('$(GeneratedMSBuildDir)Version.props')" />
<ItemDefinitionGroup>
<CyberduckReference>
<ProjectPath />
</CyberduckReference>
</ItemDefinitionGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">false</SignOutput>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
<SignOutput Condition=" '$(SignOutput)' == '' ">true</SignOutput>
</PropertyGroup>
<PropertyGroup>
<PreferredToolArchitecture>x64</PreferredToolArchitecture>
</PropertyGroup>
<Import Project="Cyberduck.MSVC.Toolset.props" />
</Project>
@@ -0,0 +1,9 @@
<Project>
<Import Project="Cyberduck.References.props" />
<Import Project="Cyberduck.NuGet.targets" />
<Import Project="Cyberduck.Sign.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>
@@ -0,0 +1,62 @@
<Project>
<!--
Don't include in Common.props, this will be included by vcxproj
and these already import Microsoft.Cpp.MSVC.Toolset.Common.props.
-->
<PropertyGroup>
<_LatestWindowsTargetPlatformVersion>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion(Windows, 10.0))</_LatestWindowsTargetPlatformVersion>
<WindowsSdkDir>$([Microsoft.Build.Utilities.ToolLocationHelper]::GetPlatformSDKLocation(Windows, 10.0))</WindowsSdkDir>
<WindowsSDK_ExecutablePath_x86>$(WindowsSdkDir)bin\$(_LatestWindowsTargetPlatformVersion)\x86\</WindowsSDK_ExecutablePath_x86>
<WindowsSDK_ExecutablePath_x64>$(WindowsSdkDir)bin\$(_LatestWindowsTargetPlatformVersion)\x64\</WindowsSDK_ExecutablePath_x64>
<WindowsSDK_ExecutablePath_arm64>$(WindowsSdkDir)bin\$(_LatestWindowsTargetPlatformVersion)\arm64\</WindowsSDK_ExecutablePath_arm64>
</PropertyGroup>
<!-- Adapted from Microsoft.Cpp.MSVC.Toolset.Common.props -->
<!-- Microsoft.Cpp.Common.props: Inlined -->
<PropertyGroup>
<VSInstallDir>$(VsInstallRoot)\</VSInstallDir>
<VCIDEInstallDir>$(VSInstallDir)Common7\IDE\VC\</VCIDEInstallDir>
</PropertyGroup>
<!-- 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>
<!-- /Microsoft.Cpp.Common.props -->
<!-- properties common for all platforms -->
<PropertyGroup>
<CommonExecutablePath>$(WindowsSDK_ExecutablePath);$(MSBuild_ExecutablePath);$(PATH);</CommonExecutablePath>
</PropertyGroup>
</Project>
+18
View File
@@ -0,0 +1,18 @@
<Project>
<PropertyGroup>
<BeforeMicrosoftNETSdkTargets>$(BuildSupportDir)Cyberduck.Artifacts.targets;$(BeforeMicrosoftNETSdkTargets)</BeforeMicrosoftNETSdkTargets>
</PropertyGroup>
<PropertyGroup Condition=" '$(TargetFramework)' != 'net472' ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net472*</DefaultItemExcludes>
</PropertyGroup>
<PropertyGroup Condition=" !$([MSBuild]::IsTargetFrameworkCompatible('$(TargetFramework)', 'net8.0')) ">
<DefaultItemExcludes>$(DefaultItemExcludes);**/*net8.0*</DefaultItemExcludes>
</PropertyGroup>
<ItemGroup>
<AdditionalFiles Include="$(MSBuildThisFileDirectory)BannedSymbols*.txt" />
</ItemGroup>
</Project>
+46
View File
@@ -0,0 +1,46 @@
<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="SignIntermediateAssembly" AfterTargets="CoreCompile" DependsOnTargets="SignToolArgs" Condition="'$(SignOutput)'=='true'">
<Exec Command="$(SignToolArgs) &quot;@(IntermediateAssembly)&quot;" EnvironmentVariables="@(SignToolPath)" />
</Target>
<Target Name="SignAppHost" BeforeTargets="Compile" DependsOnTargets="_CreateAppHost;SignToolArgs" Condition="'$(AppHostIntermediatePath)'!='' And '$(SignOutput)'=='true'">
<Exec Command="$(SignToolArgs) &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,52 @@
<Project>
<ItemGroup>
<CyberduckReference Update="Bonjour">
<ProjectPath>$(CyberduckDir)bonjour\dll\Cyberduck.Bonjour.ikvmproj</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.ikvmproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Core">
<ProjectPath>$(CyberduckDir)core\dll\Cyberduck.Core.ikvmproj</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.ikvmproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Importer">
<ProjectPath>$(CyberduckDir)importer\dll\Cyberduck.Importer.ikvmproj</ProjectPath>
</CyberduckReference>
<CyberduckReference Update="Protocols">
<ProjectPath>$(CyberduckDir)protocols\dll\Cyberduck.Protocols.ikvmproj</ProjectPath>
</CyberduckReference>
<CyberduckReferenceIdentity Include="@(CyberduckReference->'Cyberduck.%(Identity)')" />
<CyberduckReferenceWithProjectPath Include="@(CyberduckReferenceIdentity->HasMetadata('ProjectPath'))" />
<!-- Any CyberduckReference that doesn't have a ProjectPath should be included by PackageReference, by default -->
<CyberduckPackageReference Include="@(CyberduckReferenceIdentity)" Exclude="@(CyberduckReferenceWithProjectPath)" />
</ItemGroup>
<!-- If in VisualStudio reference Projects directly -->
<ItemGroup Condition="'$(BuildingInsideVisualStudio)'=='True'">
<ProjectReference Include="@(CyberduckReferenceWithProjectPath->'%(ProjectPath)')" Name="%(Identity)" />
</ItemGroup>
<!-- Else use PackageReferences -->
<ItemGroup Condition="'$(BuildingInsideVisualStudio)'!='True'">
<CyberduckPackageReference Include="@(CyberduckReferenceIdentity)" Exclude="@(CyberduckPackageReference)" />
</ItemGroup>
<ItemGroup>
<PackageVersion Include="@(CyberduckPackageReference)" Version="$(Version)" />
<PackageReference Include="@(CyberduckPackageReference)" />
</ItemGroup>
</Project>
+41
View File
@@ -0,0 +1,41 @@
<Project>
<PropertyGroup>
<_SignToolArgsTarget Condition="'$(_SignToolArgsTarget)'=='' And '$(SignTool)'=='cng'">_SignToolArgsCNG</_SignToolArgsTarget>
<_SignToolArgsTarget Condition="'$(_SignToolArgsTarget)'==''">_SignToolArgsCertificateStore</_SignToolArgsTarget>
<SignToolArgsDependsOn>$(_SignToolArgsTarget);SignToolExecutableName</SignToolArgsDependsOn>
</PropertyGroup>
<Target Name="SignToolExecutableName" Returns="$(SignToolExecutableName)">
<PropertyGroup>
<SignToolExecutableName Condition="'$(SignToolExecutableName)'==''">SignTool.exe</SignToolExecutableName>
</PropertyGroup>
<ItemGroup>
<SignToolPath Include="PATH=$([MSBuild]::Escape('$(CommonExecutablePath)'))" />
</ItemGroup>
</Target>
<Target Name="_SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>sign /d "Cyberduck" /fd sha256 /tr "http://timestamp.acs.microsoft.com" /td "sha256" /a</SignToolArgsBase>
</PropertyGroup>
</Target>
<Target Name="SignToolArgs" DependsOnTargets="$(SignToolArgsDependsOn)">
<Error Text="'$(SignTool)' unsupported." Condition="'$(SignToolArgsBase)'==''" />
<PropertyGroup>
<SignToolArgs>"$(SignToolExecutableName)" $(SignToolArgsBase)</SignToolArgs>
</PropertyGroup>
</Target>
<Target Name="_SignToolArgsCertificateStore" DependsOnTargets="_SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>$(SignToolArgsBase) /sm /n "iterate GmbH"</SignToolArgsBase>
</PropertyGroup>
</Target>
<Target Name="_SignToolArgsCNG" DependsOnTargets="_SignToolArgsBase" Returns="$(SignToolArgsBase)">
<PropertyGroup>
<SignToolArgsBase>$(SignToolArgsBase) /f "$(CyberduckDir)setup\cert\certificate.crt" /csp "$(SignToolCSP)" /kc "$(SignToolKC)"</SignToolArgsBase>
</PropertyGroup>
</Target>
</Project>
@@ -0,0 +1,9 @@
<Project>
<Target Name="_CompileJava" DependsOnTargets="ExportReferences;_ResolveClasspathFiles" Inputs="@(Compile);@(ClasspathFiles)" Outputs="$(_CompileJavaStampFile)">
<Touch Files="$(_CompileJavaStampFile)" AlwaysCreate="true" ForceTouch="true" />
</Target>
<Target Name="ExportReferences" />
</Project>
@@ -2,6 +2,7 @@
<PropertyGroup Label="IKVM">
<ClassLoader>ikvm.runtime.AppDomainAssemblyClassLoader</ClassLoader>
<DisableImplicitIkvmPackageReference>true</DisableImplicitIkvmPackageReference>
<EnableDefaultItems>false</EnableDefaultItems>
<LangVersion>1.8</LangVersion>
</PropertyGroup>
@@ -17,6 +18,11 @@
IKVM0111: Emitted NoClassDefFoundError
-->
<NoWarn>IKVM0100;IKVM0101;IKVM0105;IKVM0111;$(NoWarn)</NoWarn>
<AfterMicrosoftNETSdkTargets>$(MSBuildThisFileDirectory)Cyberduck.java.After.targets;$(AfterMicrosoftNETSdkTargets)</AfterMicrosoftNETSdkTargets>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="IKVM" />
</ItemGroup>
</Project>
+21
View File
@@ -0,0 +1,21 @@
<!--
~ 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>
<PropertyGroup>
<OutputPath>$(BaseOutputPath)</OutputPath>
<AppxPackageDir>$(OutputPath)$(Configuration)\</AppxPackageDir>
</PropertyGroup>
</Project>
+42
View File
@@ -0,0 +1,42 @@
<Project>
<Target Name="ResolveLocalBindPaths" DependsOnTargets="ResolveReferences" Returns="@(BindPathPayload)">
<ItemGroup>
<BindPathPayload Include="%(BindPath.Identity)\**" />
</ItemGroup>
</Target>
<Target Name="BindPathPayloadExecutable" DependsOnTargets="ResolveLocalBindPaths" Returns="@(BindPathPayloadExecutable)">
<ItemGroup>
<BindPathPayloadExecutable Include="@(BindPathPayload)" Condition="'%(Extension)'=='.dll' Or '%(Extension)'=='.exe'" />
</ItemGroup>
</Target>
<Target Name="ComputeSignPayload" DependsOnTargets="BindPathPayloadExecutable;SignToolExecutableName" Outputs="%(BindPathPayloadExecutable.Identity)">
<Exec Command="%22$(SignToolExecutableName)%22 verify /q /pa %22%(BindPathPayloadExecutable.Identity)%22"
EnvironmentVariables="@(SignToolPath)"
IgnoreStandardErrorWarningFormat="true"
IgnoreExitCode="true"
Condition="'@(BindPathPayloadExecutable)'!=''">
<Output TaskParameter="ExitCode" PropertyName="PayloadSigned" />
</Exec>
<ItemGroup>
<BindPathPayloadExecutable Update="%(BindPathPayloadExecutable.Identity)" Sign="$(PayloadSigned)" />
</ItemGroup>
</Target>
<Target Name="SignPayload" BeforeTargets="CoreCompile" DependsOnTargets="ComputeSignPayload;SignToolArgs" Condition="'$(SignOutput)'=='true'">
<ItemGroup>
<_SignPayload Include="@(BindPathPayloadExecutable->WithoutMetadataValue('Sign', '0'))" />
</ItemGroup>
<Exec Command="$(SignToolArgs) @(_SignPayload->'%22%(Identity)%22', ' ')" EnvironmentVariables="@(SignToolPath)" Condition="'@(_SignPayload)'!=''" />
</Target>
<Target Name="SignMsi" DependsOnTargets="SignToolArgs" Condition="'$(SignOutput)'=='true'">
<Exec Command="$(SignToolArgs) &quot;%(SignMsi.FullPath)&quot;" EnvironmentVariables="@(SignToolPath)" />
</Target>
<Target Name="SignBundle" DependsOnTargets="SignToolArgs" Condition="'$(SignOutput)'=='true'">
<Exec Command="$(SignToolArgs) &quot;%(SignBundle.FullPath)&quot;" EnvironmentVariables="@(SignToolPath)" />
</Target>
<Target Name="SignBundleEngine" DependsOnTargets="SignToolArgs" Condition="'$(SignOutput)'=='true'">
<Exec Command="$(SignToolArgs) &quot;%(SignBundleEngine.FullPath)&quot;" EnvironmentVariables="@(SignToolPath)" />
</Target>
</Project>
+32
View File
@@ -0,0 +1,32 @@
[CmdletBinding()]
param (
# Source path, where all .nupkgs are stored.
[Parameter()]
[string]
$PackagesListPath
)
if (-not (Test-Path -Path $PackagesListPath -PathType Leaf)) {
return;
}
$NugetParent = [System.IO.Path]::GetDirectoryName($PackagesListPath)
$PackagesPath = "$NugetParent\packages"
foreach ($line in Get-Content $PackagesListPath) {
$line = $line.Trim()
if ($line -notmatch "\s*(?<group>[^:]+):(?<artifact>[^:]+):(?<type>[^:]+):(?<version>[^:]+):(?<scope>[^:]+):(?<path>.*)$") {
continue
}
$artifact = $Matches["artifact"]
$version = $Matches["version"]
$NupkgFile = $Matches["path"]
$PackageName = [System.IO.Path]::GetFileNameWithoutExtension((tar.exe tf "$NupkgFile" '*.nuspec'))
$TargetDirectory = "$PackagesPath\$PackageName\$version"
New-Item -Force -Type Directory $TargetDirectory
Get-ChildItem $TargetDirectory | Remove-Item -Recurse -Force
tar.exe xf $NupkgFile -C $TargetDirectory
Set-Content "$TargetDirectory\.nupkg.metadata" '{}'
}

Some files were not shown because too many files have changed in this diff Show More