Skip to content

Commit 378ae94

Browse files
Add Adwaita trait
This should allow developers to compile CubiomesKit without needing to have libadwaita for libshumate installed as dependencies. Developers will need to enable the trait to get access to these features.
1 parent 164104e commit 378ae94

9 files changed

Lines changed: 63 additions & 14 deletions

File tree

.github/workflows/docs-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ jobs:
4141
brew install libadwaita-devel libshumate
4242
- name: Build DocC
4343
run: |
44-
swift package --disable-sandbox \
44+
swift package --disable-sandbox --traits Adwaita \
4545
generate-documentation \
4646
--enable-experimental-combined-documentation \
4747
--target CubiomesKit \

.swift-version

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

.swiftpm/xcode/xcuserdata/marquis.xcuserdatad/xcschemes/xcschememanagement.plist

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,26 @@
44
<dict>
55
<key>SchemeUserState</key>
66
<dict>
7-
<key>CubiomesKit.xcscheme_^#shared#^_</key>
7+
<key>CubiomesKit-Package.xcscheme_^#shared#^_</key>
88
<dict>
99
<key>orderHint</key>
1010
<integer>0</integer>
1111
</dict>
12+
<key>CubiomesKit.xcscheme_^#shared#^_</key>
13+
<dict>
14+
<key>orderHint</key>
15+
<integer>1</integer>
16+
</dict>
17+
<key>CubiomesKitAdwaitaDemo.xcscheme_^#shared#^_</key>
18+
<dict>
19+
<key>orderHint</key>
20+
<integer>2</integer>
21+
</dict>
22+
<key>SQLite (Playground).xcscheme</key>
23+
<dict>
24+
<key>orderHint</key>
25+
<integer>3</integer>
26+
</dict>
1227
</dict>
1328
<key>SuppressBuildableAutocreation</key>
1429
<dict>
@@ -17,11 +32,26 @@
1732
<key>primary</key>
1833
<true/>
1934
</dict>
35+
<key>CubiomesKitAdwaitaDemo</key>
36+
<dict>
37+
<key>primary</key>
38+
<true/>
39+
</dict>
40+
<key>CubiomesKitCoreTests</key>
41+
<dict>
42+
<key>primary</key>
43+
<true/>
44+
</dict>
2045
<key>CubiomesKitTests</key>
2146
<dict>
2247
<key>primary</key>
2348
<true/>
2449
</dict>
50+
<key>CubiomesMapKitTests</key>
51+
<dict>
52+
<key>primary</key>
53+
<true/>
54+
</dict>
2555
</dict>
2656
</dict>
2757
</plist>

Package.resolved

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Package.swift

Lines changed: 14 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// swift-tools-version: 6.0
1+
// swift-tools-version: 6.2
22

33
import PackageDescription
44

@@ -20,6 +20,10 @@ let package = Package(
2020
name: "CubiomesKit",
2121
targets: ["CubiomesKit"])
2222
],
23+
traits: [
24+
.default(enabledTraits: []),
25+
.trait(name: "Adwaita", description: "Used to enable Adwaita features.")
26+
],
2327
dependencies: [
2428
.package(url: "https://github.com/stadiamaps/mapkit-caching-tile-overlay", from: "1.1.0"),
2529
.package(url: "https://github.com/apple/swift-docc-plugin", from: "1.4.0"),
@@ -28,7 +32,7 @@ let package = Package(
2832
targets: [
2933
.systemLibrary(
3034
name: "CShumate",
31-
pkgConfig: "shumate-1.0"
35+
pkgConfig: "shumate-1.0",
3236
),
3337
.target(
3438
name: "Cubiomes",
@@ -62,20 +66,21 @@ let package = Package(
6266
name: "CubiomesKitAdwaita",
6367
dependencies: [
6468
"CubiomesKitCore",
65-
.product(name: "Adwaita", package: "adwaita-swift"),
66-
.target(name: "CShumate", condition: .when(platforms: [.linux, .windows])),
69+
.targetItem(name: "CShumate", condition: .when(traits: ["Adwaita"])),
70+
.product(name: "Adwaita", package: "adwaita-swift", condition: .when(traits: ["Adwaita"])),
71+
.product(name: "CAdw", package: "adwaita-swift", condition: .when(traits: ["Adwaita"])),
6772
]),
6873
.target(
6974
name: "CubiomesKit",
7075
dependencies: [
7176
"CubiomesKitCore",
77+
.target(name: "CubiomesKitAdwaita", condition: .when(traits: ["Adwaita"])),
7278
.target(name: "CubiomesMapKit", condition: .when(platforms: [.macOS, .iOS, .tvOS, .visionOS])),
73-
.target(name: "CubiomesKitAdwaita", condition: .when(platforms: [.linux, .windows])),
7479
]),
7580
.executableTarget(
7681
name: "CubiomesKitAdwaitaDemo",
7782
dependencies: [
78-
.product(name: "Adwaita", package: "adwaita-swift"),
83+
.product(name: "Adwaita", package: "adwaita-swift", condition: .when(traits: ["Adwaita"])),
7984
"CubiomesKit",
8085
]),
8186
.testTarget(
@@ -99,6 +104,8 @@ let adwaitaRestrict = ["CubiomesKitAdwaitaDemo"]
99104

100105
#if os(Linux) || os(Windows)
101106
package.targets.removeAll(where: { appleRestrict.contains($0.name) })
102-
#else
107+
#endif
108+
109+
#if !Adwaita
103110
package.targets.removeAll(where: { adwaitaRestrict.contains($0.name) })
104111
#endif

Sources/CubiomesKit/CubiomesKit.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@
44
@_exported import CubiomesMapKit
55
#endif
66

7-
#if canImport(CubiomesKitAdwaita)
7+
#if Adwaita
88
@_exported import CubiomesKitAdwaita
9-
#endif
9+
#endif

Sources/CubiomesKitAdwaita/MinecraftMap.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
#if Adwaita
2+
13
import Adwaita
4+
import CAdw
25
import CShumate
36
import CubiomesKitCore
47
import Foundation
@@ -13,4 +16,6 @@ public struct MinecraftMap: AdwaitaWidget {
1316
shumate_simple_map_set_map_source(map, source)
1417
return map
1518
}
16-
}
19+
}
20+
21+
#endif

Sources/CubiomesKitAdwaitaDemo/CubiomesKitAdwaitaDemo.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#if Adwaita
2+
13
import Adwaita
24
import CubiomesKit
35

@@ -15,3 +17,5 @@ struct CubiomesKitAdwaitaDemo: App {
1517
}
1618
}
1719
}
20+
21+
#endif

Sources/CubiomesKitAdwaitaDemo/MainToolbar.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#if Adwaita
2+
13
import Adwaita
24

35
struct MainToolbar: View {
@@ -39,3 +41,5 @@ struct MainToolbar: View {
3941
}
4042
}
4143
}
44+
45+
#endif

0 commit comments

Comments
 (0)