生涯未熟

生涯未熟

プログラミングをちょこちょこと。

kirimori v0.0.4 update

OSSメンテしないとな〜と突然意欲が湧いてきたのでやりました。

github.com

内容

vim pluginの検索機能をつけました。
こんな感じのやつです。

$ kirimori search Shougo
Total: 52

Plugin Name                        Short Description
shougo/unite.vim                   🐉  Unite and create user interfaces
shougo/vimproc.vim                 Interactive command execution in Vim.
shougo/neocomplete.vim             Next generation completion framework after neocomplcache
shougo/neosnippet-snippets         The standard snippets repository for neosnippet
shougo/neomru.vim                  MRU plugin includes unite.vim/denite.nvim MRU sources
shougo/neosnippet.vim              neo-snippet plugin
shougo/neocomplcache.vim           Ultimate auto-completion system for Vim.
shougo/vimshell.vim                🐚  Powerful shell implemented by vim.
shougo/unite-outline               outline source for unite.vim
shougo/vimfiler.vim                📁  Powerful file explorer implemented by Vim script
shougo/deoplete.nvim               🌠  Dark powered asynchronous completion framework for neovim/Vim8
shougo/neoyank.vim                 Saves yank history includes unite.vim history/yank source.
shougo/neoinclude.vim              Include completion framework for neocomplete/deoplete
shougo/context_filetype.vim        Context filetype library for Vim script
shougo/unite-help                  help source for unite.vim
shougo/vinarise                    Ultimate hex editing system with Vim
shougo/vinarise.vim                Ultimate hex editing system with Vim
shougo/unite-session               unite.vim session source
shougo/junkfile.vim                Create temporary file for memo, testing, ...
shougo/echodoc                     Print documents in echo area.

他所様のAPIを叩いているため、上位20件しか表示されません。ご了承下さい。

今後

細々とメンテしたいとは思ってます。
何か欲しい機能とかありましたらISSUEに書いて頂けるとありがたいです。

自作ツールをHomebrewに登録したい人生だった

ふと思い立って、「Homebrewに自作ツールを登録してみよう!」とやってみました。

結論から言うと敗北です、ありがとうございました。

成り行き

登録にはFormulaを作成する必要があるのですが、それ自体は簡単でした。

登録したいツールのURLを指定して create

$ brew create http://github.com/syossan27/kirimori

生成されたFormulaをよしなに変更して、

 class Kirimori < Formula
   desc "Tool for managing vim plugin"
   homepage "https://github.com/syossan27/kirimori"
   url "https://github.com/syossan27/kirimori/archive/v0.0.2.tar.gz"
   sha256 "0d35dfaad86ac8a781f134cd8ed4884869a633881c249cae98ca24f4c00b2262"
   head "https://github.com/syossan27/kirimori.git"
   
   depends_on "dep" => :build
   depends_on "go" => :build
   def install
     ENV["GOPATH"] = buildpath
     (buildpath/"src/github.com/syossan27/kirimori").install buildpath.children
     cd "src/github.com/syossan27/kirimori" do
       system "dep", "ensure"
       system "go", "build", "-o", bin/"kirimori"
       prefix.install_metafiles
     end
   end
   
   test do
     system "#{bin}/kirimori", "--version"
   end
 end

一応、作ったものをテストして

$ brew audit kirimori --struct

PRを投げてみました。

github.com

敗北

PR投げたんですが、テストがfailで返ってくるのでなんじゃらほい?と調べてみると、以下のコマンドを実行して落ちていました。

$ brew audit kirimori --new-formula
kirimori:
  * GitHub repository not notable enough (<20 forks, <20 watchers and <50 stars)

はい、原因は ツールの注目度が足りない という理由でした。
homebrewにrepositoryを登録するには以下の条件を満たす必要があるみたいですね。

  • fork数、watchersのいずれかが20以上
  • star数50以上
  • リポジトリ作成から30日が経過している

悲しいなぁ。
というかPRのテンプレート文言にそれを書いていて欲しかった。

というわけで敗北です。

container-structure-testのMac版バイナリを召喚する

Googleが最近生み出したcontainer-structure-test、皆様は使っているでしょうか?

僕は個人的におもしれーなと思ったので、最近ちょこちょこ触ってます。

どんなツールか?についてはsawanobolyさんが書かれた GoogleのContainer Structure TestsをMacOSで実行してみる - Qiitaを読めば、雰囲気つかめるとは思うのですがちょっと読んで思ったことがあります。

いちいち実行時にDockerコンテナ走らせるの面倒くさくない?

というわけで、バイナリ実行してえと思ってやってみた結果をつらつら書きます。

[追記]
v0.1.3のバイナリを提供しています。
ご用命の方は以下のリンクから取得して下さい。

バイナリの対応状況について

README.mdを読むと、 Please note that at this time the binary is only compatible with Linux. と書いてあるのですが、実はMac版バイナリもあったりします。

Makefile読んでもらえると分かるのですが、一応Mac版のバイナリを吐ける状況にはあります。

というわけで、やってみましょう。

やってみる

手順としてはこうなります

  • container-structure-testをclone
  • v0.1.3のリリース時点にreset
  • dep init
  • make実行

一つずつやっていきましょう💪

container-structure-testをclone

$GOPATH の下にcloneしてね。

$ git clone git@github.com:GoogleCloudPlatform/container-structure-test.git

v0.1.3のリリース時点にreset

現時点(2018/01/19)の最新版であるv0.1.3に合わせます。
git弱者なので雑に戻します。

$ git reset --hard 48ed3fffe3f5a215047a8ee3a312401494039bac

ちなみに最新のmasterでmakeしたら呆気なく死にます。

dep init

v0.1.3だと古いdepの設定情報しかないので、新しく作ります。

$ dep init

終わったらensureしましょう。

$ dep ensure

makeを実行

あとは雑にmakeしてください。

$ make

滞りなく実行が完了すると、outディレクトリに structure-test-darwin-amd64 バイナリが吐かれます。
あとはこれをよしなに実行すると

$ ./structure-test-darwin-amd64
Please supply path to image or tarball to test against

オッ、動きました。

試しにやってみる

やってみます。
今回はgolangのdocker imageとgolang用のテストファイルを作ってやってみます。

golangのdocker image落とす

$ docker pull golang

テストファイル作成

名前は go_test.yaml とかでも何でもOKです。

実行

これであとはテストファイルが実際に実行されるかやってみましょう。

出来ましたね、やりました。

まとめ

という感じでちょっと面倒ですがMac上でバイナリから実行も一応出来ます。
ローカルでいちいちdocker動かして試すのが面倒になった方はやってみてください。

bambooで環境変数の値を隠す方法

bambooで環境変数を設定する場合、以下を参考に設定し$bamboo_hoge 的な感じで使うと思います。

Bamboo variables - Atlassian Documentation

しかし、設定した環境変数は値が画面上に表示されてしまうため、なるたけ隠してしまいたいです。

そういった時は環境変数名に password を含めましょう。

Bamboo3.3以降を使ってらっしゃるなら、 passwod を足すだけで値が隠されます。便利ですね。