問題タブ [build-dependencies]
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.
version-control - Mercurial でサブリポジトリをネストできますか?
サブリポジトリを使用して Mercurial でプロジェクトをセットアップするのに問題があります。
ゴール:
私は次のように構造を設定したい:
したがって、ビルド、A、および B の 3 つのリポジトリがあります。B は A 内にネストされ、A はルート ビルド リポジトリ内にネストされます。ビルド リポジトリは依存関係の追跡に使用され、サブリポジトリ A はメイン ソース ファイルの追跡に使用され、サブリポジトリ B (およびその他) はモジュール/プラグイン開発の追跡に使用されます。
問題/質問
Subrepo_A のパスとソースを .hgsub ファイルに追加してビルド リポジトリにコミットするだけで、最初のビルド リポジトリとネストされた Subrepo_A を問題なくセットアップできます。ただし、subrepo_B パス/ソースをビルド リポジトリの .hgsub に追加してコミットしようとすると、次のエラー メッセージが表示されます。
中止: パス 'Subrepo_A/Modules/Sebrepo_B' は、ネストされたリポジトリ 'Subrepo_A' 内にあります
Mercurial は、既にネストされたリポジトリ内にネストされたリポジトリを好まないようです。これは本当ですか、それとも何か不足していますか? ビルド/依存関係を管理する方法に関するより良いアイデアはありますか?
git - sbt はどのように git から依存関係アーティファクトを引き出すことができますか?
sbt
gitリポジトリから依存関係を取得できると聞いたことがあります(どこかを覚えていれば、例も見たことがあります) 。
github から依存関係harrah/upを取得しようとしています。リポジトリはアーティファクト JAR ファイルを提供せず、sbt
. 私が想像しているプロセスはsbt
、ソース リポジトリをダウンロードしてビルドし、それを依存関係アーティファクトとして使用することです。
sbt
実際にこのようなことができると想像しているかもしれません。それをできる?もしそうなら、どのように?
maven - Mavenの依存関係を読み取り可能な形式でファイルに出力するにはどうすればよいですか?
私は多くのpom.xmlファイルを含む大きなプロジェクトに取り組んでおり、使用するすべてのライブラリを指定する必要があります。これは、pom.xmlファイルを再帰的に読み取り、groupId、artifactId、スコープ、およびバージョンを取得する必要があることを意味します。mvndependentity:treeをチェックアウトしましたが、読み取り可能な形式でファイルに出力する方法が見つかりません。私はappendOutputを見ましたが、cmdでそれを使用する方法の例を見ませんでした。Linuxでいくつかのソリューションが実行されているのを見ましたが、WindowsXPにしかアクセスできません。
wcf - 分離された設計を使用したTFSビルド定義
TFSビルドサーバーには、分離された設計のWCFサービスがあります。コンパイラーは依存関係を認識しないため、分離されたアセンブリを公開されたWebサイト/binフォルダーに自動的に移動する方法を決定しようとしています。Ninjectを使用して依存性注入を処理するため、コンパイラーは、アセンブリxがアセンブリyに依存していることを認識しません。したがって、ビンには、具体的な実装ではなく、サービスのインターフェイスアセンブリのみが含まれます。ビルド定義の更新でそれを処理する方法はありますか?もしそうなら、どのようにこれを達成しますか?
ありがとう!
grails - maven の下で grails を使用して「提供された」依存関係を指定する
grails 1.3.7 アプリケーションがあります。Spring の JMS クラスを使用して、grails サービスの 1 つをメッセージ リスナーとして設定し、それらのクラスを grails-app/conf/resources.groovy に設定しています。私はビルドにmaven 2.0.9を使用しており、grails-maven-plugin 1.3.7と「maven-war」ゴールを使用してwarファイルを作成しています。
2 つのシナリオがあります。
- 「mvn grails:run-app」を使用して、コマンド ラインから grails アプリをローカルで実行できるようにしたいと考えています。私は開発中にこれを使用します。
- Maven によって作成された war ファイルをデプロイすることにより、JBoss 5.1.0 GA 内でアプリを実行できるようにしたいと考えています。これは、統合、テスト、および本番環境で行うことです。
JBoss 内で実行する場合、JMS プロバイダー関連のすべての依存関係が利用可能であり、アプリケーション サーバーによって提供されます。これを maven で処理する通常の方法は、pom ファイルでこれらの依存関係を「provided」のスコープで宣言することです。これにより、これらの依存関係をコンパイルと単体テストで使用できるようになりますが、war ファイルからは除外されます。
しかし、"mvn grails:run-app" を使用してコマンド ラインからローカルで実行すると、多くの ClassNotFound などの例外によって証明されるように、実行時にこれらの依存関係が grails で利用できないように見えます。スコープを「コンパイル」に変更すると、ローカルで実行できます。しかし、現在、これらの依存関係は私の war ファイルにパッケージ化されています。これは望ましくなく、JBoss 内で実行すると問題が発生する傾向があります。
私が今のところ見つけた解決策 (または回避策) は、これらの JMS 依存関係をデフォルト (コンパイル) スコープで pom に含め、BuildConfig.groovy (下記参照)。これは機能しますが、すべての推移的な依存関係 (多数あります!) をリストする必要があるため、面倒でエラーが発生しやすくなります。
私が試した他のいくつかのこと:
最初は、必要な JMS 依存関係を BuildConfig.groovy の「grails.project.dependency.resolution / dependencies」セクションに追加して、それらを pom から完全に除外できるのではないかと考えました。ただし、このリンクによると、Maven で grails を実行すると BuildConfig 依存関係セクションが無視されるため、これは機能しませんでした。
また、「pom true」オプション (上記のリンクに記載) に気付き、それを使用しようとしました。ただし、grails:run-app を実行しようとすると、grails は未解決の依存関係に関する警告をスローし、Tomcat エラーを返します。
私の質問: grails および/または Maven 構成オプションを使用して、私が望むことを達成するためのより良い方法はありますか?
注: 使用している grails、JBoss、または Maven のバージョンを変更することはできません。
関連ファイルの抜粋:
BuildConfig.groovy:
pom.xml:
resources.groovy:
javascript - require.js: require.config パスの最適化
私は、require.js オプティマイザを使用して JavaScript アプリケーションを最適化したいと思っていますが、require.config パスと javascript モジュールを 1 つのファイルに含めることも可能かどうか疑問に思っています。実際、r.js を実行した後、すべてのパスとその他の js ファイルを含む main-built_v_0_1.js という最終的な JavaScript ファイルを 1 つ作成したいと考えています。
ここに私の main.js ファイルがあります:
次に、app.js、router1.js、model1.js、view1.js などの backbone.js ファイルがあります。
これまでにこれをやったことがある人はいますか?それが可能である場合、require.js はどのようにしてアプリケーション全体に広がるこれらのエイリアスを解決できるのでしょうか?
msbuild - msbuild、複数のプロジェクト、依存関係の解決
10のプロジェクトで構成されるソリューションがあります。各プロジェクトにはテストアセンブリがあります(20のプロジェクトを作成します)。
現在、私のビルドスクリプトはすべてのテストアセンブリをビルドしてから、すべてのテストを実行します。各テストアセンブリが2つ以上のコアアセンブリを(直接的および間接的に)参照していることを除いて、これは多くの冗長な構築が行われていることを意味します。
ビルドを高速化するために(アセンブリの数を減らすことなく)物事を単純化するにはどうすればよいですか?
プロジェクト間の参照を解決せずに各プロジェクトを直接ビルドして、すべてを1つの出力ディレクトリにまとめることができると思いますが、他の参照プロジェクトを解決するには、3番目のaprtyddlsなどを使用する必要があります。
他の提案?
ありがとう
regex - Maven が lucene-regex.jar を見つけられない
プロジェクトのpom.xmlにlucene-regex依存関係を追加しました。
しかし、実行mvn install
するBUILD FAILURE
と、次のエラーが表示されます。
Maven はlucene-regex-3.0.3.pomを見つけてコピーしますが、このパッケージを含む.jar.m2\repository\org\apache\lucene\lucene-regex\3.0.3
を見つけることができません。
理由はありますか?
ありがとう
c++ - 完全に異なるビルドシステムでサードパーティのライブラリをどのように処理しますか?
C ++(およびCは、それほど重要ではありませんが)標準では、プログラム内のすべての変換単位が同じ定義を持つ必要があると規定されています。これには、コンパイラスイッチなどが含まれます。たとえば、MSVC ++では、すべての変換ユニットで適切なバージョンのCランタイムライブラリにリンクする必要があります(/MT
対/MD
対/MTd
対)。/MDd
ただし、使用したいサードパーティの依存関係がいくつかあり、次のようなものがあります。
- それらはすべて異なるビルドシステムを使用しています(autoconfがあり、cmakeがあり、独自の手巻きのものがあるように見えるものがあります。)
- ビルドシステムは、これらの種類のスイッチをすべて構成で公開しているわけではなく、ハードコーディングされているスイッチは、システムごとに設定が異なります。(たとえば、あるライブラリはとを強制
/MD
し/MDd
、別のライブラリはとを強制/MT
します/MTd
)
これらの種類のものを処理するための最良の方法が何であるかはわかりません。次のオプションについて説明しました。
- サードパーティの依存関係を中心に独自のビルドシステムを構築します。
- PRO:物事が一致することはわかっています
- PRO:クロスプラットフォームサポートを正しい方法で実行できることを私たちは知っています
- CON:サードパーティの各ビルドシステムがどのように機能するかは正確にはわかりません
- CON:たくさんの仕事
- CON:サードパーティの依存関係が変更された場合に中断します
- サードパーティのビルドシステムを使用して、必要な処理を実行するように変更してみてください。
- PRO:作業が少ないようです
- CON:サードパーティのシステムを壊す可能性があります
- CON:サードパーティの依存関係が変更された場合に中断します
- CON:私たち自身のビルドを本当に複雑にする
しかし、私たちは何をすべきかわかりません。そして、私たちはこの種の問題を抱えているのは私たちだけだとは信じられません。上記のオプションの1つを実行する必要がありますか、それとも私が考えていなかった3番目の選択肢を実行する必要がありますか?
xcode - Xcode 外部プロジェクトを追加する方法
Xcode プロジェクトに外部プロジェクトを追加する必要があります。その理由は、その外部プロジェクトの静的ライブラリにターゲット依存関係を追加する必要があるためです。
必要な方法で追加できないようです。次のようにしたいと思います。
ただし、別のプロジェクトを実際の Xcode プロジェクトに追加すると、次のようになり、自分のプロジェクトからそのプロジェクトを探索できないため、必要な依存関係を追加できません。
これらのスクリーンショットは 2 つの異なるプロジェクトからのものであり、自分のプロジェクトで再現したいものを示しているスクリーンショットでは、複数のプロジェクトをドラッグすると期待どおりに機能することに注意してください。
プロジェクトでいくつかの設定が間違っている可能性がありますか?私が行ったのは、Xcode からテンプレートの詳細マスター アプリケーションを取得したことだけです。