問題タブ [tycho]
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.
eclipse - Tycho&Eclipse-PlatformFilter
私はtychoを使用してRCPアプリケーションを自動的に構築しています(実際には、例の1つで報告されている構造を採用しています)。私はそれが非常にうまく機能し、私が必要とする3つのアーキテクチャすべて(linux x86、linux x86_64、win32 x86)をサポートできると言わなければなりません。
さらに、アプリケーションの一部には、フラグメントとともに提供するネイティブコードが必要です(前の質問を参照)。各フラグメントは特定のアーキテクチャに合わせて調整されているため、フラグメントのマニフェストで指定します。
ただし、実行すると、次のようにmvn install
なります。
正しくコンパイルされていない同じプロジェクトに注意してください...私が欠けているものは何ですか?Eclipse-PlatformFilter
maven - バンドルクラスパスjarとその依存関係をmavenリポジトリからローカルlibフォルダーにコピーする方法は?
EclipseRCPアプリケーションを開発しています。リビジョン管理システムにはSVNを使用することにしました。日食環境で日食製品をエクスポートすることができます。すべてがうまくいきました。
だが、
一部のプラグインは、manifest.mfでbundle-classpathを使用して通常のJavajarに依存しています。これまで、これらのjarファイルをSVNリポジトリにコミットしていました。jarをsvnにコミットするのは間違っていると「聞いた」ので、maven-tychoを使用して、この目的のためにそれらのjarをmavenリポジトリに配置する必要があります。
そこで、jarをSVNリポジトリからMavenリポジトリに移動しました。次に、新しい開発環境をセットアップしたかったのですが、svnからプロジェクトをチェックアウトしましたが、jarがないため、コンパイルエラーが発生しました。
m2eclipseを使用し、新しく作成したpom.xmlファイルですべての依存関係を定義しました。maven-dependency-pluginのコピー目標とすべてのjarを一覧表示してから、mvn validateを実行して、jarをlibフォルダーに入れます。それはうまくいきましたが、私には少し醜いようです。私のプラグインのpom.xmlは、すべての依存関係を2回定義しているように見えるためです。
これを取り除く方法はありますか?
さらに、MyJar.pomに他の依存関係がある場合は、ローカルライブラリにもそれらが必要です。これらの推移的な依存関係をローカルのlibフォルダーにコピーする方法はありますか?
コピー依存関係の目標を試しましたが、プラグインが依存している他のプラグインのjarを見つけようとします。通常のjarファイルをローカルライブラリにコピーする必要があります。私の他のプラグインは、プラグインプロジェクトとしてすべてのソースコードと並んですでに存在しています。私は彼らの瓶を必要としません。それらを除外できますか?私はこれを試しましたが成功しませんでした:
ありがとう
maven - 依存関係をコピーするときにEclipseプラグインの依存関係を除外する方法は?
これは、StackOverflow での 2 番目の質問です。1枚目はちょっと長かった。今回は要点を切り詰めることができれば幸いです:)
Eclipse プラグイン プロジェクト P が Require-Bundle を介してプラグイン R に依存しているとします。したがって、Eclipse ワークスペースには 2 つのプロジェクトがあります。
また、Eclipse プラグイン プロジェクト P は、Bundle-Classpath を介して通常の A.jar に依存しています。
最後に、A.jar はその POM を含む Maven リポジトリーにあり、B.jar に依存しています。
A.jar と B.jar を P のローカル lib フォルダーにコピーする必要がありますが、R.jar はコピーしません。
POM ファイルでは、P と R の GroupId は G です。A と B の GroupId は異なりますが、G ではありません。
理由はわかりませんが、copy-dependencies の目標は R.jar を検索し、見つからない場合は失敗し、A.jar または B.jar をコピーしません。excludeGroupIds を使用しようとしましたが、成功しません:
Eclipse プラグインの依存関係を除外する方法はありますか?
maven - 単一の親pom.xmlから異なるバージョンのプラグインを構築するにはどうすればよいですか?
MavenTychoを使用していくつかのEclipseプラグインを構築しようとしています。すべてのプラグインのバージョン番号が同じではありません。
次のpomアーキテクチャを考えてみましょう。
- plugin1(バージョン1.0.6.qualifier)/ pom.xml
- plugin2(バージョン1.4.0.qualifier)/ pom.xml
- pom.xml(親pomバージョン1.0.0.SNAPSHOT)
Mavenのビルドは次のエラーで失敗します:
異なるバージョン番号でこれらのプラグインをビルドできるように親pomを構成するにはどうすればよいですか?この問題を解決するには、別のpomアーキテクチャを使用する必要がありますか?
プラグインのバージョンを変更したくないことに注意してください。
eclipse - 依存するバンドルを Eclipse で開いたりインポートしたりせずに OSGi バンドルを開発する方法はありますか?
Eclipse を使用して OSGi バンドルを開発する場合、多くの従属バンドルをインポートして開く必要があります。多くのバンドルがある場合、プロジェクトのセットアップは時間がかかり、特に初心者にとっては困難です。
Tycho プラグインと m2e を試しました。彼らはこの目標のためではないようです。
eclipse - JUnit プラグイン テストが unresolved bundles エラーで失敗するのはなぜですか?
PDE プロジェクトで JUnit Plugin-Test ランチャーを実行しようとしています。以前は機能していましたが、OSGi バンドルの名前の一部を変更したところ、次のように失敗しました。
完全なエラー ログを参照してください
これらのメッセージを診断する方法と、メッセージがどこでどのような問題を示しているのかわかりません。これらのテストは、私のコマンド ラインである Tycho-Maven ビルドで正常に実行され、プロジェクトは Eclipse でエラーなしでコンパイルされます。ランチャーの [起動] 選択ボックスで [すべてのワークスペースと有効なターゲット プラグイン] オプションを選択しました。
これらのエラー メッセージが表示される理由を教えてください。
unit-testing - Tycho:JUnitテストが失敗した場合にデプロイを防ぐ方法は?
私はeclipse-plugin
いくつかのユニットテストで得ました。
Mavenでは、ユニットテストを同じバンドルに保持し、のテスト依存関係としてjunitを指定しましたpom.xml
。
今度はtychoに切り替えたいのですが、tychoが同じ名前のバンドルと、".tests"
実行される接尾辞を探していることを読みました。ただし、テストされたバンドルに単体テストを保持して、テストが失敗した場合にバンドルのビルドが失敗するようにしたいと思います。そうしないと、単体テストが正常に完了しなかった場合に、Mavenがアーティファクトをインストール/デプロイする可能性があります。
tychoを使用してユニットテストを同じバンドルに保持する方法はありますか?
tychoビルドの単体テストをどのように管理しますか?
更新:わかりました。2つの別々のバンドルとを取得eclipse-plugin
しましたeclipse-test-plugin
。Tychoは両方を同じリアクターで構築しますが、eclipse-plugin
単体テストが失敗したにもかかわらず、私のデプロイが行われます。ネクサスリポジトリに壊れたアーティファクトがあります...
単体テストが正常に完了しなかったときにビルドの失敗を強制する方法はありますか?
java - tycho内でmockitoを参照するには?
私は現在、自分のビルド (~30 バンドル) を tycho に任せようとしています。単体テストでMockito
を使用しているときに、いくつかの紛らわしい問題に直面しました。テスト済みのバンドルに as fragment プロジェクト
を作成しました。tycho はマニフェストを使用して必要なバンドルを解決する必要があるため、.mockito への依存関係を.
次に、マニフェストの必要なバンドルにmockitoを追加しようとすると、mockitoがリストされません。この投稿を見つけて、Eclipse indigo を指すターゲット プラットフォームを作成しました。eclipse-test-plugin
pom.xml
プラットフォームの仕様を含めたので、Eclipse デルタ パックは必要ありません。そして、最初の奇妙なことが起こります。Eclipse は、満たされない依存関係がいくつかあり、新しく作成したターゲット プラットフォームを Eclipse 内でアクティブに設定すると、 などのパッケージを Eclipse で解決できないと言っていますorg.osgi.framework
。しかし、eclipse-product
tycho とターゲット プラットフォームを使用してビルドすると、動作します。
現在のEclipseインストールをアクティブなプラットフォームとして設定すると、バンドルが解決されます。indigo リリースの以下を選択しました。
- Eclipse RCP プラグイン開発者リソース
- Equinox ターゲット コンポーネント
- Jetty ターゲット コンポーネント
したがって、私の最初の質問は、「ターゲット プラットフォームのどこが悪いので、tycho は使用できるのに、Eclipse は使用できないのですか?」ということです。
元の問題 (mockito の実行) に近づくために、現在の Eclipse インストールをアクティブなターゲット プラットフォームとして設定しました。その後、Eclipse はorg.osgi.framework
パッケージなどを解決できます。上記の投稿のように
、以前に削除したmockitoへの依存関係を再度追加しました。pom.xml
しかし、マニフェストで必要なバンドルに追加しようとすると、mockito が見つかりません。
私の 2 番目の質問は、「何が間違っているのですか? Eclipse 更新サイト (例: Maven 中央リポジトリ) で公開されていないバンドルをどのように参照しますか?」です。
更新:調査中に、非 p2-update-siteからのバンドルをターゲット プラットフォームに含める 2 つの方法を見つけました。
- Nexus Pro Nexus
のプロフェッショナル バージョンは、Maven セントラル リポジトリのようなデフォルトの Maven リポジトリを p2 更新サイトにラップできる p2-Proxy リポジトリをサポートしていますが、プロフェッショナル バージョンの価格は年間約 800 ドルです。 - eclipse-repositoryを作成する必要なすべてのバンドルを含む
パッケージを使用して、新しい Maven プロジェクトを作成できます。eclipse-repository
作成されたアーティファクトは、共通の Web サーバーにデプロイされます。
ターゲット プラットフォームでは、Nexus p2-proxy リポジトリまたは Web でホストされている p2-リポジトリを参照できます。
他の方法を知っている人はいますか - おそらくより便利/安価ですか?
tychoの紛らわしい世界をもう少し理解するのを手伝ってください...
よろしくお願いします
eclipse - Tycho が製品から別のリアクター ビルドの eclipse-feature への参照を解決できない
私は 2 つのリアクター ビルドを持っています。
最初のものは、いくつかのバンドルとそれに応じた機能を構築します。成功した後clean install
、機能は私のローカル Maven リポジトリにあります。Tycho は p2 メタ情報も生成しています...-p2artifacts.xml
そして...-p2metadata.xml
2 番目のビルドには、最初のリアクターでビルドされた機能を参照する機能ベースの製品が含まれています。Tycho を試すとclean install
、未解決の機能 (他のリアクター ビルドの機能) について不平を言う。
目標 org.eclipse.tycho:tycho-p2-repository-plugin:0.12.0:assembly-repository [...] ["TestApp2 1.0.0 から my.testlib.feature.feature への依存関係を満たすことができません。グループ [1.0.0.201109081051]."]
ご覧のとおり、私は Tycho 0.12.0 を使用しpomDependencies=consider
ています。これは、フラグが設定されているときにローカルの Maven リポジトリのアーティファクトを解決できるはずです。
生成されたローカル Maven リポジトリの p2 メタ情報を調べたところ、機能バージョンに少し違いがあることがわかりました。p2artifacts.xml の機能のバージョンは次のとおりです。
バージョン='1.0.0.201109071453'
2 つのバージョンの比較
タイムスタンプである可能性がある最後のビットにのみ違いがあります。
ティコが未解決の機能について不平を言っている理由を誰か知っていますか? タイムスタンプは重要ですか?
更新: 2 番目のビルドのタイムスタンプはビルドごとに変わるため、現在のタイムスタンプであると想定しています。
command-line - Maven 3:POMのコマンドラインをオーバーライドする
コマンドラインを使用して、POMで定義されたプロパティをオーバーライドできます。
どういうわけか逆の効果を出すことができますか?POMのコマンドラインパラメータを上書きするには?
コマンドラインに「-Dmaven.test.skip-DskipTests-DskipITs」が含まれるハドソンがあり、変更できません(管理者は1か月以内にリクエストに応答します)が、とにかくテストを実行したいと思います。
ありがとうございました)