問題タブ [build]
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.
build - CruiseControl.NET Build Label & SourceGear Vault の実践関連の質問
プロジェクトに SourceGear Vault と applyLabel="true" を使用しているため、ビルド時に、対応するプロジェクトの SourceGear Vault にラベルが作成されます。私の質問は
私は毎晩ビルドを行っているので、その日にそのプロジェクトに変更が加えられていない場合は、設定をどのように定義すればよいでしょうか....
問題は、コードに変更がないビルドのラベルが欲しくないということです。
どんな助けでも大歓迎です。
debugging - 開発中に遭遇したバグの種類を記録または追跡するためのシステムはありますか?
私はバグ追跡自体を探しているわけではありません。しかし、ビルド ツールのようなものです。開発者として、コードをコンパイルまたは実行しようとするたびに、デバッグ出力をリダイレクトし、最も一般的に発生するバグ、解決にかかる時間などを記録できれば素晴らしいと思います。
このようなものはありますか?
language-agnostic - 言語に依存しないビルド管理システム
私のキャリアの中で何度か、 a)
ビルド/テストシステムが必要であると判断したソフトウェアグループで働いてきました
。b)独自に作成する必要
があります。もう一度触る必要があります
毎回、これはそれを書いた人のためだけに機能しているように見え、彼らの絶え間ない注意を必要とするシステムをもたらしました。私は何度か時間をかけて、私たちのニーズを満たすことができるツールを探していましたが、手ぶらで出てきました。一般的に、このサーバーのようなツールは非常に狭い市場です。私は再びこのようなものを必要としているところです。そこに何かありますか、それとももう一度書きますか?
これが優先順位の私の要件です(最後のいくつかは持っているだけでいいです):
マルチプロジェクトビルドを処理する機能。他のコンポーネントが使用するものを提供し、他のコンポーネントからのものを使用するいくつかのコンポーネントがあります。開発者は、ワールドを構築しなくても、1つのコンポーネントをチェックアウトして変更を加えることができる必要があります。プロジェクト外の依存関係は自動的に取り込まれる必要があります。そのため、ビルドされたオブジェクトをサーバーにプッシュおよびプルできるようにするための何らかの方法が重要です。これのもう1つの側面は、すべての依存関係をローカルディレクトリにプルダウンして、外出先で開発できるようにする機能です。
物事がどのように構築されるかについて正確に心配する必要はありません。これは奇妙に聞こえるかもしれませんが、ビルドシステムがコードのコンパイルについて心配することを望んでいません。Ant、CMakeなど、すべての言語でこれを行う優れたツールがすでにあります。物事を構築するために何を呼び出すか、そしてどの出力を気にする必要があるかを伝えたいだけです。このように、プロジェクトAはJavaで、プロジェクトBはC ++で、アイデアを得ることができます。
出力に対してテストを実行する方法があります
現在のビルド/テスト結果をWebページに表示する
結果をメールで送信
RCSとの統合(svnを使用)
eclipse - Eclipse3.4antタスクがハングする
Eclipse 3.4.xからantスクリプトを起動すると、特定の段階まで出力がコンソールに出力されます。その後、それはしばしばハングします(永遠に待ちます)。画面(コンソール)に表示される最後の行-難読化ツールからの部分的な出力。
Eclipse 3.3.2では、すべてが正常に機能します(同じプロジェクト、ワークスペース、設定、JVMなど)。
誰かが同じ問題を抱えていますか?それを修正する方法について何か考えはありますか?
c++ - C++ のビルド ソリューション
Visual Studio 2005 で開発されたアンマネージ C++ コード用のビルド サーバーをセットアップしたいと考えています。ビルド サーバーは次のことを実行できる必要があります。
- コード変更の Subversion リポジトリを監視し、ビルドをスケジュールする
- Subversion からコードをチェックアウトし、単体テストを実行する
- ビルドの成功と以前のビルドからの変更に関する何らかのレポートを提供する
私は当初、Ant で CruiseControl を使用することを検討していました。より良い解決策はありますか?おそらくCruiseControl.NetとNAnt?
testing - ファイル名と形式を検証するための既存のツール
命名規則やフォーマットの整合性などのために、大量のリソースファイルを検証する必要があります。
これを簡単にするために利用できるフレームワーク/ツールはありますか?Ant / Phingのようなツールを作成することは頭に浮かびますが、この種のテストにもっと焦点を当てたものがあるのではないかと思います。
理想的には、変更時間に基づいて結果をキャッシュし、不適合ファイルのレポートを生成します。特定の正規表現に適合するファイルに任意のテストをすばやく簡単に追加できるように、十分な柔軟性が必要です。3つのディレクトリの深さにあるすべての*.psdをテストし、それらの色空間がCMYKであることを確認します。依存関係を追加するのも簡単です。そうすれば、これらのPSDのいずれかが失敗した場合、親ディレクトリ(たとえば、2レベル上)にも無効のフラグが立てられます。理想的にはプラグイン可能であるため、シェルスクリプトなどを記述して、true / falseを返す新しいテスト(CMYKテストなど)を実行できます。
もちろん、私たちは自分で転がることはできます...しかし、車輪の再発明はできません。
考え?
c++ - Visual Studio での複雑なビルド
Visual Studio で実行する良い方法が見つからないことがいくつかあります。
ビルド前のステップは、後でコンパイルされるいくつかのソース ファイルを生成するコード ジェネレーターを呼び出します。これは、空のファイルをプロジェクトに追加することである程度解決できますが (後で実際に生成されたファイルに置き換えられます)、名前や自動生成されたソース ファイルの数がわからない場合は機能しません。を使えば簡単に解け
GNU make
ます$(wildcard generated/*.c)
。Visual Studio で同様のことを行うにはどうすればよいですか?ファイルを変更する必要がない場合 (
"make"
動作)、ビルド前/ビルド後のイベントの実行を防ぐことはできますか? 現在の回避策は、タイムスタンプをチェックするラッパー スクリプトを作成することです。これは機能しますが、少し扱いにくいです。VS の外部にインストールされた外部ライブラリとヘッダーを見つける良い方法は何ですか? *nix の場合、通常はシステム パスにインストールされるか、
autoconf
. プロジェクト設定でユーザー定義マクロを使用してパスを指定できると思いますが、これらのマクロを簡単に見つけて調整できるようにするには、これらのマクロをどこに配置するのが適切ですか?
明確にするために、より優れた Windows ビルド システムが存在することは承知していますが ( CMake
、SCons
)、それらは通常、VS プロジェクト ファイル自体を生成し、このプロジェクトを既存の VS ビルド システムに統合する必要があるため、単純な VS が望ましいです。プロジェクトファイルであり、生成されたものではありません。
.net - コピーローカルはどのように機能しますか? log4net.dll が MyProject 出力ディレクトリにコピーされていません
参照の copy-local=true が正確に何をするのか疑問に思っています。参照されたアセンブリをそのすべての依存関係と共に出力ディレクトリにコピーしますか?
私のシナリオは次のとおりです。log4net を利用するカスタム ログ ラッパーがあります。log4net.dll リファレンスを copy-local true に設定して、MyLogWrapper.dll のリリース アセンブリをビルドします。コピー ローカルを true に設定して MyProject から MyLogWrapper.dll を参照すると、log4net.dll もコピーされるはずです。私は MyLogWrapper.dll のみを参照しており、MyProject の依存関係は参照していません。log4net.dll は MyProject 出力ディレクトリにコピーされませんが、MyLogWrapper の他のすべての依存関係はコピーされます。何が問題なのですか?
さらに実験を行ったところ、GAC からアセンブリ (log4net.dll) を削除すると、ローカルにコピーされ始めたようです。これが問題であることを誰でも確認できますか?
audio - どのビルドサウンドのセットを使用していますか?
CCTrayのようなアプリケーションでは、ビルドが成功したこと、またはビルドが失敗したことを示すサウンドクリップを指定できます。さまざまなチームが使用しているサウンドのセットを聞きたいです。
使用する2つのセットは次のとおりです。
- ホーマーシンプソン:ビルド失敗の「d'oh」、「woohoo!」成功のために
- マリオブラザーズ:ビルドが失敗した場合はサウンドをパワーダウンし、ビルドが成功した場合はパワーアップし、ビルドが修正された場合は1-up
c++ - 最新のコンパイル時間でファイルを自動的に作成し、それをライブラリに含める方法は?
約 100 個のソース ファイルで構成されるライブラリがあります。他のファイルのいずれかがコンパイルされている場合、ソースの 1 つを常に再構築したいのですが、make/build を実行するたびにそれを構築したくありません。
基本的に、このファイルには最終ビルドの日付/時刻が組み込まれているため、ライブラリにリンクしているアプリケーションは最終ビルドの時刻/日付を確認できます。これを行う他の方法はありますか?