Slide 9
Slide 9 text
② git レポジトリにあるライブラリを使う
場面:snapshot 版もない OSS のパブリッシュを待つ間などに、先行して使いだし
たい。なので、CI/CD でもライブラリが使える必要がある
注意:予期せぬ変更がないように、頻繁に変わる ”main” ブランチなどではなく、
feature branch、tag、または commit hash を指定するのが望ましい
gradle (Java/Kotlin) sbt (Scala) npm (Node.js)
❌ できない(はず…) ❌ できない(はず…) 利用側 package.json で
“mylib”: “github:owner/repo#branch” または
“mylib”:
“git://example.com/repo#branch”
go.mod? (Go) cargo (Rust) bundler (Ruby)
Git、SVN などの構成管理システムからライブ
ラリを取得するのが基本。特別な指定は不要
require foo.com/mylib next
利用側 Cargo.toml で
mylib = { git=“https://github.com/…”,
branch=”next” }
利用側 Gemfile で
gem ‘mylib’, git: ‘https://github.com/…`,
branch: ‘next’
あくまで自分で使ったことあるやつだけです。載ってないやつはググってね〜
ライブラリ開発者側がバイトコードにコンパイルして1度パブリッシュすれば
利用者側でコンパイル不要で使える、という普段はいい仕組みが裏目に(?)