Slide 1

Slide 1 text

Perl6ͷecosystem Shoichi Kaji

Slide 2

Slide 2 text

Me • Shoichi Kaji • CPAN, github: skaji • Perl5: cpm • Perl6: mi6

Slide 3

Slide 3 text

͸͡Ίʹ • 2015೥ΫϦεϚε Perl6ϦϦʔε • ೔ຊͰ͸tokuhirom͞Μ͕த৺ͱͳΓ
 Plack cloneͰ͋ΔCrustΛ࡞ͬͨΓͯ͠੝Γ্͕ͬͨ • ϦϦʔε͔Β2೥3ϲ݄ܦա • ண࣮ʹ҆ఆੑɺ଎౓͕վળ͖ͯͨ͠ • ecosystem·ΘΓ΋มԽɻࠓ೔͸͜͜Λ঺հ͍ͨ͠

Slide 4

Slide 4 text

Contents • ecosystemͱ͸? • ecosystem: Perl5 • ecosystem: ϦϦʔε౰࣌ͷPerl6 • ecosystem: ࠓͷPerl6 • Perl6 moduleͷΦʔαϦϯά • ·ͱΊ • Perl6 ecosystemͷࠓޙ

Slide 5

Slide 5 text

ecosystemͱ͸? • ͜͜Ͱ͸ʮ࠶ར༻ՄೳͳϓϩάϥϜͷ഑෍ɺΠϯετʔϧͷ࢓૊Έʯͱ ͢Δ • PerlͰʮ࠶ར༻ՄೳͳϓϩάϥϜʯͱ͸moduleɺ΋͘͠͸ͦΕΛ·ͱ ΊͨdistributionͰ͋Δ • ecosystemͷதͰҎԼʹண໨͢Δ • ഑෍৔ॴ • index • installer

Slide 6

Slide 6 text

Perl5 • ഑෍৔ॴ • CPAN (via PAUSE) • Index • 02packages.details.txt created by PAUSE • cpanmetadb • metacpan • installer • CPAN.pm, CPANPLUS, cpanminus

Slide 7

Slide 7 text

ϦϦʔε౰࣌ͷPerl6 • ഑෍৔ॴ • github • index • https://github.com/perl6/ecosystem ͷMETA.list΁
 PRͰ௥Ճ • installer • panda

Slide 8

Slide 8 text

ࠓͷPerl6 • ഑෍৔ॴ • CPAN (via PAUSE) • index • App::ecogen • installer • zef

Slide 9

Slide 9 text

ࠓͷPerl6 - PAUSE • CPANʹ͸Perl5 distribution΋͋ΔͷͰɺ୯७ʹPerl6 distribution΋upload͢Δͱ໊લ͕িಥͯ͠͠·͏ɻͲ͏͢Δ͔ • PAUSEʹdistribution͕upload͞Εͨͱ͖ • META6.jsonΛؚΉ৔߹ɺPerl6 distributionͱ൑அ • ͦͷͱ͖ɺࣗಈతʹ S/SK/SKAJI/Perl6/ ҎԼʹ഑ஔ • ࠓͷͱ͜ΖɺPerl6σΟϨΫϦҎԼʹ഑ஔ͢ΔҎ֎ɺ
 ಛผͳૢ࡞͸͍ͯ͠ͳ͍

Slide 10

Slide 10 text

ࠓͷPerl6 - App::ecogen • ఆظతʹCPANΛrsyncͯ͠
 Perl6 distributionͷindexΛ࡞͍ͬͯΔ • ڧ͍:)

Slide 11

Slide 11 text

ࠓͷPerl6 - zef • A module installer by Nick Logan (ugexe) • Perl6ͷfeatureΛ;ΜͩΜʹ࢖ͬͨ
 ׬੒౓ͷߴ͍module installer • rakudoͷbugͷworkaround͕
 ݁ߏೖ͍ͬͯΔҹ৅:)

Slide 12

Slide 12 text

Perl6 moduleͷΦʔαϦϯά • ecosystem͸Θ͔ͬͨɻͰ͸Ͳ͏΍ͬͯ
 Perl6 moduleΛॻ͍͍͔ͯ͘ • mi6 • Minilla/Dist::Milla clone • Now it has "release" command that uploads distributions to CPAN!

Slide 13

Slide 13 text

Perl6 moduleͷΦʔαϦϯά › mi6 new Your::Module # hack, hack, hack! › cd Your::Module; vim lib/Your/Module.pm › mi6 release ==> Release distribution to CPAN There are 11 steps: * Step 1. CheckChanges * Step 2. CheckOrigin * Step 3. CheckUntrackedFiles * Step 4. BumpVersion * Step 5. RegenerateFiles * Step 6. DistTest * Step 7. MakeDist * Step 8. UploadToCPAN * Step 9. RewriteChanges * Step10. GitCommit * Step11. CreateGitTag distributionͷ εέϧτϯ࡞੒͔Β CPAN΁ͷupload·Ͱ Ͱ͖Δ

Slide 14

Slide 14 text

·ͱΊ • ࠓͷPerl6ͷecosystem͸Լه3͔ͭΒͳΔ • CPAN (via PAUSE) • App::ecogen • zef • mi6Λ࢖͏͜ͱͰ؆୯ʹPerl6 moduleͷ
 ΦʔαϦϯάɺCPAN΁ͷupload͕Ͱ͖Δ

Slide 15

Slide 15 text

Perl6 ecosystemͷࠓޙ • PAUSEͰindex࡞੒? • Ұ࣌ظFROGGS͞Μ͕PAUSEʹPerl6 moduleઐ༻ͷ ॲཧΛ࣮૷͠Α͏ͱ͍ͯͨ͠ɻͦΕ͕ਐΉ͔΋ • CPAN Testersͱͷ࿈ܞ? • Perl Toolchain Summit 2017Ͱগ͠ਐల͕͋ͬͨ • MetaCPANͱͷ࿈ܞ?