load Rakefile before executing `-p`, `-e`, and `-E` code
まだ誰も着手していません。
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- 機能追加
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- ruby
- 領域
- build-system, cli
調査の方向性
ドキュメントに記載された再現手順 rake -p 'FOO' を実行し、rake -p 'load_rakefile; FOO' と比較します。次に、-p、-e、-E のコマンドライン処理と、load_rakefile がどのように呼び出されるかを追跡します。これらのオプションがユーザーコードを評価する前に Rakefile を読み込み、例が 966 を出力すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Let's say we have this sad little Rakefile:
FOO=23*42
And we want to find out the value of FOO. We look at the --help output, and -p sounds promising:
$ rake --help
...
-p, --execute-print CODE Execute some Ruby code, print the result, then exit.
...
But when we try it...
$ rake -p 'FOO'
rake aborted!
NameError: uninitialized constant Rake::Application::FOO
(See full trace by running task with --trace)
...this is confusing! Especially for a Rake novice.
We can get the result we intended:
$ rake -p 'load_rakefile; FOO'
966
But this requires substantial inner knowledge of Rake.
Suggested behavior:
$ rake -p 'FOO'
966
Thoughts, anyone? Is there a reason I'm missing that -e, -E, and -p don't load the rakefile by default?
- 主要言語
- Ruby
- スター
- 2.5k
- フォーク
- 650
- 平均マージ
- 6分
- マージ済み PR(30日)
- 3
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ruby/rake のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 68/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 48/100
-
難易度 5/5 1週間以上 初心者へのやさしさ 28/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 45/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
palladius/rails8-app-on-gcp#145 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
rubocop/rubocop-rspec#2236 ·
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
riscv/riscv-unified-db#2624 · リアクション 1 件 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100