問題タブ [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.
maven - 機能性を損なうことなく、大きな Jenkins ジョブ/プロジェクトを小さなジョブに分割する方法は?
Jenkins の設定を改善しようとしています。これまでのところ、/plugins と /tests の 2 つのディレクトリがあります。
私たちのプロジェクトは、Eclipse プラグインのマルチモジュール プロジェクトです。/tests フォルダー内のテスト プラグインは、/plugins 内の対応する生産的なコード プラグインに依存するフラグメント プロジェクトです。
これまで、/plugins と /tests の両方をチェックアウトし、それらすべてをビルドして Surefire の結果などを生成する Jenkins ジョブは 1 つしかありませんでした。
現在、提供する機能に応じて、プロジェクトをより小さなジョブに分割することを検討しています。私たちが試みた方法は最適ではないようです。
次のことを試しました。
- コア機能のジョブを作成しました。このジョブは /plugins および /tests ディレクトリ全体をチェックアウトし、機能を構成するプラグインのみをビルドします。このジョブには、コア アーティファクトを定義し、機能に含まれるモジュールについて通知する個別の pom.xml があります。
- 機能プラグインで実行する必要があるテスト用に別のジョブを作成しました。このジョブは、コア ジョブから複製されたワークスペースを使用します。このジョブは、コア機能が構築された後に実行されます。
どういうわけか、これは最適ではないと思います。
- たとえば、チェックアウトされたファイルを更新できるのはコア ジョブだけです。テストのみが更新される場合、コア機能を再構築する必要はありませんが、再構築する必要があります。
- コア機能に依存する機能があるとすぐに、この機能はコア機能ワークスペースのクローンを使用するか、/plugins と /tests の独自のコピーをチェックアウトする必要があり、肥大化につながります。
- 複製されたワークスペースを使用すると、ソースを更新できません。したがって、別の機能に依存する機能がある場合、コア機能が更新されて構築されている場合にのみ、その仕事を行うことができます。
ここにはいくつかの基本的なものが欠けていると思います。誰か助けてくれませんか?これには間違いなくもっと簡単な方法があります。
編集:すべてが機能した場合に理想的に起こると思うことを定式化しようとします:
- 機能コンポーネントが変更されたかどうかを確認します (つまり、それらの更新が可能です)。
- 変更された場合は、機能をビルドします
- 必要に応じて、依存する機能を構築します (つまり、ob 対応するジョブをチェックします)。
- 機能自体を構築する
- ビルドが成功したら、機能テスト ジョブを開始します
- フィーチャー ジョブでテスト ジョブの結果を表示させてください
最後に、プロジェクト ジョブは
- 夜間ビルドを行う
- /plugins と /tests からすべてのソースを確認してください
- すべてビルド、すべてテスト、結果をソナーに送信
さらに、プロジェクトの機能のビルドとテスト結果がプロジェクト ジョブの結果に結合されるため、ナイトリー ビルドが不要であると便利です。
このようなことは可能ですか?
tycho - Maven tychoプラグインをデバッグする方法は?
http://wiki.eclipse.org/Developing_Tychoに記載されている手順に従い、tychoのソースコードをダウンロードしました。Eclipseプロジェクト(Maven tychoを使用)をデバッグするために、 http: //docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDEに記載されている手順に従いました。
mavenビルドを実行してリモートデバッグアプリケーションを起動すると、次のようなエラーが発生します。
Failed to connect to remote VM. Connection refused.Connection refused: connect
Eclipse-Mavenポート番号を取得するにはどうすればよいですか?
tychoをデバッグする他のアプローチはありますか?
ありがとう。
eclipse - TychoでEclipseプラグインに含まれるライブラリのファイル名にバージョンを保持する方法
Tycho 0.12.0 で構築しているプラグインがあります。このプラグインには、(スナップショット) などの Maven 依存関係がありfoobar:0.1.1-SNAPSHOT
ます。この依存関係は定期的に (毎日) 更新されます。物理ファイルには、スナップショットの日時が含まれています (foobar-0.1.0-20120507.135021-6.jar)。最新の開発版でテストしたいので、スナップショットでビルドしたい。
そのため、プロジェクトをビルドすると、更新された依存関係がlib/
期待どおりにディレクトリにコピーされ、コンパイルとビルドが正常に行われます。
ただし、MANIFEST.MF Bundle-ClassPath は更新されないため、プラグインをインストールしても、クラスパスが正しくないため、実際には機能しません。
私が現在使用している解決策は、maven-dependency-plugin によって書き込まれるファイルの名前を にオーバーライドすることですが、foobar-0.1.1-SNAPSHOT.jar
参照できるようにスナップショットの完全なバージョン番号を保持することをお勧めします。これは可能ですか?使用されている SNAPSHOT 依存関係の完全修飾名で MANIFEST.MF を更新することは可能ですか、それとも手動で MANIFEST.MF を自分で操作する必要がありますか?
MANIFEST.MF を自分で操作するために何かを書くことはできますが、それを行うためのより良い方法があるかどうか疑問に思っていました。
rcp - p2.inf RCP アプリケーションを構築する際の Tycho でのフィルタリング
tycho を使用して RCP アプリケーションを構築しています。RCP アプリケーションは、p2 とその自己更新機能を使用して、p2.inf ファイルでリポジトリを構成します。魅力のように機能します。
ここで、p2.inf ファイルにプレースホルダー ${updatesiteurl} を導入し、ビルド対象の環境に応じた URL に置き換えます。しかし残念なことに、環境変数の代わりに空の文字列に置き換えられます。これは、tycho または p2 ディレクタが一部のエスケープ文字 (たとえば、${58} である「:」など) を置き換えるために発生すると思われます。
これを解決する方法はありますか?リソースプラグインを明示的に宣言し、それを以前のビルドフェーズにバインドすることを考えましたが、それもうまくいきませんでした...
eclipse - Eclipse 製品構成: 「arch」の launcherArgs の設定
Eclipse 製品構成には「launcherArgs」セクションがあり、グローバルに指定することも、サポートされているプラットフォームに対して指定することもできます。win32
as用に製品をビルドしていますが、arch プロパティに応じて異なる .ini を生成したいと考えていますx86
。x86_64
具体的に言うと、これは社内アプリケーションであり、JVM はすべてのクライアントで同じディレクトリに展開されますが、32 ビット マシンと 64 ビット マシンでは異なります。
Maven/tycho でビルドします。
eclipse - 製品の ico ファイルの置換中に Tycho でエラーが発生しました
製品のビルドには tycho v0.13 と maven 3.0 を使用しています。
ビルド時に次のエラー/警告が表示されます
エラー - D:\Builds\workspace\plugins\icons\app-icon.ico を使用して C:\Users\AppData\Local\Temp\p2.brandingIron7115583353836584113\launcher.exe で 7 アイコンが置き換えられません
ico ファイルはすべて適切です。その結果、ウィンドウ アイコンは標準の Eclipse アイコンに置き換えられています。
java - Tycho プロジェクトで eclipse 機能を構築するときに時折発生するエラー
OSGi ベースのアプリケーションの Maven/Tycho ビルドがありますが、例外で失敗することがあります。
私は約20のEclipse機能を持っていますが、実際の機能とは何の関係もないようです(毎回失敗する別の機能である可能性があり、多くの場合、ビルドは正常に機能します)
それは災害ではありませんが、ある時点でこれを修正したいと思います.Tychoコードに飛び込むか、ランダムな設定をいじり始める以外に、これをさらにデバッグする方法が本当にわかりません.
これは誰かとベルを鳴らしますか?
システム: Fedora Linux JVM: OpenJDK ランタイム環境 (IcedTea6 1.11.3) (fedora-67.1.11.3.fc16-x86_64) Maven: 3.0.3 Tycho: 0.15.0
eclipse - java.lang.NoClassDefFoundErrorが原因でTychoテストが失敗する:junit / framework / AssertionFailedError
私はこれに完全に混乱し、慌てています。私の理解では、それは機能するはずですが、理由はわかりません。
Eclipseワークベンチでいくつかのテストを実行するだけのtychoビルドがあります。ただし、私のテストはすべて、この種の例外で失敗します。
これは私には意味がありません。 org.junit
およびorg.junit4
は、テストを実行するバンドルと、を含むバンドルの依存関係ですAbstractCommandTest
。これらのテストは私のワークスペース内で実行すると合格しますが、maven / tychoがjunitクラスをロードできないのはなぜですか?
役立つ場合は、githubリポジトリへのリンクなどの詳細情報を提供させていただきます。
編集:詳細を提供する
githubリポジトリはここにあります:https ://github.com/grails/grails-sts-tests
いくつかのテストを実行するだけのシンプルな単一のプラグインであることがわかります。テストスイートは、依存関係として指定されている他のリポジトリのプラグインからのテストで構成されています。他のリポジトリにあるテストプラグインは別のCIサーバーで実行され、NoClassDefFoundErrorの問題は発生しないことに注意してください。他のCIサーバーを調べましたが、何も違いはありません(残念ながら、このCIサーバーは公開されていないため、リンクを共有できません)。
問題を示すハドソンビルドジョブはここにあります:http://hudson.grails.org/job/grails-sts-tests-2.0.x/17/console
maven - Maven で OSGi アプリケーションを開発する場合、POM を最初に使用するか、MANIFEST を最初に使用する必要がありますか?
Maven を使用して OSGi アプリケーションを開発する場合、主に 2 つのアプローチがあります。POM ファーストと MANIFEST ファーストです。
各方法の長所と短所を示す表の形式の回答を探しています。
より具体的には、それがどのように関連しているかについても知りたいです。
- ツールセットの成熟度
- ベンダーの独立性
- 開発のしやすさ (ツールの開発ができる人を見つけることを含む)
- 互換性
- ClassNotFound の回避
- 手作業の回避
java - Eclipse RCP - 依存関係を定義するすべての可能性?
Eclipse RCP プロジェクトで依存関係を定義するためのすべての可能性のリストはありますか? おそらくリソースによってフィルタリングされますか?
可能な依存関係:
- 他の Eclipse RCP プラグインから
- プラグインを明示的に定義せずにパッケージごと
- jar ライブラリ
- ...