問題タブ [ivy]
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.
ant - Apache Ivy の複数のリゾルバー
IvyRoundUp パッケージャー リポジトリと cukes maven リポジトリを取得して、apache ivy のチェーン リゾルバーと連携させようとしています
以下を使用して
antビルドでivy:retreiveを実行すると、次のように表示されます
アイビーのウェブサイトからわかることから、これは私が2つのリゾルバーを持っていることを意味し、キュークスリゾルバーにヒットしないため、アイビーは両方のリポジトリをチェックする必要があります
java - IvyおよびNexusのSourceforgeorgプロパティ
次の設定を使用しようとする場合:
と:
Nexusは期待しています
しかし、netとsourceforgeは次のように完全に削除されています。
ivy - IvyからArchivaにアーティファクトをデプロイする
セキュリティが有効になっているArchiva内にアーティファクトをデプロイする方法をテストした人はいますか?私は次の構成を持っています
私のivysettings.xml
私のbuild.xml
Archiva deploy_userには「リポジトリマネージャー」Archivaの役割がありますが、許可されていないメッセージが表示されます。実際、「リポジトリマネージャ」をゲストArchivaユーザー(認証されていないユーザー)に設定すると、アーティファクトがデプロイされるため、資格情報が考慮されていないようです。
Archivaはプロトコルwebdavを使用します。Ivy webdavリゾルバーで実験されたクレデンシャルを取得しましたか?これについて何か考えはありますか?
java - アイビー、アリ、スタートスクリプト
antを使用して依存関係を構築し、ivyを使用するプロジェクトがあります。Ivyで構成された依存関係に基づいて、クラスパスを使用してプロジェクトの開始スクリプトを生成したいと思います。特に、依存関係の順序が重要であり、ivy構成の順序から保持する必要があるためです。
誰かがこれを以前にやったことがありますか?また、クラスパスに相対パスを生成する必要があるため、絶対パスは使用できません。これは、ビルドが実行されるマシンでのみ機能するためです。
編集:フィードバックに基づいて、Ivyを方程式から切り離すと(選択したディレクトリに解決します)、ライブラリのリストを解決できる可能性があります。しかし、特に相対パス(binディレクトリに対して)を使用して、開始スクリプトに適したクラスパスをどのように生成しますか?
例えば
したがって、私の場合、完全な絶対パスではなく、すべてのjar参照の前bin/start.sh
に置く必要があります。../lib/
ありがとう。
java - Apache Hive のビルド - 依存関係を解決できない
http://wiki.apache.org/hadoop/Hive/GettingStartedに従って Apache Hive を試していますが、Ivy から次のエラーが発生しています。
このエラーは、Hadoop の 4 つの異なるバージョンで 4 回繰り返され、ビルドが停止します。
2 つの質問があります。
- これらのファイルを手動でダウンロードしてビルドに渡すにはどうすればよいですか?
- バイナリをビルドするためだけに、Hive が 4 つの異なるバージョンの Hadoop をダウンロードする必要があるのはなぜですか?
ant - ivy.xml にファイルを含める方法は?
多くのプロジェクトで同じである多くの構成を含むかなり大きなivy.xmlがあります。
この大きな繰り返しセクションを共通のインクルード ファイルに分けたいと思います。どういうわけか、これが可能であることを説明するドキュメントが見つかりません。
これが実行可能かどうか考えている人はいますか?
編集:さらに考えた後、これは意図的に実行可能ではないと思います。Ivy ファイルは 1 つのまとまりのある単位であることを意図しており、ファイルベースの参照を含めず、他の Ivy モジュールへの参照のみを含める必要があります...
ant - プロジェクト間で Ant ターゲットを共有するにはどうすればよいですか?
プロジェクト間でAntターゲットを共有する確立された方法はありますか? 私は現在解決策を持っていますが、それは少しエレガントではありません。これが私がこれまでに行っていることです。
ivy-tasks.xml
ネットワーク上のサーバーでホストされているというファイルがあります。このファイルには、他のターゲットとともに、Ivyでプロジェクトの依存関係を管理するためのボイラープレート タスクが含まれています。例えば:
このファイルがホストされている理由は、次のことをしたくないからです。
- ファイルを必要とするすべてのプロジェクトにファイルをチェックインします。これにより重複が発生し、ターゲットの維持が難しくなります。
- build.xml をソース管理からのプロジェクトのチェックアウトに依存させます。これにより、ファイルにアクセスするためだけに、ビルドの最上位に XML が追加されます。
プロジェクトの build.xmls でこのファイルを使用して行うことは、次の行に沿っています。
これに関する「汚い」部分は、 import タスクが最上位にある必要があるため、target の外で上記の手順を実行する必要があることです。さらに、必要なすべての build.xml ファイルにこの XML を含める必要があります (つまり、まだ多少の重複があります)。
その上、インポートしたい一般的な (Ivy 以外の) タスクがある可能性がある追加の状況があるかもしれません。Ivy の依存関係管理を使用してこれらのタスクを提供する場合、依存関係を解決するまでに build.xml のターゲット内にいる必要があり、インポートできないため、まだ問題があります (上記の制約に)。
私が達成しようとしていることに対するより良い解決策はありますか?
ant - apache ivy - ivysettings.xml の内容
私は基本的なIvy チュートリアルで遊んでいましたが、依存関係を定義する別の ivy.xml と、Apache ant インストール内の ivy jar を使用する状態に徐々に拡張しました。
また、共有リポジトリを定義して、ツタが外部リポジトリに飛び出さないようにすることもできました。これは、解決タスクでプロパティを定義することによって行われました。
ただし、これらのプロパティを別の ivysettings.xml ファイルに移動しようとしましたが、うまくいきませんでした。
質問は、 ivysettings.xml に何を含める必要があるかです。
以下の私の最新の試みはエラーを出します:
不明なリゾルバ null
... のリゾルバが見つかりません
ant - Ant での前提条件の再構築の回避
既存の Ant プロジェクトがあり、既に最新のコンポーネントを再ビルドすることを避けて、ビルド プロセスをスピードアップしたいと考えています。
Ant では、あるターゲットが別のターゲットに依存するように指定できますが、既定では、すべての前提条件は、既に最新のものであっても常に再構築されます。(これが Ant と make の重要な違いです。デフォルトでは、make は必要な場合 (つまり、前提条件が新しい場合) にのみターゲットを再構築します。)
必要な場合にのみ Ant に前提条件を再構築させるには、Ant 内に 2 つの一般的なアプローチがあるようです。
最初のアプローチは、uptodate
タスクを使用してプロパティを設定することです。次に、タスクはプロパティをテストし、プロパティが設定されている (設定されていない) 場合にのみビルドできます。
別の最初のアプローチはoutofdate
、ant contrib のタスクを使用することです。個別のプロパティが定義されていない 1 つのターゲットであるという点で優れています。対照的に、outofdate では、プロパティの設定とテストに別のターゲットが必要です。
2 番目のアプローチは、
セレクター<fileset>
を使用してを作成することです。<modified>
ファイルの MD5 ハッシュを計算し、MD5 が以前に保存された値と異なるファイルを選択します。オプションで設定可能です
セレクター内; デフォルトは「cache.properties」です。内容が変更されたすべてのファイルを src から dest にコピーする例を次に示します。
自動化する必要があるプロセス (再ビルドを回避する) の Ant コードを作成する必要があるため、どちらも満足できるものではありません。
Ivy もありますが、そのドキュメントから、この機能が提供されているかどうかわかりません。Ivy ドキュメントの主な使用例は、単一のプロジェクトの一部をステージングして無駄な作業を回避するのではなく、インターネットからサブプロジェクトをダウンロードしているようです。Maven も同様の機能を提供しており、ドキュメントで強調されている同じユース ケースがあります。(既存の重要なプロジェクトを Maven に移行することは悪夢であると言われています。対照的に、Maven を使用してグリーンフィールド開発を開始することは、より好ましいことです。)
より良い方法はありますか?
git - Gitでアイビーをセットアップしますか?
私は過去にIvyとSVNを使用してActionscriptプロジェクトの依存関係を管理しました。私が使用したライブラリはivysvnでした。
かなりうまく機能しているようで、svnリポジトリは各Actionscriptライブラリのバージョン管理されたバイナリ.swcファイルをホストしており、ivysvnANTタスクを使用してそれらを個々のプロジェクトにプルダウンしました。
gitにこのような同様のワークフローはありますか?gitは私が知る限り、個々のファイルを実際にプルダウンできないため、もう少し複雑になる可能性があると思います(おそらくgitサブモジュールを使用します)。また、サードパーティのivysvnライブラリのようなgitに固有の別のANTタスクもおそらく必要です。ivy以外にgitを使用してサードパーティの依存関係を管理するためのより良い方法はありますか?