2017-04-11 9 views
13

2つのステップを1つに結合してsbtアセンブリ/パッケージ操作を改良したいと考えています。 二段階である:加え対話モードでsbt multipleコマンドを1つのコマンドとして実行するにはどうすればよいですか?

$ sbt 
> project XXX 
.... 
> assembly 
Ctrl + c to exit 

assemblyタスクフォーム脂肪ジャーSBTプラグインです。
私はsbt project analysis assemblyとの試みではなくworks.Aエラーの出会いがありますチェーンコマンドに;を使用し、SBTシェル内

[error] Not a valid command: analysis (similar: alias) 
[error] Not a valid key: analysis (similar: readAnalysis, mainClass, less) 
[error] analysis 
[error]  ^

これを達成するための方法のおかげ

+1

'analysis'は(SBTのコマンドではありませんあなたがそれを定義したりインポートしたりしない限り。 'project'コマンドのパラメータにしたいのですか?あなたがそれを手助けする必要があるので、あなたの心を読むことができません: 'sbt"プロジェクト分析 "アセンブリ"。これがうまくいけば、http://www.scala-sbt.org/0.13/docs/Howto-Running-Commands.html#Pass+arguments+to+a+command+or+task+in+batch+mode –

+0

も参照してください。ありがとう、 'sbt"プロジェクト分析 "アセンブリ" works.The分析キーワードは私のプロジェクト名です私はちょうど1行のcmdでプロジェクトを切り替える方法を知らない。あなたは答えをつけることができますか? – LoranceChen

+0

重複した質問は、対話モードで複数のコマンドを実行するというタイトルの実際の質問には答えません。下の[@Justin Kaeser](https://stackoverflow.com/a/43342323/1206998)の答えが答えます。 –

答えて

21

を:?

;project XXX; assembly 

コマンドラインから呼び出して、個々のコマンドを引用符で囲みます。

sbt "project XXX" assembly 

または引用符で、チェーン全体を囲みます。

sbt ";project XXX; assembly" 

シェル内の別のプロジェクトのコンテキストからサブプロジェクトXXXでタスクを呼び出すには:

XXX/assembly 
+0

を作成しました。私は、sbtシェル内でいくつかのコマンドを実行することについて、より正確な質問をしました。私はあなたの答えをコピーしましたが、あなたが信用を得ることは公正であろう。上記の回答を追加するか、または私の適応版をコピーする場合は、私を削除します –

+1

ありがとう、私はそこに答えを追加;) –

関連する問題