Slide 1

Slide 1 text

4XJGU1BDLBHF.BOHFS ͷόάΛ௚ͨ͠࿩ ू·Ε4XJGU޷͖ʂ4XJGUѪ޷ձWPM!%F/" גࣜձࣾϦΫϧʔτ LLPIFZ

Slide 2

Slide 2 text

ಥવͰ͕͢ 4XJGU1BDLBHF.BOBHFS࢖ͬͯ·͔͢ʁ🙋🙋

Slide 3

Slide 3 text

͜ͷ-5Ͱ࿩͢ࣄʛഎܠ • 4XJGU1BDLBHF.BOBHFSΛ࢖ͬͯ$ݴޠͷ5BSHFUΛ࡞Δ͜ͱ͕Ͱ͖Δ • 5BSHFUʹ͸ιʔεϑΝΠϧ͚ͩͰͳ͘ϔομʔϑΝΠϧ΋ؚΉ͜ͱ͕Ͱ͖Δ • $ݴޠͷ5BSHFU͸ιʔεϑΝΠϧ͕̍ͭҎ্ؚ·Εͳ͍ͱ࡞Εͳ͍ όά͕͋ͬͨʢ˞ʣ • ιʔεϑΝΠϧؚ͕·Εͳ͍ͱΤϥʔΛग़ྗ͢Δ • ݪཧతʹ͸ϔομʔϑΝΠϧͷΈͰ΋Α͍͸ͣ ʢ˞ʣhttps://github.com/apple/swift-package-manager/issues/4806

Slide 4

Slide 4 text

͜ͷ-5Ͱ࿩͢ࣄʛഎܠ ͦͷͨΊϔομʔϑΝΠϧ͔͠ඞཁͳ͍5BSHFUͰ͸ۭͷ࣮૷Λ ιʔεϑΝΠϧͱͯ͠௥Ճ͢ΔϫʔΫΞϥ΢ϯυ͕஀ੜ https://github.com/apple/swift-numerics/blob/main/Sources/_NumericsShims/_NumericsShims.c (意訳) - このファイルは NumericShims モジュールを ビルドするためだけに存在する - このファイルがないと swiftpm は何もビルド しない

Slide 5

Slide 5 text

͜ͷ-5Ͱ࿩͢ࣄʛഎܠ ௚ͨ͠🎉

Slide 6

Slide 6 text

4XJGU1BDLBHF.BOBHFSίϯτϦϏϡʔτॳ৺ऀ ͕ίϯτϦϏϡʔτͨ͠ମݧΛجʹ ಉ͘͡ॳ৺ऀ͕ίϯτϦϏϡʔτ͢Δࡍͷॿ͚ʹͳΔΑ͏ʹ ஌ݟΛڞ༗ɾൃද͍ͨ͠ͱࢥ͍·͢ʂ

Slide 7

Slide 7 text

͜ͷ-5Ͱ࿩͢ࣄʛΞδΣϯμ ҎԼͷ߲໨ʹԊͬͯ࿩͠·͢ • ։ൃ͢Δલ४උ • मਖ਼͢Δ • 13Λ࡞Δ • ײ૝

Slide 8

Slide 8 text

։ൃ͢Δલ४උʛ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

Slide 9

Slide 9 text

։ൃ͢Δલ४උʛJTTVFΛબ୒͢Δ JTTVFΛબ୒͢Δ্ͰҎԼͷ֬ೝΛ͢Δͱྑͦ͞͏ͩͬͨ • طʹ'JYࡁΈͷJTTVFͰͳ͍͔ • JTTVF͕PQFOͰ΋ɺ࣮͸ॏෳ͢Δ಺༰ͷJTTVF͕ଘࡏ͠ɺͦͷJTTVF͕طʹमਖ਼͞Ε͍ͯΔͱ͍͏ έʔε͕͋Δ • Ί΅͍͠ΩʔϫʔυͰݕࡧ͠ɺࣅͨΑ͏ͳJTTVF͕ͳ͍͔֬ೝ͢Δͱྑ͍ • طʹJTTVFʹணख͍ͯ͠Δਓ͕͍ͳ͍͔ • ΞαΠϯ͕ܾ·ͬͯΔΑ͏ʹݟ͑ͯ΋ɺ௕͍ؒQFOEJOHʹͳ͍ͬͯΔ΋ͷ΋͋Δ఺ʹ஫ҙ • मਖ਼ํ਑ʹؔͯ͠ • ϝϯςφʔͷํ͕໰୊Օॴ΍मਖ਼ํ਑ʹؔͯ͠ΞυόΠε͍ͯ͠ΔJTTVFΛࢄݟͨͨ͠Ίɺฉ͍ͨΒ ڭ͑ͯ͘Εͦ͏ͳงғؾ͕͋ͬͨ

Slide 10

Slide 10 text

։ൃ͢Δલ४උ ʛ؀ڥߏங ؀ڥߏங͸9DPEF͕࢖͑Δ؀ڥͩͱ؆୯ʹߦ͑Δʢ˞ʣ 9DPEFΛΠϯετʔϧ IUUQTHJUIVCDPNBQQMFTXJGUQBDLBHFNBOBHFSΛ DMPOF͢Δ ϧʔτσΟϨΫτϦʹଘࡏ͢Δ1BDLBHFTXJGUΛ։͘ ೚ҙͷ4DIFNFΛબ୒͠Ϗϧυ͢Δ ςετΛ࣮ߦ͢Δ৔߹͸4XJGU1.1BDLBHFΛબ୒ ʢ˞ʣhttps://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#using-xcode-easiest

Slide 11

Slide 11 text

मਖ਼͢ΔʛΞ΢τϥΠϯ ࣗ਎ͷमਖ਼ΛྫʹͱΔͱҎԼͷΑ͏ͳաఔͰमਖ਼Λߦͬͨ ग़ྗ͔Β໰୊ՕॴΛಛఆ ໰୊ՕॴʹςετίʔυΛ௥Ճ ςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼

Slide 12

Slide 12 text

मਖ਼͢Δʛग़ྗ͔Β໰୊ՕॴΛಛఆ मਖ਼ͷର৅ͱͳΔ)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

Slide 13

Slide 13 text

मਖ਼͢Δʛग़ྗ͔Β໰୊ՕॴΛಛఆ ग़ྗΛجʹϓϩδΣΫτ಺ͰݕࡧΛ͔͚ΔͱɺΤϥʔΛग़ྗ͍ͯ͠ΔՕॴɺ ͭ·Γ໰୊ՕॴΛ೺Ѳ͢Δ͜ͱ͕Ͱ͖ͨ

Slide 14

Slide 14 text

ᶃΤϥʔ࣌ͷग़ྗΛߦ͏ ؔ਺͕൑໌ ᶄ্هͷؔ਺͸UBSHFU͕OJMͷͱ͖ʹ ݺ͹ΕΔ͜ͱ͕൑໌ ᶅUBSHFUΛ࡞ΔࡍʹOJMΛฦ͍ͯ͠Δ Օॴ͕൑໌

Slide 15

Slide 15 text

मਖ਼͢Δʛ໰୊ՕॴʹςετίʔυΛ௥Ճ • ໰୊Օॴ͕൑໌ͨ͠ͷͰɺςετίʔυΛ௥Ճͯ͠σόοά͢Δ४උΛߦ ͳͬͨ • 4XJGU1BDLBHF.BOBHFSΛϏϧυͯ͠ɺੜ੒͞Εͨ$-*πʔϧΛ࢖ͬͯσ όοά͢Δํ๏΋͋Δ͕໘౗ͳͷͰۃྗආ͚ͨ • 13࡞Δલʹ࠷ऴ֬ೝͱͯ͜͠ͷํ๏Λ࢖ͬͯσόοάͨ͠ • 4XJGU1BDLBHF.BOBHFSΛTXJGUCVJME͢ΔͱCVJMEʹTXJGUQBDLBHF΍TXJGUCVJMEίϚϯυ͕ੜ੒͞ΕΔ(※) (※)https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#local-development

Slide 16

Slide 16 text

मਖ਼͢Δʛ໰୊ՕॴʹςετίʔυΛ௥Ճ • ଞͷςετέʔεΛਅࣅͯ͠ όά͕ൃੜ͢Δঢ়گΛ࠶ݱͨ͠ ςετέʔεΛ௥Ճ • ΋ͪΖΜςετέʔε͸ࣦഊ͢ Δ͕ɺҙਤ͍ͯͨ͠Τϥʔग़ྗ ΛಘΒΕͯ҆৺ͨ͠ • ͋ͱ͸ɺ͜ͷςετέʔε͕੒ޭ ͢ΔΑ͏ʹमਖ਼͢Ε͹͍͍

Slide 17

Slide 17 text

मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞੒͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔൑அ͍ͯ͠Δ͕ɺ ͦͷ൑அʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFT΍SFTPVDFT͕ۭͰ΋ϔομʔ͕͋Ε͹UBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠

Slide 18

Slide 18 text

मਖ਼͢Δʛςετ͕௨ΔΑ͏ʹίʔυΛमਖ਼ • 5BSHFUΛ࡞੒͢Δࡍʹ5BSHFUΛOJMʹ͢Δ͔൑அ͍ͯ͠Δ͕ɺ ͦͷ൑அʹϔομʔͷ༗ແ͕ߟྀ͞Εͯͳ͔ͬͨ • TPVSDFT΍SFTPVDFT͕ۭͰ΋ϔομʔ͕͋Ε͹UBSHFU͕OJMʹͳΒͳ͍Α ͏ʹͨ͠ ςετ੒ޭ🎉

Slide 19

Slide 19 text

͋ͱ͸13Λ࡞Δ͚ͩʂ

Slide 20

Slide 20 text

13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests

Slide 21

Slide 21 text

13Λ࡞ΔʛίϯτϦϏϡʔτΨΠυʹै͏ https://github.com/apple/swift-package-manager/blob/main/CONTRIBUTING.md#creating-pull- requests apple/swift-format じゃないんだ😯

Slide 22

Slide 22 text

13Λ࡞ΔʛϨϏϡʔΛड͚Δ すんなりマージしてくれた

Slide 23

Slide 23 text

ײ૝ • ීஈར༻͍ͯ͠ΔπʔϧʹίϯτϦϏϡʔτ͢Δ͜ͱͰɺ ΤϯδχΞϞνϕ্͕͕ͬͨ • ࠓճͷमਖ਼͸؆୯ͳϑϥά੍ޚͷϛεΛਖ਼͢΋ͷ͕ͩͬͨɺͦͷΑ͏ͳ όά͕4XJGU1BDLBHF.BOBHFSʹ͋Δͷ͕ڻ͍ͨ • ௐࢠʹͷͬͯଞͷJTTVF΋௚͕ͨ͠ɺ13Λग़ͨ͋͠ͱʹطʹमਖ਼ࡁΈͷ JTTVFͩͬͨࣄ͕൑໌͠൵͘͠ͳͬͨ • ઌड़ͨ͠JTTVFͷ୳͠ํʹؔ͢Δ࿩͸ࣗ෼ͷࣦഊஊ͔ΒͰ͢😅

Slide 24

Slide 24 text

͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠