Carthage 0.32.0์ Swift ํจํค์ง ๊ด๋ฆฌ์๋ฅผ ํตํด Swift 5๋ก ๋น๋๋์ง ์์ต๋๋ค. ์ด๊ฒ์ Mint ์ค์น์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค.
swift build -Xswiftc -target -Xswiftc x86_64-apple-macosx10.14
์ด๋ ๊ฒ ํ๋ฉด ์ค๋ฅ๊ฐ ๋ฐ์ํฉ๋๋ค.
/Users/yonas/Developer/Carthage/Source/carthage/CopyFrameworks.swift:201:6: error: ambiguous use of 'flatMap'
.attemptMap { getEnvironmentVariable("SCRIPT_INPUT_FILE_LIST_\($0)") }
Master๋ (๋ง์ ๊ฒฝ๊ณ ์ ํจ๊ป) ๊ด์ฐฎ๊ฒ ๋น๋ํ๋ ๊ฒ ๊ฐ์ผ๋ฏ๋ก ์ ๋ฆด๋ฆฌ์ค์์ ๊ณ ์น ๊ฒ ๊ฐ์ต๋๋ค. ์ด๊ฒ์ ๋ซ์ผ์ญ์์ค.
์๋ ํ์ธ์!
์ด ๋ฌธ์ ๋ ์ด ์ปค๋ฐ์์ ์ด๋ฏธ ์์ ๋์์ต๋๋ค.
https://github.com/Carthage/Carthage/commit/52e2cf9c7a4bf04c0f1a0c8f32ffa35f2eed5786#diff -25e106b0a62c856574e29fe6ef5dc460L204
๋ค์ ๋ฒ์ ์์ ์์ ๋ ์์ ์ ๋๋ค.
0.33.0์ด ๋์์ผ๋ ์์ ํด์ผ ํฉ๋๋ค!
https://github.com/Carthage/Carthage/releases/tag/0.33.0
๋ค๋ฅธ ๋ฌธ์ ๋ฅผ ์ฐพ์์ต๋๋ค.
0.33.0๋ถํฐ SwiftPM์ด ์ข
์ ํญ๋ชฉ์ผ๋ก ์ถ๊ฐ๋์์ต๋๋ค.
https://github.com/Carthage/Carthage/pull/2670/
์ด ์ข
์์ฑ์ ๋ค๋ฅธ ํจํค์ง์ ์ข
์์ฑ์ผ๋ก ์นด๋ฅดํ๊ณ ๋ฅผ ๋น๋ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค.
Carthage์ ๋ฌธ์ ๋ผ๊ธฐ ๋ณด๋ค๋ SwiftPM์ ๋ฒ๊ทธ์ธ ๊ฒ ๊ฐ์ต๋๋ค.
SwiftPM์ non semver ํ๊ทธ๋ฅผ ์ ๋ค๋ฃฐ ์ ์์ต๋๋ค. (์ swift-DEVELOPMENT-SNAPSHOT-2019-03-04-a
)
์ด๋ SwiftPM์ด ์ค์ค๋ก๋ฅผ ์ฒ๋ฆฌํ ์ ์์์ ์๋ฏธํฉ๋๋ค. ๐
๋ค๋ฅธ ๋ฒ์ ์ฐ์ฐ์ ๋์ .revision
๋ฅผ ์ฌ์ฉํ๋ฉด ์ด ๋ฌธ์ ๋ฅผ ํผํ ์ ์์ต๋๋ค.
๋๋ Swift Jira์ ๋ํด ๋ฌธ์ ๋ฅผ ๋ง๋ค ๊ฒ์ด๋ค.
let package = Package(
name: "CarthageSwiftPM",
products: [
// Products define the executables and libraries produced by a package, and make them visible to other packages.
.library(
name: "CarthageSwiftPM",
targets: ["CarthageSwiftPM"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// It works
.package(url: "https://github.com/Carthage/Carthage", .revision("c8ac06e106b6b61f907918bfb2b7a5c432de4678")),
// Don't work
// .package(url: "https://github.com/Carthage/Carthage", .exact("0.33.0")),
// .package(url: "https://github.com/Carthage/Carthage", .upToNextMinor(from: "0.33.0")),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages which this package depends on.
.target(
name: "CarthageSwiftPM",
dependencies: ["Carthage"]),
.testTarget(
name: "CarthageSwiftPMTests",
dependencies: ["CarthageSwiftPM"]),
]
)
$ swift build
error: the package carthage[https://github.com/Carthage/Carthage] @ 0.33.0 contains incompatible dependencies:
swift-package-manager[https://github.com/apple/swift-package-manager.git] @ swift-DEVELOPMENT-SNAPSHOT-2019-03-04-a