Carthage: Swift 5์—์„œ SPM์œผ๋กœ ์นด๋ฅดํƒ€๊ณ ๋ฅผ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์—†์Œ

์— ๋งŒ๋“  2019๋…„ 04์›” 01์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: Carthage/Carthage

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๋Š” (๋งŽ์€ ๊ฒฝ๊ณ ์™€ ํ•จ๊ป˜) ๊ดœ์ฐฎ๊ฒŒ ๋นŒ๋“œํ•˜๋Š” ๊ฒƒ ๊ฐ™์œผ๋ฏ€๋กœ ์ƒˆ ๋ฆด๋ฆฌ์Šค์—์„œ ๊ณ ์น  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์„ ๋‹ซ์œผ์‹ญ์‹œ์˜ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

์•ˆ๋…•ํ•˜์„ธ์š”!

์ด ๋ฌธ์ œ๋Š” ์ด ์ปค๋ฐ‹์—์„œ ์ด๋ฏธ ์ˆ˜์ •๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
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
์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰