Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Swift製CLIツールをMintを使わずSwiftPackageManagerで管理する
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yasuharu Yanamura
February 12, 2020
Programming
2.6k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift製CLIツールをMintを使わずSwiftPackageManagerで管理する
Yasuharu Yanamura
February 12, 2020
More Decks by Yasuharu Yanamura
See All by Yasuharu Yanamura
Conditional Contents in SwiftUI
yanamura
2
22k
iOS開発からフロントエンド開発に転身
yanamura
0
2.6k
Other Decks in Programming
See All in Programming
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
11
4.3k
IBM Bobを活用したレガシーアプリの最新化
oniak3ibm
PRO
1
200
Snowflake Summitでの新機能 CoCo / CoWork / snowflake-summit-2026-overall-what-new-coco
tatsuhiro
1
150
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
270
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
C# and C++ Interoperability - cho-dotnetnew
harukasao
0
260
決定論的オーケストレーションの設計と実装 / Design and Implementation of Deterministic Orchestration
nrslib
4
1.4k
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.4k
jQueryをバージョンアップする前に使いたいjQuery Migrate
matsuo_atsushi
0
560
ふつうのFeature Flag実践入門
irof
8
4k
気づいたらRubyで100作品 ー クリエイティブコーディングが生活の一部になるまで / 100 Ruby Sketches Later: How Creative Coding Became Part of My Life
chobishiba
3
590
Performance Engineering for Everyone
elenatanasoiu
0
180
Featured
See All Featured
Ruling the World: When Life Gets Gamed
codingconduct
0
260
The Mindset for Success: Future Career Progression
greggifford
PRO
0
360
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.7k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
160
The Pragmatic Product Professional
lauravandoore
37
7.3k
Typedesign – Prime Four
hannesfritz
42
3.1k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Building the Perfect Custom Keyboard
takai
2
800
Transcript
SwiftCLIπʔϧΛMintΛΘͣ SwiftPackageManagerͰཧ͢Δ Potatotips #68 2020/2/12 Yasuharu Yanamura
ࣗݾհ • Yasuharu Yanamura/༄ଜ ߁ • ɹ@yanamura_ɹɹ@yanamura • ίωώτגࣜձࣾ •
ϚϚϦiOSΞϓϦ։ൃ
iOSͷ։ൃͰ͏πʔϧྨ • SwiftFormat • SwiftLint • XcodeGen etc...
ཧํ๏͍Ζ͍Ζ • Homebrew • Cocoapods • Mint
Swift Package ManagerΛͬͨํ๏
͍ํ // swift-tools-version:5.1 import PackageDescription let package = Package( name:
"Tools", dependencies: [ .package(url: "https://github.com/apple/swift-format", .branch("master")), .package(url: "https://github.com/yonaskolb/XcodeGen", from: "2.13.0"), .package(url: "https://github.com/mac-cain13/R.swift", .exact("5.1.0")), ] ) Package.swift
͍ํ // swift-tools-version:5.1 import PackageDescription let package = Package( name:
"Tools", dependencies: [ .package(url: "https://github.com/apple/swift-format", .branch("master")), .package(url: "https://github.com/yonaskolb/XcodeGen", from: "2.13.0"), .package(url: "https://github.com/mac-cain13/R.swift", .exact("5.1.0")), ] ) Package.swift OBNFద
͍ํ // swift-tools-version:5.1 import PackageDescription let package = Package( name:
"Tools", dependencies: [ .package(url: "https://github.com/apple/swift-format", .branch("master")), .package(url: "https://github.com/yonaskolb/XcodeGen", from: "2.13.0"), .package(url: "https://github.com/mac-cain13/R.swift", .exact("5.1.0")), ] ) Package.swift EFQFOEFODJFTʹ͏ πʔϧΛྻڍ
͍ํ $ swift run -c release xcodegen ࣮ߦ
͍ํ $ swift run -c release xcodegen ࣮ߦ ॳճ࣮ߦϏϧυ͕ΔͷͰ͍͕ɺ ̎ճҎ߱Ωϟογϡ͞ΕΔͷͰ͍
MintͷΑ͏ͳύοέʔδཧπʔϧͷΠϯ ετʔϧͳ͠Ͱ͑Δ
طʹSwiftPMͬͯΔ߹ - Package.swiftͷdependenciesʹπʔϧྨ͍Εͨ͘ͳ͍ dependencies: [ .package(url: "https://github.com/kylef/PathKit.git", from: "1.0.0"), .package(url:
"https://github.com/jakeheis/SwiftCLI.git", from: "5.0.0"), .package(url: "https://github.com/apple/swift-format", .branch("master")), ], πʔϧผʹ͍ͨ͠
طʹSwiftPMͬͯΔ߹ - πʔϧ༻ͷσΟϨΫτϦΛ࡞ͬͯͦ͜ʹπʔϧ༻ͷ Package.swiftΛஔ͘
طʹSwiftPMͬͯΔ߹ - πʔϧ༻ͷσΟϨΫτϦΛ࡞ͬͯͦ͜ʹπʔϧ༻ͷ Package.swiftΛஔ͘ - swift runͷpackage-pathͰͦͷσΟϨΫτϦΛࢦఆ $ swift run
-c release --package-path Tools xcodegen 1BDLBHFTXJGUͷ͋Δ σΟϨΫτϦΛࢦఆ
Mintͱͷൺֱ
Ωϟογϡͷอଘઌ SwiftPackageManager: ./.buildҎԼʹอଘ Mint: /user/local/mintҎԼʹอଘ
ઃఆϑΝΠϧ SwiftPackageManager: Package.swift͕ඞਢ Mint: Mintfileͳ͠Ͱ࣮ߦͰ͖Δ $ mint run yonoskolb/
[email protected]
xcodegen
ৄͪ͘͜͠Β • SwiftCLIπʔϧΛMintΛΘͣSwiftPMͰཧ͢Δ - ίωώτ ։ൃऀϒϩά-
͋Γ͕ͱ͏͍͟͝·ͨ͠ʂ