31
Ruby-GNOME2 のメンテナになってみた話 Ruby-GNOME2 のメンテナになってみた話 @cosmo 2013/12/8

Kernelvm-9th-lt

Embed Size (px)

Citation preview

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2のメンテナになってみた話

@cosmo

2013/12/8

Ruby-GNOME2 のメンテナになってみた話

Who am I?

.自己紹介..

.

TwitterID: @cosmo .. Twitter

Github: cosmo0920 .. Github

ソフトウェアエンジニアRuby-GNOME2メンテナ (New)

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 とは

.Ruby-GNOME2とは..

.

rubyからGTK2/GTK3を使おうとするバインディングライブラリ集

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 の gem を使っているアプリケーション

.

.

Q. Ruby-GNOME2のgemを使っているアプリケーションとは?

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 の gem を使っているアプリケーション

.

.A. mikutter

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 と関わったきっかけ

.きっかけ..

.

ruby 2.1.0 preview1が出たgtk2入れてmikutterを動かしてみようとした

Ruby-GNOME2 のメンテナになってみた話

_人人人人人人人人人人人人人_> 突然のコンパイルエラー <‾YˆYˆYˆYˆYˆYˆYˆYˆYˆYˆY‾

Ruby-GNOME2 のメンテナになってみた話

バグ報告をしてみよう

自分のところだけで直してもいいけれどUpstream(開発元)に報告したほうが他の人も幸せになれるよし、頑張って報告してできたらパッチを書いてみよう

Ruby-GNOME2 のメンテナになってみた話

バグ報告をしてみよう

Ruby-GNOME2 のメンテナになってみた話

パッチを投げてみた

色々と議論しているうちにパッチが書けた

Ruby-GNOME2 のメンテナになってみた話

パッチを投げてみた

Ruby-GNOME2 のメンテナになってみた話

その後

PullRequestを 5件送りましたRuby-GNOME2の開発者にならないかと誘われた

→快諾しました

Ruby-GNOME2 のメンテナになってみた話

_人人人人人人人人人人人人人_> メンテナになってしまった <‾YˆYˆYˆYˆYˆYˆYˆYˆYˆYˆYˆY‾

Ruby-GNOME2 のメンテナになってみた話

メンテナとしての自分の方針

基本的に issueにあがっていることからできそうな所をやってみる方針

Ruby-GNOME2のメンバーになった後にMLの存在に気づいた

基本Githubでやり取り、突っ込んだ議論はMLですることも主にテスト周りのメンテナンスしています

Ruby-GNOME2 のメンテナになってみた話

メンテナになってからしたこと

.やったことの概要..

.

2.10以前のGTK2のサポートを切る .. Go

古いPango/ATK/GLibのサポートを切る例: .. Go

rcairoの依存関係の見直し .. Go

Travis CIを緑にするための作業 .. Go

deprecatedなテストを直す .. Go

Gdk::EventTouchの実装 .. Go

C言語拡張のコンパイル時の警告への対応 .. Go

GObject-Introspectionを使った gio2の試験実装.. Go

Ruby-GNOME2 のメンテナになってみた話

メンテナになってからしたこと

.要約..

.

テストに関すること

コードのリファクタリング

がほとんど

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 プロジェクトの問題

テストコードが少ない事

Rubyのコードの中では長い歴史を持つruby-gtk-0.11 (1998/9~)Ruby-GNOME (2001/10~)

Ruby-GNOME2(~現在)

Travis CIがいつも失敗していた

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 プロジェクトの問題

テストコードが少ない事

Rubyのコードの中では長い歴史を持つruby-gtk-0.11 (1998/9~)Ruby-GNOME (2001/10~)

Ruby-GNOME2(~現在)

Travis CIがいつも失敗していた

Ruby-GNOME2 のメンテナになってみた話

Ruby-GNOME2 とテストコード

RubyUnit(現在のTest::Unit)の0.4.0リリースは2001年09月08日1

GUIのライブラリはテストが特に難しい!それも相まってテストコードが少ない

1http://homepage1.nifty.com/markey/ruby/rubyunit/

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

Ruby-GNOME2ではTest::Unitでテストを書いているGUIのテストは難しい!労力に見合うだけのテストを書くに留めよう!CIしたい!

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

Ruby-GNOME2ではTest::Unitでテストを書いているGUIのテストは難しい!労力に見合うだけのテストを書くに留めよう!CIしたい!

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

Ruby-GNOME2ではTest::Unitでテストを書いているGUIのテストは難しい!労力に見合うだけのテストを書くに留めよう!CIしたい!

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

Ruby-GNOME2ではTest::Unitでテストを書いているGUIのテストは難しい!労力に見合うだけのテストを書くに留めよう!CIしたい!

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

何故テストを書くのか

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

不安をなくすため?

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

と言うよりも

Ruby-GNOME2 のメンテナになってみた話

テスト周りについて

開発を楽しむため!

Ruby-GNOME2 のメンテナになってみた話

テストについて

労力に見合うだけのテストを書くテストは開発を楽しむために書くものメンテナンスしやすいテストを!

Ruby-GNOME2 のメンテナになってみた話

テストについて

労力に見合うだけのテストを書くテストは開発を楽しむために書くものメンテナンスしやすいテストを!

Ruby-GNOME2 のメンテナになってみた話

テストについて

労力に見合うだけのテストを書くテストは開発を楽しむために書くものメンテナンスしやすいテストを!

Ruby-GNOME2 のメンテナになってみた話

今の Ruby-GNOME2

出来るところからテストコードを追加開発者MLが活発にTravis CIがGreenに!