問題タブ [build-system]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Linux ビルド システム ツール
私たちのプロジェクトはかなり大きくなり、ビルドシステムはもはや拡張できません。Linux マシンでクロスプラットフォーム開発を行っています。ビルドするプラットフォームが多すぎて、さらに多くのビルド オプションがあります。Makefile ベースのビルド環境をアップグレードする必要があると考えています。
これらは要件です(理想的な世界では):
- 高速(libtoolがないため)
- 並列ビルドができる
- クロスコンパイルフレンドリー
- Ccache の統合
- インクリメンタル ビルドを行い、特定の条件が満たされた場合に短絡する可能性があります (a、b、c オプションが変更されていない場合は短絡、変更されている場合は再構築)
- 簡単にスクリプト化可能 (Python との統合が理想的)
- ユーザーフレンドリーな構文
- 分散システム。モジュールは互いに個別に開発可能
- サードパーティのライブラリ (autotools、cmake などを使用) を構築できます。
- モジュール間の依存関係を追跡できます (ただし、モジュールを代替の外部モジュールに置き換えることができるほど柔軟です)。
- 組み込みの単体テストのサポート
- 大きなバイナリはバージョン管理とは別に保存でき、必要に応じてダウンロードできます
- オープンソース ライセンスを追跡できる
- git 統合
これらの要件 (少なくとも一部) を満たすツール (またはツールのグループ) をご存知ですか? 現在、gyp+ninja に傾倒しています。しかし、構文はあまり使いやすくなく、ドキュメントもありません。なので売りにくいです。
mono - PhantomビルドシステムはMonoで動作しますか?
.Netプロジェクト用のクロスプラットフォームビルドシステムを見ています。 ファントムは面白そうに見えますが、モノラルのLinuxで問題なく動作するかどうか疑問に思っています。それはブーの上に建てられています。BooはMono(http://www.mono-project.com/Boo)である程度サポートされているようですが、私はそれについてあまり知りません。
PhantomをMono/Linuxセットアップで使用できますか?
emacs - Emacs の compile-goto-error がコンパイル バッファから取得するパスを調整するには?
Emacs 23 を使用していますが、次の問題があります。
Mx compile -> cd /foo/bar && ./build のように、Emacs 内からプロジェクトのビルド システムを実行します。
ビルド システムはいくつかの魔法を実行し、ビルド プロセス用のサブディレクトリに "cd" を実行すると、gcc がエラーをスローします。
../src/somesource.cc:50 エラー: blablabla
ここでの問題は、コンパイル プロセスが /foo/bar/builddir ではなく /foo/bar で開始されたと想定するため、Emacs がそのパスを見つけられないことです。そのため、先頭の "../" は、たとえば compile-goto-error を実行している場合など、Emacs では機能しません。先頭の「../」をスキップするよう Emacs に指示する方法はありますか?
unit-testing - 単体テストするシステムを構築するにはどうすればよいですか?
たとえば、Make、ant、またはその他のビルド ツールをいじっているときは、実際にはコードを書いています。
これらのコードをテストするための「MUnit」または「ANTUnit」がないのはなぜですか? プロジェクトのビルド システムにバグがあると、それを使用する人々に大きな遅延とフラストレーションを引き起こすため、そうするのは理にかなっています。
例(注:これはおそらく機能しません-テストされておらず、ここでも私の焦点ではありません):
しかし今、私はオブジェクトファイルを別のビルドフォルダーに入れたいと思っています:
そうそう!それはうまくいきます!専念!専念!
(しかし... 継続的インテグレーション サーバーにはまだ「ビルド」フォルダーがありません...)
いやいや…チームのビルドが失敗した…私のせいだ…ばか!
モック プロジェクト、モック フォルダー構造を指定してから を呼び出しmake all
、main.out がそこにある (そして実行できる) ことを確認できると便利です。
だからここに質問:
make スクリプトを「単体テスト」するためのオプションは何ですか? 何億ものテストシェルスクリプトを書く運命にあるのでしょうか、それとも何かがすでに存在しているのでしょうか?
c++ - インストールとインプレースリンクを作成する
トポロジカルソートされた順序で(Linuxで)多重依存C ++ CMakeプロジェクトを構築する場合、2つの可能性があります。
すべてのプロジェクトを通過し、...
...プレフィックスを付けて「makeinstall」します。プロジェクトでライブラリをビルドするときは、すでにインストールされているライブラリにリンクします。
...「make」を介してビルドします。インストールしないでください。プロジェクトでライブラリをビルドするときは、すでにビルドされているライブラリにリンクします。
それらの選択の長所/短所は何ですか?依存関係を解決したり、正しい順序でビルドしたりする自作スクリプトによって実行されるビルド。
c - Sublime text 2 C .so ビルド システム
私はopenglプロジェクト内でpythonを使用しており、C言語で独自のglライブラリを作成しています。Sublime Text 2 を使用しており、crtl-b を押して .so を作成するためのビルド システムが必要です。
java - 新しいターミナル/コマンドプロンプトウィンドウでJavaをコンパイルして実行するSublimeText2ビルドシステム?
JavaファイルをコンパイルするSublimeText2でビルドシステムを作成し、それを新しいターミナル(OS XまたはLinuxの場合)またはコマンドプロンプト(Windowsの場合)ウィンドウで実行したいと思います。
これは、Sublime Text 2ではユーザーが何も入力できないため、入力が必要なプログラムは、次のようにSublimeText2内で実行するとエラーを吐き出すためです。
これは私が現在持っているものです(私はバッチファイルも試しました)が、新しいシェルではなく、Sublime Text2内で実行されます:
これは可能ですか?もしそうなら、ステップバイステップで(私はSublime Text 2の初心者です)、それを行う方法を説明してください。私はすでにSublimeText2フォーラムに投稿しようとしましたが、今のところ運がありません。言葉では言い表せないほどありがたいです。御時間ありがとうございます!
.net - CCNET バージョン 1.8.2 で条件付きパラメーターを使用して svn の場所を変更する
アプリケーション用のビルド サーバーをセットアップしようとしています。強制ビルドを行うとき、パラメーターを使用して何をビルドするかを決定したいと考えています。以下に、主に DEV で動作するセットアップを示します。これは、if ステートメントがセットアップのスニペットであるためです。QA を選択するか UAT を選択するかに関係なく、常に false になります。以前にcruisecontrol.netでこれをやろうとした人はいますか?
私が調べて見つけたのは置換変数でしたが、このような設定でそれらをどのように利用できるか正確にはわかりません.
どんな援助でも大歓迎です。
java - Java Jar パッケージ: JDK 以外のすべてのライブラリを含めることができますか?
重複の可能性:
プロジェクト クラスとプロジェクトの依存関係を含む「uber」jar を、カスタム マニフェスト ファイルを使用して jar として作成することは可能ですか?
マルチプラットフォーム展開を検討しています。Perl や Python などの言語で常にイライラする重要な問題の 1 つは、サードパーティ ライブラリとセカンドパーティ ライブラリをデプロイすることです。
Java ビルド プロセスでは、プログラムで使用されるすべての非 JRE ライブラリを jar にパッケージ化して、他のディレクトリにインストールせずにどこにでも展開できるかどうか疑問に思っていました。
android - 2つのgradle androidプラグインを見つけました-2つの間に関係はありますか?
GradleでAndroidアプリケーションを構築する方法を見つけようとしていました。驚いたことに、2 つの参考文献を見つけました。1 つはjvoegeleから、もう1 つはAndroid Tools Projectサイトからです。それらは一見異なるように見えます。私の質問は、なぜ 2 つのバリアントがあるのですか? 両者の間に何か関係はありますか?彼らの現在の状況は?どちらを使用する必要がありますか?その長所と短所は? Androidのものが始まったばかりのようです。
Gradle を使用して Android アプリケーションを構築した経験のある方からの貴重な意見をお待ちしております。
感謝と敬意
サンタヌ