PR出したけど放置されてるのでライブラリ化した話.pdf

F331584e96568267c488bb62a3d00449?s=47 ochim
September 28, 2019

 PR出したけど放置されてるのでライブラリ化した話.pdf

F331584e96568267c488bb62a3d00449?s=128

ochim

September 28, 2019
Tweet

Transcript

  1. あるAndroidライブラリにPR 出したけど放置されてるので ライブラリ化した話 越智 宗洋 shibuya.apk #37 2019/09/27

  2. 自己紹介 • 越智 宗洋 • Twitter: @ochi_tw • オフィスは勝どき • Android/iOSエンジニア

  3. 目次 • 経緯 • PR出した • ライブラリ公開 • まとめ

  4. 経緯 担当していたニュースアプリでこんな話が出た... 上部のタブをループさせたいんだけど、できる?

  5. 検索したら https://teratail.com/questions/35856

  6. nshmura/RecyclerTabLayout 最新コミット2年前じゃん... Support Library使ってる。AndroidX対応してない... 使えないなぁ... でも他にいい情報ないなぁ... https://github.com/nshmura/RecyclerTabLayout

  7. 複数の API バージョンをサポートするアプリを開発するときは、以前のバージョンの Android に新しい機能を提 供したり、同等の機能にスムーズに戻したりする標準的な方法が必要な場合があります。以前のバージョンの プラットフォームを処理するコードを構築する代わりに、これらのライブラリを利用してその互換性レイヤを提供 できます。さらに、Support Library には標準のフレームワーク

    API では利用できない便利なクラスや機能が追 加され、より多くのデバイスにまたがる開発やサポートが容易になっています。 元々はアプリ向けの単一バイナリ ライブラリであった Android Support Library が、アプリ開発用のライブラリ スイートに進化しました。現在、これらのライブラリの多くは、必須ではありませんがアプリ開発の一部として強く 推奨されています。 補足.Support Library https://developer.android.com/topic/libraries/support-library?hl=JA
  8. 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 コンポーネントの導入が含まれます。
  9. じゃあ自分でやるか! Forkして自分のリポジトリを作った。 Migrate to AndroidX した。 問題なさそう。 PR出すか!! https://github.com/ochim/RecyclerTabLayout

  10. PR出した https://github.com/nshmura/RecyclerTabLayout/pull/50

  11. 放置される 全然反応ない もともと放置リポジトリだしなぁ...

  12. じゃあライブラリ化しちゃおう! • Forkしたリポジトリをライブラリ化 • bintray-releaseプラグインを使ってライブラリ公開 https://qiita.com/gupuru/items/aa81f007d306fc6c4a2c

  13. 詰まった • ライブラリをBintrayにアップロー ドしようとしたらエラーになった。 エラーメッセージ 「message:Repo 'maven' was not found」

    • 手動でmavenという名前で Repositoryを作成したら解決し た。 https://github.com/bintray/gradle-bintray-plugin/issues/143
  14. Bintrayにアップロードした • 後はjCenterに登録するだけ

  15. ライブラリ公開した https://github.com/ochim/RecyclerTabLayout

  16. None
  17. • 使いたいライブラリがあったが、AndroidX対応をしていなかった。 • ForkしたリポジトリでMigrate to AndroidXした。 • PRを出したが、全く反応が無かった。 • Forkしたリポジトリでライブラリ公開した。

    まとめ
  18. • Forkしたリポジトリでのcommitはcontributionsにカウントされません。 この活動で 草は生えてません。 残念 https://help.github.com/en/articles/why-are-my-contributions-not-showing-up-on-my-profile

  19. ありがとうございました