Githubで活動をしているとissue(要望)が来てコードの修正を取り込んでほしいと来ることがある。ただしプルリクエストについて知っていないと。コードの修正の提示だけの場合がある。 一つのファイルだけであれば、苦労することはないのだけど。複数ファイルにまたがっていると変更点を探すのが面倒になる。プルリクエストは変更点を明示したり、誰が書き換えたかということも同時にわかるので便利だ。問題はプルリクエストの仕方の説明がgitコマンドを利用したものが多いということ。デスクトップの操作でマウスを使いながらであればそれほど抵抗がない人でも、コマンドラインには抵抗感がある人がいる。 一応gitの本を読んでgitコマンドも一度はやったが、Github Desktopが楽なのであとはGithub Desktopを使ている。一つのファイルの書き換えだったらGithubのサイト上で書き換えるほうが楽だが、二つ以上のファイルの場合はGithub Desktopがいいと思う。
プルリクエストの仕方
- リポジトリをクローン
- ブランチを切る
- 変更点をコミット、プッシュ
- ブランチをプルリクエスト
という形になる プルリクエストの仕方を説明しているが、自分はサンドボックスにしかプルリクエストをしたことがないのであっているかが怪しかったりする。そんな私でもgithubリポジトリを管理できている。 github.com
AozoraEpub3のビルドをgradle化した
AndroidStudioでgradleには触れていたが、動作の仕組みまでは調べてなかった。ライブラリを追加するときにimplementationに追加する程度の認識だった。 jar生成の部分ではimplementationで読み込んだライブラリをjarファイルとして全体を固めている。 ant.xmlでは配布するファイルに同梱する内容を生成している。
jar { duplicatesStrategy = DuplicatesStrategy.EXCLUDE manifest { // attributes 'Main-Class': 'AozoraEpub3' attributes 'Main-Class': 'AozoraEpub3Applet' } from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } } } ant.importBuild 'ant.xml'
ナイトリービルド
Githubではビルド方法を指定すると、何かのアクションをもとにビルドを実行してくれるようだ。というのもこれを私は書いてないので詳しくなかったから。その後、参考情報を読んでだいたい理解したのでプルリクエストをマージした。 nightly.yml
- ubuntu上でソースコードのバージョンを読み込んでそれを全体のファイル名にする。
- Javaをセットアップしてgradleを実行環境を整える。
- antの内容を実行、そのごgradleのjar生成を実行。
- ファイルをまとめてzip圧縮
などといったことをGithub Actionで行っている。 こういうのをCI(継続的インテグレーション)というらしい。