diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46f1525..78f67c1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -12,10 +12,10 @@ on: jobs: build: - runs-on: macOS-15 + runs-on: macOS-26 env: - XCODE_VERSION: 16.2 - dotnetVersion: 9.0.200 + XCODE_VERSION: 26.1 + dotnetVersion: 10.0.100 steps: - name: Checkout @@ -51,14 +51,6 @@ jobs: with: useConfigFile: true - - name: Bootstrap carthage deps - run: | - mkdir -p artfifacts - sh carthage.sh update --use-xcframeworks --platform iOS --log-path artifacts/carthage.log - continue-on-error: true - env: - GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - name: Build NukeProxy XCFramework run: | xcodebuild archive -sdk iphoneos -project NukeProxy.xcodeproj -scheme NukeProxy -configuration Release -archivePath Output/Output-iphoneos SKIP_INSTALL=NO diff --git a/Cartfile b/Cartfile deleted file mode 100644 index 8790d86..0000000 --- a/Cartfile +++ /dev/null @@ -1 +0,0 @@ -github "kean/Nuke" == 12.8.0 diff --git a/NukeProxy.xcodeproj/project.pbxproj b/NukeProxy.xcodeproj/project.pbxproj index 1278eac..0599a1e 100755 --- a/NukeProxy.xcodeproj/project.pbxproj +++ b/NukeProxy.xcodeproj/project.pbxproj @@ -3,34 +3,30 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 90; objects = { /* Begin PBXBuildFile section */ - 123FC3EF2DB8CF3F00217EFA /* NukeExtensions.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */; }; - 7D013CDE265D5A2100454172 /* Nuke.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D013CDD265D5A2100454172 /* Nuke.xcframework */; }; B08309D5241256530090FB75 /* NukeProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = B08309D3241256530090FB75 /* NukeProxy.h */; settings = {ATTRIBUTES = (Public, ); }; }; B08309E7241259650090FB75 /* NukeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B08309E6241259650090FB75 /* NukeProxy.swift */; }; + F590BFEC2EC5BCBC00F87EE9 /* Nuke in Frameworks */ = {isa = PBXBuildFile; productRef = F590BFEB2EC5BCBC00F87EE9 /* Nuke */; }; + F590BFEE2EC5BCBC00F87EE9 /* NukeExtensions in Frameworks */ = {isa = PBXBuildFile; productRef = F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ - 7D013CDD265D5A2100454172 /* Nuke.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Nuke.xcframework; path = Carthage/Build/Nuke.xcframework; sourceTree = ""; }; B08309D0241256530090FB75 /* NukeProxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NukeProxy.framework; sourceTree = BUILT_PRODUCTS_DIR; }; B08309D3241256530090FB75 /* NukeProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NukeProxy.h; sourceTree = ""; }; B08309D4241256530090FB75 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; B08309E6241259650090FB75 /* NukeProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NukeProxy.swift; sourceTree = ""; }; - CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = NukeExtensions.xcframework; path = Carthage/Build/NukeExtensions.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ B08309CD241256530090FB75 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; files = ( - 123FC3EF2DB8CF3F00217EFA /* NukeExtensions.xcframework in Frameworks */, - 7D013CDE265D5A2100454172 /* Nuke.xcframework in Frameworks */, + F590BFEC2EC5BCBC00F87EE9 /* Nuke in Frameworks */, + F590BFEE2EC5BCBC00F87EE9 /* NukeExtensions in Frameworks */, ); - runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ @@ -65,8 +61,6 @@ B08309DB241256A70090FB75 /* Frameworks */ = { isa = PBXGroup; children = ( - CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */, - 7D013CDD265D5A2100454172 /* Nuke.xcframework */, ); name = Frameworks; sourceTree = ""; @@ -76,11 +70,9 @@ /* Begin PBXHeadersBuildPhase section */ B08309CB241256530090FB75 /* Headers */ = { isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; files = ( B08309D5241256530090FB75 /* NukeProxy.h in Headers */, ); - runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ @@ -96,10 +88,10 @@ ); buildRules = ( ); - dependencies = ( - ); name = NukeProxy; packageProductDependencies = ( + F590BFEB2EC5BCBC00F87EE9 /* Nuke */, + F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */, ); productName = NukeProxy; productReference = B08309D0241256530090FB75 /* NukeProxy.framework */; @@ -122,7 +114,6 @@ }; }; buildConfigurationList = B08309CA241256530090FB75 /* Build configuration list for PBXProject "NukeProxy" */; - compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -131,7 +122,9 @@ ); mainGroup = B08309C6241256530090FB75; packageReferences = ( + F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */, ); + preferredProjectObjectVersion = 90; productRefGroup = B08309D1241256530090FB75 /* Products */; projectDirPath = ""; projectRoot = ""; @@ -144,26 +137,22 @@ /* Begin PBXResourcesBuildPhase section */ B08309CE241256530090FB75 /* Resources */ = { isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; files = ( ); - runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ B08309CC241256530090FB75 /* Sources */ = { isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; files = ( B08309E7241259650090FB75 /* NukeProxy.swift in Sources */, ); - runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin XCBuildConfiguration section */ - B08309D6241256530090FB75 /* Debug */ = { + B08309D6241256530090FB75 /* Debug configuration for PBXProject "NukeProxy" */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -216,7 +205,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; ONLY_ACTIVE_ARCH = YES; @@ -229,7 +218,7 @@ }; name = Debug; }; - B08309D7241256530090FB75 /* Release */ = { + B08309D7241256530090FB75 /* Release configuration for PBXProject "NukeProxy" */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; @@ -276,7 +265,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 12.0; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; MTL_ENABLE_DEBUG_INFO = NO; MTL_FAST_MATH = YES; SDKROOT = iphoneos; @@ -289,7 +278,7 @@ }; name = Release; }; - B08309D9241256530090FB75 /* Debug */ = { + B08309D9241256530090FB75 /* Debug configuration for PBXNativeTarget "NukeProxy" */ = { isa = XCBuildConfiguration; buildSettings = { BUILD_LIBRARY_FOR_DISTRIBUTION = YES; @@ -322,7 +311,7 @@ }; name = Debug; }; - B08309DA241256530090FB75 /* Release */ = { + B08309DA241256530090FB75 /* Release configuration for PBXNativeTarget "NukeProxy" */ = { isa = XCBuildConfiguration; buildSettings = { BUILD_LIBRARY_FOR_DISTRIBUTION = YES; @@ -360,22 +349,44 @@ B08309CA241256530090FB75 /* Build configuration list for PBXProject "NukeProxy" */ = { isa = XCConfigurationList; buildConfigurations = ( - B08309D6241256530090FB75 /* Debug */, - B08309D7241256530090FB75 /* Release */, + B08309D6241256530090FB75 /* Debug configuration for PBXProject "NukeProxy" */, + B08309D7241256530090FB75 /* Release configuration for PBXProject "NukeProxy" */, ); - defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; B08309D8241256530090FB75 /* Build configuration list for PBXNativeTarget "NukeProxy" */ = { isa = XCConfigurationList; buildConfigurations = ( - B08309D9241256530090FB75 /* Debug */, - B08309DA241256530090FB75 /* Release */, + B08309D9241256530090FB75 /* Debug configuration for PBXNativeTarget "NukeProxy" */, + B08309DA241256530090FB75 /* Release configuration for PBXNativeTarget "NukeProxy" */, ); - defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/kean/Nuke"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 12.8.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + F590BFEB2EC5BCBC00F87EE9 /* Nuke */ = { + isa = XCSwiftPackageProductDependency; + package = F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */; + productName = Nuke; + }; + F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */ = { + isa = XCSwiftPackageProductDependency; + package = F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */; + productName = NukeExtensions; + }; +/* End XCSwiftPackageProductDependency section */ }; rootObject = B08309C7241256530090FB75 /* Project object */; } diff --git a/NukeProxy.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/NukeProxy.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..8e2cb25 --- /dev/null +++ b/NukeProxy.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,15 @@ +{ + "originHash" : "8db810839d2e05d8fa43fe72481467e8e9f47bda8dad613e17d2b9a570e27109", + "pins" : [ + { + "identity" : "nuke", + "kind" : "remoteSourceControl", + "location" : "https://github.com/kean/Nuke", + "state" : { + "revision" : "0ead44350d2737db384908569c012fe67c421e4d", + "version" : "12.8.0" + } + } + ], + "version" : 3 +} diff --git a/NukeProxy/NukeProxy.swift b/NukeProxy/NukeProxy.swift index 8083db8..0a7614f 100755 --- a/NukeProxy/NukeProxy.swift +++ b/NukeProxy/NukeProxy.swift @@ -8,8 +8,8 @@ import Foundation import UIKit -import Nuke -import NukeExtensions +internal import Nuke +internal import NukeExtensions @objc(ImagePipeline) public class ImagePipeline : NSObject { diff --git a/build.sh b/build.sh index 44e98df..d22270b 100755 --- a/build.sh +++ b/build.sh @@ -1,10 +1,6 @@ #!/bin/bash mkdir -p artifacts - -echo "Update carthage deps" -sh carthage.sh update --use-xcframeworks --platform iOS --log-path artifacts/carthage.log - rm -r Output/NukeProxy.xcframework echo "xcode build" diff --git a/carthage.sh b/carthage.sh deleted file mode 100755 index adffae8..0000000 --- a/carthage.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env bash - -# carthage.sh -# Usage example: ./carthage.sh build --platform iOS - -set -euo pipefail - -xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX) -trap 'rm -f "$xcconfig"' INT TERM HUP EXIT - -# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise -# the build will fail on lipo due to duplicate architectures. -echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_1200 = arm64 arm64e armv7 armv7s armv6 armv8' >> $xcconfig -echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig - -export XCODE_XCCONFIG_FILE="$xcconfig" -carthage "$@" diff --git a/src/ImageCaching.Nuke/ImageCaching.Nuke.csproj b/src/ImageCaching.Nuke/ImageCaching.Nuke.csproj index ee17022..0dc10d5 100644 --- a/src/ImageCaching.Nuke/ImageCaching.Nuke.csproj +++ b/src/ImageCaching.Nuke/ImageCaching.Nuke.csproj @@ -1,16 +1,18 @@  - net9.0-ios;net9.0-maccatalyst + net9.0-ios;net9.0-maccatalyst;net10.0-ios;net10.0-maccatalyst true true ImageCaching.Nuke 14.0 14.0 + 14.0 + 14.0 $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) - Sharpnado 2020 + Sharpnado 2025 https://github.com/roubachof/NukeProxy nuke_small.png Jean-Marie Alfonsi, Tomasz Cielecki @@ -19,6 +21,10 @@ false + + true + + true true @@ -48,14 +54,6 @@ Framework False - - Framework - False - - - Framework - False - diff --git a/src/Sample/Sample.csproj b/src/Sample/Sample.csproj index d3b3c36..ba481f5 100644 --- a/src/Sample/Sample.csproj +++ b/src/Sample/Sample.csproj @@ -1,6 +1,6 @@ - net9.0-ios + net10.0-ios Sample Exe