Open9

dagger調査

sun-yryrsun-yryr

https://github.com/dagger/dagger/blob/9ddbc60a3b432899285aa0d3d1a7bb27e4aedb56/ci.cue#L3-L14

daggerのコアアクションとか外部に定義されているのはまぁ理解できる
ローカルの指定が github.com/dagger/dagger/ci/* になっているのがわからないな

色々試してみる

"./ci/cue" → failed to load plan: import failed: relative import paths not allowed ("./ci/cue")

https://cuetorials.com/first-steps/modules-and-packages/

ここを見るに相対はダメで、絶対なら行けそうではある。

// cue.mod/module.cue
module: "github.com/hofstadter-io/cuetorials"

これか......!?

sun-yryrsun-yryr

https://cuetorials.com/first-steps/modules-and-packages/

依存関係ってあるから、一応他の人が作ったライブラリをインポートして使えるみたい
常にネットに繋がっているわけではないからnode_modulesとかswiftpmみたいにローカルに持ってこれる
それがgoに乗っかってて hof mod ってことかな?(想像)(まだ使わないからスキップする)

sun-yryrsun-yryr

moduleとimportのパス関連が意味分かってなかったけど、go moduleなのか


なるほD

sun-yryrsun-yryr
dagger.#Plan & {
}

ここの&は値の埋め込み。元々#Planで定義された構造体があるから、そこに値を入れる

sun-yryrsun-yryr

cueのモジュール類をgitに含めないといけないのが辛いな

import (
    "dagger.io/dagger"
    "dagger.io/dagger/core"
)

これだけで120ファイルくらい追跡される

実行前に dagger project update すればいけるのか?