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
PR出したけど放置されてるのでライブラリ化した話.pdf
Search
ochim
September 28, 2019
Programming
870
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
PR出したけど放置されてるのでライブラリ化した話.pdf
ochim
September 28, 2019
More Decks by ochim
See All by ochim
The Battle Of Apple App Reviews
ochim
0
260
あるOSSにPR出したけど放置されてる話
ochim
0
200
swift-love-vol38-vision
ochim
1
610
Visionとモザイクで 遊んでみた
ochim
1
200
Other Decks in Programming
See All in Programming
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
140
PHPで使える日時の表現と、その知り方 #frontend_phpcon_do
o0h
PRO
0
260
AIで効率化できた業務・日常
ochtum
0
140
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
14
5.6k
Inside Stream API
skrb
1
740
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
660
ECSアプリログをFireLensでコスト削減しようとしたけど諦めた話 in Fargate×Node.js
akihisaikeda
2
4.2k
そのテスト、説明できますか?~LWテスト戦略FW~のご紹介
nakahara
0
150
The ROI of Quarkus for Spring Boot Applications
hollycummins
0
120
OSもどきOS
arkw
0
570
Contextとはなにか
chiroruxx
1
330
Featured
See All Featured
Faster Mobile Websites
deanohume
310
31k
Deep Space Network (abreviated)
tonyrice
0
210
Un-Boring Meetings
codingconduct
0
320
The Limits of Empathy - UXLibs8
cassininazir
1
360
How to train your dragon (web standard)
notwaldorf
97
6.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Color Theory Basics | Prateek | Gurzu
gurzu
0
370
The Spectacular Lies of Maps
axbom
PRO
1
820
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
The Cult of Friendly URLs
andyhume
79
6.9k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
440
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
3.5k
Transcript
あるAndroidライブラリにPR 出したけど放置されてるので ライブラリ化した話 越智 宗洋 shibuya.apk #37 2019/09/27
自己紹介 • 越智 宗洋 • Twitter: @ochi_tw • オフィスは勝どき • Android/iOSエンジニア
目次 • 経緯 • PR出した • ライブラリ公開 • まとめ
経緯 担当していたニュースアプリでこんな話が出た... 上部のタブをループさせたいんだけど、できる?
検索したら https://teratail.com/questions/35856
nshmura/RecyclerTabLayout 最新コミット2年前じゃん... Support Library使ってる。AndroidX対応してない... 使えないなぁ... でも他にいい情報ないなぁ... https://github.com/nshmura/RecyclerTabLayout
複数の API バージョンをサポートするアプリを開発するときは、以前のバージョンの Android に新しい機能を提 供したり、同等の機能にスムーズに戻したりする標準的な方法が必要な場合があります。以前のバージョンの プラットフォームを処理するコードを構築する代わりに、これらのライブラリを利用してその互換性レイヤを提供 できます。さらに、Support Library には標準のフレームワーク
API では利用できない便利なクラスや機能が追 加され、より多くのデバイスにまたがる開発やサポートが容易になっています。 元々はアプリ向けの単一バイナリ ライブラリであった Android Support Library が、アプリ開発用のライブラリ スイートに進化しました。現在、これらのライブラリの多くは、必須ではありませんがアプリ開発の一部として強く 推奨されています。 補足.Support Library https://developer.android.com/topic/libraries/support-library?hl=JA
https://developer.android.com/jetpack/androidx?hl=JA 補足.AndroidX AndroidX は Android チームが Jetpack 内でのライブラリの開発、テスト、パッケージ、バージョン管理、リリースに使用している オープンソース プロジェクトです。
AndroidX は元の Android Support Library を大幅に改良しています。Support Library と同様に、AndroidX も Android OS とは別 個にリリースされ、Android のリリース全体にわたって下位互換性を提供します。AndroidX は、同等の機能と新しいライブラリを提 供することで、完全に Support Library の代わりとなります。さらに AndroidX には以下のような特徴があります。 ・AndroidX のパッケージはすべて、文字列 androidx で始まる一貫した名前空間に属します。Support Library のパッケージは対応 する androidx.* パッケージにマッピングされました。以前のクラスとビルド アーティファクトから新しいものへのマッピングの一覧は、 パッケージのリファクタリングに関するページをご覧ください。 ・Support Library とは異なり、AndroidX のパッケージは個別に管理され、更新されます。androidx のパッケージはバージョン 1.0.0 から始まる厳格なセマンティック バージョニングを使用します。デベロッパーのプロジェクト内の AndroidX ライブラリを独立して更新 できます。 ・Support Library の新規の開発はすべて AndroidX ライブラリ内で行われます。これには元の Support Library のアーティファクト のメンテナンスや、新しい Jetpack コンポーネントの導入が含まれます。
じゃあ自分でやるか! Forkして自分のリポジトリを作った。 Migrate to AndroidX した。 問題なさそう。 PR出すか!! https://github.com/ochim/RecyclerTabLayout
PR出した https://github.com/nshmura/RecyclerTabLayout/pull/50
放置される 全然反応ない もともと放置リポジトリだしなぁ...
じゃあライブラリ化しちゃおう! • Forkしたリポジトリをライブラリ化 • bintray-releaseプラグインを使ってライブラリ公開 https://qiita.com/gupuru/items/aa81f007d306fc6c4a2c
詰まった • ライブラリをBintrayにアップロー ドしようとしたらエラーになった。 エラーメッセージ 「message:Repo 'maven' was not found」
• 手動でmavenという名前で Repositoryを作成したら解決し た。 https://github.com/bintray/gradle-bintray-plugin/issues/143
Bintrayにアップロードした • 後はjCenterに登録するだけ
ライブラリ公開した https://github.com/ochim/RecyclerTabLayout
None
• 使いたいライブラリがあったが、AndroidX対応をしていなかった。 • ForkしたリポジトリでMigrate to AndroidXした。 • PRを出したが、全く反応が無かった。 • Forkしたリポジトリでライブラリ公開した。
まとめ
• Forkしたリポジトリでのcommitはcontributionsにカウントされません。 この活動で 草は生えてません。 残念 https://help.github.com/en/articles/why-are-my-contributions-not-showing-up-on-my-profile
ありがとうございました