KDP(電子出版)のメモ 急急如律令

Amazon Kindleダイレクト・パブリッシングでの電子出版や電子書籍の作成販売について、文章やイラストの作成や編集方法について書いています。

Githubの活動、プルリクエストやGradleやGithub Action、CIまでのおぼえがき

 Githubで活動をしているとissue(要望)が来てコードの修正を取り込んでほしいと来ることがある。ただしプルリクエストについて知っていないと。コードの修正の提示だけの場合がある。  一つのファイルだけであれば、苦労することはないのだけど。複数ファイルにまたがっていると変更点を探すのが面倒になる。プルリクエストは変更点を明示したり、誰が書き換えたかということも同時にわかるので便利だ。問題はプルリクエストの仕方の説明がgitコマンドを利用したものが多いということ。デスクトップの操作でマウスを使いながらであればそれほど抵抗がない人でも、コマンドラインには抵抗感がある人がいる。  一応gitの本を読んでgitコマンドも一度はやったが、Github Desktopが楽なのであとはGithub Desktopを使ている。一つのファイルの書き換えだったらGithubのサイト上で書き換えるほうが楽だが、二つ以上のファイルの場合はGithub Desktopがいいと思う。

プルリクエストの仕方

  1. リポジトリをクローン
  2. ブランチを切る
  3. 変更点をコミット、プッシュ
  4. ブランチをプルリクエスト

という形になる  プルリクエストの仕方を説明しているが、自分はサンドボックスにしかプルリクエストをしたことがないのであっているかが怪しかったりする。そんな私でも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

  1. ubuntu上でソースコードのバージョンを読み込んでそれを全体のファイル名にする。
  2. Javaをセットアップしてgradleを実行環境を整える。
  3. antの内容を実行、そのごgradleのjar生成を実行。
  4. ファイルをまとめてzip圧縮

などといったことをGithub Actionで行っている。 こういうのをCI(継続的インテグレーション)というらしい。

github.com

zenn.dev

github.com

www.kagoya.jp

docs.github.com