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 Package Mangerのバグを直した話
Search
k-kohey
September 26, 2023
Technology
2
1.6k
Swift Package Mangerのバグを直した話
k-kohey
September 26, 2023
Tweet
Share
More Decks by k-kohey
See All by k-kohey
ゲームボーイアドバンスでSwiftを動かそう
k_koheyi
0
1.3k
swift-async-algorithms...? へえ…面白そうじゃん…?
k_koheyi
3
1.7k
[社内勉強会]Parchment-swiftの実装説明
k_koheyi
0
150
[社内勉強会]Combineの説明
k_koheyi
0
40
あるインスタンスの取る値が 何パターンあるか数えてみるンゴ!
k_koheyi
1
180
Tuistを用いた Xcode Project管理の紹介
k_koheyi
0
220
SwiftでわかるSOLID原則 iOSDC 2020
k_koheyi
3
2.9k
Other Decks in Technology
See All in Technology
[CV勉強会@関東 ICCV2025] WoTE: End-to-End Driving with Online Trajectory Evaluation via BEV World Model
shinkyoto
0
270
ECS組み込みのBlue/Greenデプロイを動かしてELB側の動きを観察してみる
yuki_ink
1
100
Lazy Constant - finalフィールドの遅延初期化
skrb
0
230
現地速報!Microsoft Ignite 2025 M365 Copilotアップデートレポート
kasada
1
1.1k
AI × クラウドで シイタケの収穫時期を判定してみた
lamaglama39
1
350
グローバルなコンパウンド戦略を支えるモジュラーモノリスとドメイン駆動設計
kawauso
1
980
Rubyist入門: The Way to The Timeless Way of Programming
snoozer05
PRO
7
510
明日から真似してOk!NOT A HOTELで実践している入社手続きの自動化
nkajihara
1
820
AIエージェントによるエンタープライズ向けスライド検索!
shibuiwilliam
3
560
[mercari GEARS 2025] なぜメルカリはノーコードを選ばなかったのか? 社内問い合わせ工数を60%削減したLLM活用の裏側
mercari
PRO
0
130
[mercari GEARS 2025] Building Foundation for Mercari’s Global Expansion
mercari
PRO
1
140
『HOWはWHY WHATで判断せよ』 〜『ドメイン駆動設計をはじめよう』の読了報告と、本質への探求〜
panda728
PRO
5
2.1k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
54k
KATA
mclloyd
PRO
32
15k
Fireside Chat
paigeccino
41
3.7k
Automating Front-end Workflow
addyosmani
1371
200k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Facilitating Awesome Meetings
lara
57
6.6k
Thoughts on Productivity
jonyablonski
73
4.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.8k
The Invisible Side of Design
smashingmag
302
51k
GitHub's CSS Performance
jonrohan
1032
470k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
A designer walks into a library…
pauljervisheath
210
24k
Transcript
4XJGU1BDLBHF.BOHFS ͷόάΛͨ͠ ू·Ε4XJGU͖ʂ4XJGUѪձWPM!%F/" גࣜձࣾϦΫϧʔτ LLPIFZ
ಥવͰ͕͢ 4XJGU1BDLBHF.BOBHFSͬͯ·͔͢ʁ🙋🙋
͜ͷ-5Ͱ͢ࣄʛഎܠ • 4XJGU1BDLBHF.BOBHFSΛͬͯ$ݴޠͷ5BSHFUΛ࡞Δ͜ͱ͕Ͱ͖Δ • 5BSHFUʹιʔεϑΝΠϧ͚ͩͰͳ͘ϔομʔϑΝΠϧؚΉ͜ͱ͕Ͱ͖Δ • $ݴޠͷ5BSHFUιʔεϑΝΠϧ͕̍ͭҎ্ؚ·Εͳ͍ͱ࡞Εͳ͍ όά͕͋ͬͨʢ˞ʣ • ιʔεϑΝΠϧؚ͕·Εͳ͍ͱΤϥʔΛग़ྗ͢Δ
• ݪཧతʹϔομʔϑΝΠϧͷΈͰΑ͍ͣ ʢ˞ʣhttps://github.com/apple/swift-package-manager/issues/4806
͜ͷ-5Ͱ͢ࣄʛഎܠ ͦͷͨΊϔομʔϑΝΠϧ͔͠ඞཁͳ͍5BSHFUͰۭͷ࣮Λ ιʔεϑΝΠϧͱͯ͠Ճ͢ΔϫʔΫΞϥϯυ͕ੜ https://github.com/apple/swift-numerics/blob/main/Sources/_NumericsShims/_NumericsShims.c (意訳) - このファイルは NumericShims モジュールを ビルドするためだけに存在する
- このファイルがないと swiftpm は何もビルド しない
͜ͷ-5Ͱ͢ࣄʛഎܠ ͨ͠🎉
4XJGU1BDLBHF.BOBHFSίϯτϦϏϡʔτॳ৺ऀ ͕ίϯτϦϏϡʔτͨ͠ମݧΛجʹ ಉ͘͡ॳ৺ऀ͕ίϯτϦϏϡʔτ͢Δࡍͷॿ͚ʹͳΔΑ͏ʹ ݟΛڞ༗ɾൃද͍ͨ͠ͱࢥ͍·͢ʂ
͜ͷ-5Ͱ͢ࣄʛΞδΣϯμ ҎԼͷ߲ʹԊͬͯ͠·͢ • ։ൃ͢Δલ४උ • मਖ਼͢Δ • 13Λ࡞Δ • ײ
։ൃ͢Δલ४උʛJTTVFΛݟ͚ͭΔ • JTTVFͨ͘͞Μ͋Δ • ݅ͷJTTVF͕PQFO͞Ε͍ͯΔʢ࣌ʣ • HPPEpSTUJTTVFϥϕϧͰϑΟϧλ͢ΔͱͷJTTVFΛݟ͚͍ͭ͢ https://github.com/apple/swift-package- manager/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22
։ൃ͢Δલ४උʛJTTVFΛબ͢Δ JTTVFΛબ͢Δ্ͰҎԼͷ֬ೝΛ͢Δͱྑͦ͞͏ͩͬͨ • طʹ'JYࡁΈͷJTTVFͰͳ͍͔ • JTTVF͕PQFOͰɺ࣮ॏෳ͢Δ༰ͷJTTVF͕ଘࡏ͠ɺͦͷJTTVF͕طʹमਖ਼͞Ε͍ͯΔͱ͍͏ έʔε͕͋Δ • Ί΅͍͠ΩʔϫʔυͰݕࡧ͠ɺࣅͨΑ͏ͳJTTVF͕ͳ͍͔֬ೝ͢Δͱྑ͍ •
طʹJTTVFʹணख͍ͯ͠Δਓ͕͍ͳ͍͔ • ΞαΠϯ͕ܾ·ͬͯΔΑ͏ʹݟ͑ͯɺ͍ؒQFOEJOHʹͳ͍ͬͯΔͷ͋Δʹҙ • मਖ਼ํʹؔͯ͠ • ϝϯςφʔͷํ͕Օॴमਖ਼ํʹؔͯ͠ΞυόΠε͍ͯ͠ΔJTTVFΛࢄݟͨͨ͠Ίɺฉ͍ͨΒ ڭ͑ͯ͘Εͦ͏ͳงғؾ͕͋ͬͨ
։ൃ͢Δલ४උ ʛڥߏங ڥߏங9DPEF͕͑Δڥͩͱ؆୯ʹߦ͑Δʢ˞ʣ 9DPEFΛΠϯετʔϧ IUUQTHJUIVCDPNBQQMFTXJGUQBDLBHFNBOBHFSΛ DMPOF͢Δ ϧʔτσΟϨΫτϦʹଘࡏ͢Δ1BDLBHFTXJGUΛ։͘
ҙͷ4DIFNFΛબ͠Ϗϧυ͢Δ ςετΛ࣮ߦ͢Δ߹4XJGU1.1BDLBHFΛબ ʢ˞ʣhttps://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#using-xcode-easiest
मਖ਼͢ΔʛΞτϥΠϯ ࣗͷमਖ਼ΛྫʹͱΔͱҎԼͷΑ͏ͳաఔͰमਖ਼Λߦͬͨ ग़ྗ͔ΒՕॴΛಛఆ ՕॴʹςετίʔυΛՃ ςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼
मਖ਼͢Δʛग़ྗ͔ΒՕॴΛಛఆ मਖ਼ͷରͱͳΔ)FBEFSϑΝΠϧͷΈΛؚΜͩ5BSHFUΛ࡞Ζ͏ ͱ͢ΔͱɺҎԼͷΑ͏ͳग़ྗ͕ಘΒΕΔࣄ͕Θ͔͍ͬͯͨ • [warning]: Source files for target Bar
should be located under 'Sources/Bar', or a custom sources path can be set with the 'path' property in Package.swift • [error]: target 'Bar' referenced in product 'Bar' is empty
मਖ਼͢Δʛग़ྗ͔ΒՕॴΛಛఆ ग़ྗΛجʹϓϩδΣΫτͰݕࡧΛ͔͚ΔͱɺΤϥʔΛग़ྗ͍ͯ͠ΔՕॴɺ ͭ·ΓՕॴΛѲ͢Δ͜ͱ͕Ͱ͖ͨ
ᶃΤϥʔ࣌ͷग़ྗΛߦ͏ ͕ؔ໌ ᶄ্هͷؔUBSHFU͕OJMͷͱ͖ʹ ݺΕΔ͜ͱ͕໌ ᶅUBSHFUΛ࡞ΔࡍʹOJMΛฦ͍ͯ͠Δ Օॴ͕໌
मਖ਼͢ΔʛՕॴʹςετίʔυΛՃ • Օॴ͕໌ͨ͠ͷͰɺςετίʔυΛՃͯ͠σόοά͢Δ४උΛߦ ͳͬͨ • 4XJGU1BDLBHF.BOBHFSΛϏϧυͯ͠ɺੜ͞Εͨ$-*πʔϧΛͬͯσ όοά͢Δํ๏͋Δ͕໘ͳͷͰۃྗආ͚ͨ • 13࡞Δલʹ࠷ऴ֬ೝͱͯ͜͠ͷํ๏Λͬͯσόοάͨ͠ •
4XJGU1BDLBHF.BOBHFSΛTXJGUCVJME͢ΔͱCVJMEʹTXJGUQBDLBHFTXJGUCVJMEίϚϯυ͕ੜ͞ΕΔ(※) (※)https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#local-development
मਖ਼͢ΔʛՕॴʹςετίʔυΛՃ • ଞͷςετέʔεΛਅࣅͯ͠ όά͕ൃੜ͢Δঢ়گΛ࠶ݱͨ͠ ςετέʔεΛՃ • ͪΖΜςετέʔεࣦഊ͢ Δ͕ɺҙਤ͍ͯͨ͠Τϥʔग़ྗ ΛಘΒΕͯ҆৺ͨ͠ •
͋ͱɺ͜ͷςετέʔε͕ޭ ͢ΔΑ͏ʹमਖ਼͢Ε͍͍
मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔அ͍ͯ͠Δ͕ɺ ͦͷஅʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFTSFTPVDFT͕ۭͰϔομʔ͕͋ΕUBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠
मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔அ͍ͯ͠Δ͕ɺ ͦͷஅʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFTSFTPVDFT͕ۭͰϔομʔ͕͋ΕUBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠ ςετޭ🎉
͋ͱ13Λ࡞Δ͚ͩʂ
13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests
13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests apple/swift-format じゃないんだ😯
13Λ࡞ΔʛϨϏϡʔΛड͚Δ すんなりマージしてくれた
ײ • ීஈར༻͍ͯ͠ΔπʔϧʹίϯτϦϏϡʔτ͢Δ͜ͱͰɺ ΤϯδχΞϞνϕ্͕͕ͬͨ • ࠓճͷमਖ਼؆୯ͳϑϥά੍ޚͷϛεΛਖ਼͢ͷ͕ͩͬͨɺͦͷΑ͏ͳ όά͕4XJGU1BDLBHF.BOBHFSʹ͋Δͷ͕ڻ͍ͨ • ௐࢠʹͷͬͯଞͷJTTVF͕ͨ͠ɺ13Λग़ͨ͋͠ͱʹطʹमਖ਼ࡁΈͷ JTTVFͩͬͨࣄ͕໌͠൵͘͠ͳͬͨ
• ઌड़ͨ͠JTTVFͷ୳͠ํʹؔ͢Δࣗͷࣦഊஊ͔ΒͰ͢😅
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠