Antを使用してSublime Text 2のプロジェクトのアセンブリを自動化する

ソフトウェア開発のプロセスでは、使用するコードエディターに大きく依存します。 ファッショントレンドに負けて、私はテキストエディターSublime Text 2をマスターすることに決めました。 Eclipseで十分でした。 しかし、時間の経過とともに、Eclipseではインターフェースの速度が遅くなり、最終的にEclipseの「添えもの」がすべて必要というわけではないという結論に達しました。 私のプロジェクトの通常のAntは、プロジェクトをコンパイルまたはパッケージ化しました(ここでは、パッケージングは​​、PHPフレームワークまたはRubyOnRailsで定義されたディレクトリ構造に従ってソースコードを配布し、結果をFTP経由でWebサーバーに送信します。 Sublime Text 2で作業を開始したところ、Antを呼び出すためにコンソールに切り替えたくありませんでしたが、Sublime Text 2インターフェースで直接使用し、解決策を見つけました。



1.準備



だから私たちが持っているもの:



まず、Sublime Text 2でソースフォルダー「File」->「Open Folder ...」を開き、プロジェクトマニフェスト「Project」->「Save Project As ...」を保存します。これを「helloworld.sublime-project」としましょう。 」、ルートへ。



2. Sublime Text 2でのAnt呼び出しのパフォーマンスの確認



たとえば、プロジェクトのルートディレクトリに次の内容のファイル「build.xml」を作成します。

<?xml version="1.0"?> <project name="helloworld" default="test"> <target name="test"> <echo>Ant works in '${ant.project.name}' project!</echo> </target> <target name="init"> <echo>Some initial logic in '${ant.project.name}' project!</echo> </target> <target name="trial" depends="init"> <echo>Some trial logic!</echo> </target> <target name="build" depends="init"> <echo>Some build logic!</echo> </target> </project>
      
      





Antを試してください:

  1. 「ツール」->「システムの構築」->「Ant」
  2. 「ツール」->「ビルド」または「Ctrl + B」または「F7」


Sublime Text 2の下に表示されます。

ビルドファイル:* \ helloworld \ build.xml
テスト:
  [エコー] Antは 'helloworld'プロジェクトで動作します!
成功する
合計時間:0秒
 [2.1秒で終了]


Antが呼び出されない状況が発生する可能性があることが発見されました。 症状は次のとおりです。ステータスバーの下にある[ツール]-> [ビルド]を起動すると、[ビルド中]と表示され、何も起こりませんでした。 「Ctrl + `」でSublimeコンソールを開くと、エラーが表示されます。

  ant.batの実行
トレースバック(最後の最後の呼び出し):
  run_のファイル "。\ Sublime_plugin.py"、行337
 ファイル「。\ Exec.py」、行154、実行中
  __init__のファイル "。\ Exec.py"、45行目
 UnicodeDecodeError: 'ascii'コーデックは位置9のバイト0xc0をデコードできません:順序が範囲外(128) 




"exec.py"(* \ SublimeText2 \ Data \ Packages \ Default for portable version)の行を置き換える必要があります:

 proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding())
      
      



に:

 proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode( sys.getfilesystemencoding() )
      
      





そして今、すべてが動作するはずです。



3.Sublime Text 2でビルドを作成する



パラグラフ2では、Sublime Text 2では、最初に「build.xml」から「デフォルト」ターゲットまたは関連する目標のカスケードのみを使用できることが示されています(これは単に「テスト」です)。 そして私にとっては、先ほど言ったように、「デフォルト」とは異なる最終目標を「トライアル」と「ビルド」と呼ぶ必要もあります。 Antが機能していることを確認したので、「デフォルト」ターゲットを「テスト」に「ビルド」に置き換え、ホットキー「Ctrl + B」または「F7」を使用します。

 ビルドファイル:* \ helloworld \ build.xml
初期化:
  [エコー] 'helloworld'プロジェクトの初期ロジック!
ビルド:
  [エコー]いくつかのビルドロジック!
成功する
合計時間:0秒
 [0.4秒で終了] 


そして、「トライアル」の目的で、「ツール」->「ビルドシステム」->「新しいビルドシステム...」を使用して「ビルドシステム」を作成し、ファイルをディレクトリ* \ SublimeText2 \ Data \ Packages \ User(ポータブル版の場合)、Sublime Text 2ディレクトリ自体が目的のものを提案しますが

 #  "Ant TRIAL.sublime-build" { "cmd": ["ant.bat", "trial"] }
      
      





ここでも、多くの興味深いパラメーターを設定できます。

メニュー項目「ツール」->「ビルドシステム」->「Ant TRIAL」が自動的に表示され、選択して「Ctrl + B」または「F7」を使用して試用版をビルドします。 最終的なアセンブリを作成する場合は、[ツール]-> [システムのビルド]-> [Ant]に切り替え、[Ctrl + B]または[F7]を使用します。 しかし、私たちにとってこれは十分ではありません。



4.Sublime Text 2でキーボードショートカットを設定する



「Ant TRIAL」と「Ant」を絶えず切り替えるのはなぜですか? キーボードショートカット「設定」->「キーバインド-ユーザー」を割り当てます。

 [ { "keys": ["f8"], "command": "exec", "args": {"cmd": ["ant.bat","trial"]} } ]
      
      





これは「Preferences」->「Key Bindings-Default」で見られます:

 ... { "keys": ["ctrl+break"], "command": "exec", "args": {"kill": true} } ...
      
      





「ツール」->「システムの構築」->「Ant」に戻り、「F8」を押して「トライアル」を取得します。

 ビルドファイル:* \ helloworld \ build.xml
初期化:
  [エコー] 'helloworld'プロジェクトの初期ロジック!
トライアル:
  [エコー]いくつかの試行論理!
成功する
合計時間:0秒
 [0.4秒で終了] 


「F7」を押して「build」を取得します。

 ビルドファイル:* \ helloworld \ build.xml
初期化:
  [エコー] 'helloworld'プロジェクトの初期ロジック!
ビルド:
  [エコー]いくつかのビルドロジック!
成功する
合計時間:0秒
 [1.0秒で終了] 




おわりに



Sublime Text 2インターフェースでAntを直接使用できるようになりました唯一の微妙な点は、すべてのプロジェクトに「build.xml」に指定された目標「trial」と「build」(または「build」とは異なる)が含まれていることです「build.xml」の「project」の「default」プロパティで指定されます)。



Sublime Text 2から始めるのは私だけでは役に立たないと思います。



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



All Articles