Skip to content

Commit c86426a

Browse files
authored
Merge pull request #32 from roubachof/ci/net10
Update to .NET 10 and switch to Swift Package Manager
2 parents 6047e3c + 09f8861 commit c86426a

File tree

9 files changed

+72
-78
lines changed

9 files changed

+72
-78
lines changed

.github/workflows/build.yml

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ on:
1212

1313
jobs:
1414
build:
15-
runs-on: macOS-15
15+
runs-on: macOS-26
1616
env:
17-
XCODE_VERSION: 16.2
18-
dotnetVersion: 9.0.200
17+
XCODE_VERSION: 26.1
18+
dotnetVersion: 10.0.100
1919

2020
steps:
2121
- name: Checkout
@@ -51,14 +51,6 @@ jobs:
5151
with:
5252
useConfigFile: true
5353

54-
- name: Bootstrap carthage deps
55-
run: |
56-
mkdir -p artfifacts
57-
sh carthage.sh update --use-xcframeworks --platform iOS --log-path artifacts/carthage.log
58-
continue-on-error: true
59-
env:
60-
GITHUB_ACCESS_TOKEN: ${{ secrets.GITHUB_TOKEN }}
61-
6254
- name: Build NukeProxy XCFramework
6355
run: |
6456
xcodebuild archive -sdk iphoneos -project NukeProxy.xcodeproj -scheme NukeProxy -configuration Release -archivePath Output/Output-iphoneos SKIP_INSTALL=NO

Cartfile

Lines changed: 0 additions & 1 deletion
This file was deleted.

NukeProxy.xcodeproj/project.pbxproj

Lines changed: 43 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,30 @@
33
archiveVersion = 1;
44
classes = {
55
};
6-
objectVersion = 54;
6+
objectVersion = 90;
77
objects = {
88

99
/* Begin PBXBuildFile section */
10-
123FC3EF2DB8CF3F00217EFA /* NukeExtensions.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */; };
11-
7D013CDE265D5A2100454172 /* Nuke.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7D013CDD265D5A2100454172 /* Nuke.xcframework */; };
1210
B08309D5241256530090FB75 /* NukeProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = B08309D3241256530090FB75 /* NukeProxy.h */; settings = {ATTRIBUTES = (Public, ); }; };
1311
B08309E7241259650090FB75 /* NukeProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = B08309E6241259650090FB75 /* NukeProxy.swift */; };
12+
F590BFEC2EC5BCBC00F87EE9 /* Nuke in Frameworks */ = {isa = PBXBuildFile; productRef = F590BFEB2EC5BCBC00F87EE9 /* Nuke */; };
13+
F590BFEE2EC5BCBC00F87EE9 /* NukeExtensions in Frameworks */ = {isa = PBXBuildFile; productRef = F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */; };
1414
/* End PBXBuildFile section */
1515

1616
/* Begin PBXFileReference section */
17-
7D013CDD265D5A2100454172 /* Nuke.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Nuke.xcframework; path = Carthage/Build/Nuke.xcframework; sourceTree = "<group>"; };
1817
B08309D0241256530090FB75 /* NukeProxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = NukeProxy.framework; sourceTree = BUILT_PRODUCTS_DIR; };
1918
B08309D3241256530090FB75 /* NukeProxy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NukeProxy.h; sourceTree = "<group>"; };
2019
B08309D4241256530090FB75 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
2120
B08309E6241259650090FB75 /* NukeProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NukeProxy.swift; sourceTree = "<group>"; };
22-
CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = NukeExtensions.xcframework; path = Carthage/Build/NukeExtensions.xcframework; sourceTree = "<group>"; };
2321
/* End PBXFileReference section */
2422

2523
/* Begin PBXFrameworksBuildPhase section */
2624
B08309CD241256530090FB75 /* Frameworks */ = {
2725
isa = PBXFrameworksBuildPhase;
28-
buildActionMask = 2147483647;
2926
files = (
30-
123FC3EF2DB8CF3F00217EFA /* NukeExtensions.xcframework in Frameworks */,
31-
7D013CDE265D5A2100454172 /* Nuke.xcframework in Frameworks */,
27+
F590BFEC2EC5BCBC00F87EE9 /* Nuke in Frameworks */,
28+
F590BFEE2EC5BCBC00F87EE9 /* NukeExtensions in Frameworks */,
3229
);
33-
runOnlyForDeploymentPostprocessing = 0;
3430
};
3531
/* End PBXFrameworksBuildPhase section */
3632

@@ -65,8 +61,6 @@
6561
B08309DB241256A70090FB75 /* Frameworks */ = {
6662
isa = PBXGroup;
6763
children = (
68-
CEBEC60E2DB66ACB00FA295C /* NukeExtensions.xcframework */,
69-
7D013CDD265D5A2100454172 /* Nuke.xcframework */,
7064
);
7165
name = Frameworks;
7266
sourceTree = "<group>";
@@ -76,11 +70,9 @@
7670
/* Begin PBXHeadersBuildPhase section */
7771
B08309CB241256530090FB75 /* Headers */ = {
7872
isa = PBXHeadersBuildPhase;
79-
buildActionMask = 2147483647;
8073
files = (
8174
B08309D5241256530090FB75 /* NukeProxy.h in Headers */,
8275
);
83-
runOnlyForDeploymentPostprocessing = 0;
8476
};
8577
/* End PBXHeadersBuildPhase section */
8678

@@ -96,10 +88,10 @@
9688
);
9789
buildRules = (
9890
);
99-
dependencies = (
100-
);
10191
name = NukeProxy;
10292
packageProductDependencies = (
93+
F590BFEB2EC5BCBC00F87EE9 /* Nuke */,
94+
F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */,
10395
);
10496
productName = NukeProxy;
10597
productReference = B08309D0241256530090FB75 /* NukeProxy.framework */;
@@ -122,7 +114,6 @@
122114
};
123115
};
124116
buildConfigurationList = B08309CA241256530090FB75 /* Build configuration list for PBXProject "NukeProxy" */;
125-
compatibilityVersion = "Xcode 9.3";
126117
developmentRegion = en;
127118
hasScannedForEncodings = 0;
128119
knownRegions = (
@@ -131,7 +122,9 @@
131122
);
132123
mainGroup = B08309C6241256530090FB75;
133124
packageReferences = (
125+
F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */,
134126
);
127+
preferredProjectObjectVersion = 90;
135128
productRefGroup = B08309D1241256530090FB75 /* Products */;
136129
projectDirPath = "";
137130
projectRoot = "";
@@ -144,26 +137,22 @@
144137
/* Begin PBXResourcesBuildPhase section */
145138
B08309CE241256530090FB75 /* Resources */ = {
146139
isa = PBXResourcesBuildPhase;
147-
buildActionMask = 2147483647;
148140
files = (
149141
);
150-
runOnlyForDeploymentPostprocessing = 0;
151142
};
152143
/* End PBXResourcesBuildPhase section */
153144

154145
/* Begin PBXSourcesBuildPhase section */
155146
B08309CC241256530090FB75 /* Sources */ = {
156147
isa = PBXSourcesBuildPhase;
157-
buildActionMask = 2147483647;
158148
files = (
159149
B08309E7241259650090FB75 /* NukeProxy.swift in Sources */,
160150
);
161-
runOnlyForDeploymentPostprocessing = 0;
162151
};
163152
/* End PBXSourcesBuildPhase section */
164153

165154
/* Begin XCBuildConfiguration section */
166-
B08309D6241256530090FB75 /* Debug */ = {
155+
B08309D6241256530090FB75 /* Debug configuration for PBXProject "NukeProxy" */ = {
167156
isa = XCBuildConfiguration;
168157
buildSettings = {
169158
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -216,7 +205,7 @@
216205
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
217206
GCC_WARN_UNUSED_FUNCTION = YES;
218207
GCC_WARN_UNUSED_VARIABLE = YES;
219-
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
208+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
220209
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
221210
MTL_FAST_MATH = YES;
222211
ONLY_ACTIVE_ARCH = YES;
@@ -229,7 +218,7 @@
229218
};
230219
name = Debug;
231220
};
232-
B08309D7241256530090FB75 /* Release */ = {
221+
B08309D7241256530090FB75 /* Release configuration for PBXProject "NukeProxy" */ = {
233222
isa = XCBuildConfiguration;
234223
buildSettings = {
235224
ALWAYS_SEARCH_USER_PATHS = NO;
@@ -276,7 +265,7 @@
276265
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
277266
GCC_WARN_UNUSED_FUNCTION = YES;
278267
GCC_WARN_UNUSED_VARIABLE = YES;
279-
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
268+
IPHONEOS_DEPLOYMENT_TARGET = 14.0;
280269
MTL_ENABLE_DEBUG_INFO = NO;
281270
MTL_FAST_MATH = YES;
282271
SDKROOT = iphoneos;
@@ -289,7 +278,7 @@
289278
};
290279
name = Release;
291280
};
292-
B08309D9241256530090FB75 /* Debug */ = {
281+
B08309D9241256530090FB75 /* Debug configuration for PBXNativeTarget "NukeProxy" */ = {
293282
isa = XCBuildConfiguration;
294283
buildSettings = {
295284
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
@@ -322,7 +311,7 @@
322311
};
323312
name = Debug;
324313
};
325-
B08309DA241256530090FB75 /* Release */ = {
314+
B08309DA241256530090FB75 /* Release configuration for PBXNativeTarget "NukeProxy" */ = {
326315
isa = XCBuildConfiguration;
327316
buildSettings = {
328317
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
@@ -360,22 +349,44 @@
360349
B08309CA241256530090FB75 /* Build configuration list for PBXProject "NukeProxy" */ = {
361350
isa = XCConfigurationList;
362351
buildConfigurations = (
363-
B08309D6241256530090FB75 /* Debug */,
364-
B08309D7241256530090FB75 /* Release */,
352+
B08309D6241256530090FB75 /* Debug configuration for PBXProject "NukeProxy" */,
353+
B08309D7241256530090FB75 /* Release configuration for PBXProject "NukeProxy" */,
365354
);
366-
defaultConfigurationIsVisible = 0;
367355
defaultConfigurationName = Release;
368356
};
369357
B08309D8241256530090FB75 /* Build configuration list for PBXNativeTarget "NukeProxy" */ = {
370358
isa = XCConfigurationList;
371359
buildConfigurations = (
372-
B08309D9241256530090FB75 /* Debug */,
373-
B08309DA241256530090FB75 /* Release */,
360+
B08309D9241256530090FB75 /* Debug configuration for PBXNativeTarget "NukeProxy" */,
361+
B08309DA241256530090FB75 /* Release configuration for PBXNativeTarget "NukeProxy" */,
374362
);
375-
defaultConfigurationIsVisible = 0;
376363
defaultConfigurationName = Release;
377364
};
378365
/* End XCConfigurationList section */
366+
367+
/* Begin XCRemoteSwiftPackageReference section */
368+
F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */ = {
369+
isa = XCRemoteSwiftPackageReference;
370+
repositoryURL = "https://github.com/kean/Nuke";
371+
requirement = {
372+
kind = upToNextMajorVersion;
373+
minimumVersion = 12.8.0;
374+
};
375+
};
376+
/* End XCRemoteSwiftPackageReference section */
377+
378+
/* Begin XCSwiftPackageProductDependency section */
379+
F590BFEB2EC5BCBC00F87EE9 /* Nuke */ = {
380+
isa = XCSwiftPackageProductDependency;
381+
package = F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */;
382+
productName = Nuke;
383+
};
384+
F590BFED2EC5BCBC00F87EE9 /* NukeExtensions */ = {
385+
isa = XCSwiftPackageProductDependency;
386+
package = F590BFEA2EC5BCBC00F87EE9 /* XCRemoteSwiftPackageReference "Nuke" */;
387+
productName = NukeExtensions;
388+
};
389+
/* End XCSwiftPackageProductDependency section */
379390
};
380391
rootObject = B08309C7241256530090FB75 /* Project object */;
381392
}

NukeProxy.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 15 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

NukeProxy/NukeProxy.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
import Foundation
1010
import UIKit
11-
import Nuke
12-
import NukeExtensions
11+
internal import Nuke
12+
internal import NukeExtensions
1313

1414
@objc(ImagePipeline)
1515
public class ImagePipeline : NSObject {

build.sh

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,6 @@
11
#!/bin/bash
22

33
mkdir -p artifacts
4-
5-
echo "Update carthage deps"
6-
sh carthage.sh update --use-xcframeworks --platform iOS --log-path artifacts/carthage.log
7-
84
rm -r Output/NukeProxy.xcframework
95

106
echo "xcode build"

carthage.sh

Lines changed: 0 additions & 17 deletions
This file was deleted.

src/ImageCaching.Nuke/ImageCaching.Nuke.csproj

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net9.0-ios;net9.0-maccatalyst</TargetFrameworks>
3+
<TargetFrameworks>net9.0-ios;net9.0-maccatalyst;net10.0-ios;net10.0-maccatalyst</TargetFrameworks>
44
<IsBindingProject>true</IsBindingProject>
55
<NoBindingEmbedding>true</NoBindingEmbedding>
66
<RootNamespace>ImageCaching.Nuke</RootNamespace>
77
<SupportedOSPlatformVersion Condition="'$(TargetFramework)' == 'net9.0-ios'">14.0</SupportedOSPlatformVersion>
88
<SupportedOSPlatformVersion Condition="'$(TargetFramework)' == 'net9.0-maccatalyst'">14.0</SupportedOSPlatformVersion>
9+
<SupportedOSPlatformVersion Condition="'$(TargetFramework)' == 'net10.0-ios'">14.0</SupportedOSPlatformVersion>
10+
<SupportedOSPlatformVersion Condition="'$(TargetFramework)' == 'net10.0-maccatalyst'">14.0</SupportedOSPlatformVersion>
911
<BindingPlatform>$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)'))</BindingPlatform>
1012
</PropertyGroup>
1113

1214
<PropertyGroup>
13-
<Copyright>Sharpnado 2020</Copyright>
15+
<Copyright>Sharpnado 2025</Copyright>
1416
<PackageProjectUrl>https://github.com/roubachof/NukeProxy</PackageProjectUrl>
1517
<PackageIcon>nuke_small.png</PackageIcon>
1618
<Authors>Jean-Marie Alfonsi, Tomasz Cielecki</Authors>
@@ -19,6 +21,10 @@
1921
<PackageRequireLicenseAcceptance>false</PackageRequireLicenseAcceptance>
2022
</PropertyGroup>
2123

24+
<PropertyGroup Condition=" '$(Configuration)' == 'Release' ">
25+
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
26+
</PropertyGroup>
27+
2228
<PropertyGroup Condition=" '$(TF_BUILD)' == 'true' OR '$(GITHUB_ACTIONS)' == 'true' ">
2329
<ContinuousIntegrationBuild>true</ContinuousIntegrationBuild>
2430
<Deterministic>true</Deterministic>
@@ -48,14 +54,6 @@
4854
<Kind>Framework</Kind>
4955
<SmartLink>False</SmartLink>
5056
</NativeReference>
51-
<NativeReference Include="..\..\Carthage\Build\Nuke.xcframework">
52-
<Kind>Framework</Kind>
53-
<SmartLink>False</SmartLink>
54-
</NativeReference>
55-
<NativeReference Include="..\..\Carthage\Build\NukeExtensions.xcframework">
56-
<Kind>Framework</Kind>
57-
<SmartLink>False</SmartLink>
58-
</NativeReference>
5957
</ItemGroup>
6058

6159
</Project>

src/Sample/Sample.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net9.0-ios</TargetFramework>
3+
<TargetFramework>net10.0-ios</TargetFramework>
44
<RootNamespace>Sample</RootNamespace>
55
<OutputType>Exe</OutputType>
66

0 commit comments

Comments
 (0)