scivola
@scivola

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

Steepfile の target の引数は何?

解決したいこと

Ruby の Steep で使う Steepfile について。
Steep 公式サイト のサンプルは

target :app do
  check "lib"
  signature "sig"

  library "set", "pathname"
end

となっています。

この :apptarget の引数)って何なんでしょうか?

「Steep を使ってみた」系のいろいろな記事を見ると,:lib とかになってたりもします。
いずれにしてもこの値の説明が書かれておらず,何を書けばよいのか分かりません。

0

1Answer

Steep のソースを読んだ感じではターゲットの名前を与えるようです。内部的に名前をキーにした Hash が作られる1ので、1つの Steepfile に複数の target がある場合はそれぞれの名前がユニークでなければなりません。また steep projectsteep stats でターゲットの名前として表示されます。

それ以上の意味はないため何を書いてもよさそうです。

  1. https://github.com/soutaro/steep/blob/4717106bbbf3e462b90e0ce4d25ca16ff45a10f0/lib/steep/services/type_check_service.rb#L93-L96

1Like

Comments

  1. @scivola

    Questioner

    ありがとうございました。

    ひとまず
    * 一つの Steepfile に複数のターゲットが記述できる
    * `target` の引数には,そのターゲットを一意に特定する任意の名前を与える
    と理解しました。

    「ターゲットとは何か」は,やはり公式サイトの README などにも書かれておらず謎です。
    検査したい範囲を複数のグループに分割して管理できたりできるのだと思いますが,`steep check` でターゲットを指定してチェックできるわけでもなく。
    コードによって signature の場所が違ったりする場合にターゲットを分割する,ということですかね。

    いずれにしても当初の疑問は解消しましたので,クローズします。引き続く疑問は別の質問を立てます。

Your answer might help someone💌