2009-02-13 19 views
15

Tôi hiện đang đánh giá con quạ để cải thiện quy trình xây dựng của chúng tôi. Việc xây dựng và tạo các tệp jar bình thường hoạt động cho đến nay, mặc dù tôi không hoàn toàn hài lòng với IDE Maven.Hiện tại, bạn có thể xây dựng các Plugin Eclipse bằng Maven VÀ có tích hợp IDE tốt không?

Tôi hiện đang ở thời điểm đó, nơi tất cả libs tôi cần cho dự án của chúng tôi được xây dựng và tôi đang chuyển sang các dự án RCP Eclipse. Và bây giờ tôi không chắc chắn làm thế nào để đi về.

Có một số plugin tôi cần phải tạo trước tiên, trước khi chuyển sang phần RCP thực tế. Do đó tôi có 3 vấn đề.

Tôi muốn xây dựng những plugins, các giải pháp thực tế duy nhất cho điều đó dường như là maven-bó-plugin: http://felix.apache.org/site/apache-felix-maven-bundle-plugin-bnd.html

Nhưng, Đối với tích hợp IDE tốt đẹp Tôi cũng cần các tập tin thích hợp (plugin.xml, xây dựng .properties, v.v ...) sẽ được tạo tự động.

Để xây dựng các bộ phận RCP, có vẻ như cho đến nay giải pháp duy nhất chỉ là plugin pde-maven-http://mojo.codehaus.org/pde-maven-plugin/, theo như tôi có thể nói, hãy sử dụng ant-pde. Đây là ngu ngốc, phải không?

Điều duy nhất tôi có thể tìm thấy là tycho (http://www.sonatype.com/people/2008/11/building-eclipse-plugins-with-maven-tycho/), nhưng điều này là cho đến khi ở giai đoạn rất sớm.

và một lần nữa, một tích hợp Eclipse tốt đẹp là cần thiết. Tôi thực sự, thực sự, thực sự không muốn chỉ định phụ thuộc hai lần.

Vì vậy, làm thế nào để bạn xây dựng các dự án RCP Eclipse của bạn với maven?

Cập nhật

Còn bây giờ, có vẻ như là không có giải pháp như thế có sẵn. Tycho trông rất hứa hẹn, nhưng tôi lãng phí 2 ngày và không có được nó để chạy (phiên bản hiện tại vào thời điểm này). Có lẽ nó sẽ sẵn sàng trong nửa năm hoặc lâu hơn.

+0

Kể từ PDE được dựa trên buildfiles ANT, tôi không thấy như thế nào pde-maven-plugin là ngu ngốc. Đừng sáng tạo lại bánh xe. –

+0

Nhưng maven đã tự làm hầu hết mọi thứ (biên dịch, đóng gói, vv ..), vậy tại sao không có plugin hoàn toàn độc lập (từ ant) ​​với chi phí cấu hình tối thiểu? – Mauli

+0

Tôi hiện đang có một cái nhìn tại Tycho vs. Buckminster vv Hơn một năm sau câu hỏi của bạn, kinh nghiệm của bạn như thế nào? – cuh

Trả lời

7

Không có công cụ nào như vậy. Tycho cũng là phương pháp duy nhất tôi biết.

0

Trong dự án của chúng tôi, chúng tôi đã tách nền tảng mục tiêu và các plugin ứng dụng. Tóm lại: chúng tôi xây dựng nền tảng đích với Maven, trong khi các plugin ứng dụng được xây dựng với PDE.

0

Tôi đã sử dụng Mavenide trong một thời gian, nó chỉ là ok. Không chắc chắn về cách nó là ngày hôm nay mặc dù.

2

Tôi sử dụng m2eclipse và nó phù hợp với nhu cầu của tôi. Bạn chỉ định các phụ thuộc của bạn trong tệp pom.xml và chúng được tự động đưa vào tài khoản trong đường dẫn xây dựng của Eclipse.

Lưu ý: Tôi không thể nói bất cứ điều gì về RCP (không bao giờ tạo bất kỳ thứ gì cho nền tảng đó).

Trân trọng,

Cyril

+0

câu trả lời tuyệt vời, tôi chỉ muốn thêm rằng tôi đã tạo ra một maven-plugin và tôi thích sử dụng maven. – IAdapter

2

Bạn có chết bộ về việc sử dụng maven để xây dựng các ứng dụng RCP của bạn? Tôi hỏi điều này bởi vì, từ kinh nghiệm của tôi sử dụng maven để xây dựng bất cứ thứ gì nhiều hơn các ứng dụng RCP tầm thường có thể là một nỗi đau. Khi tôi bắt đầu làm việc trên các ứng dụng RCP, ban đầu tôi đã nghiên cứu bằng cách sử dụng maven như một giải pháp xây dựng, nhưng phát hiện ra rằng sự hỗ trợ cho nhật thực được xây dựng bên trong maven rất cơ bản vào thời điểm đó.Ngoài ra, một số đồng nghiệp của tôi đang sử dụng maven cho một dự án dựa trên RCP khác trong công ty của chúng tôi, và trong khi hỗ trợ cho nhật thực đã tốt hơn, họ phải nhảy qua một số vòng để làm cho nó hoạt động theo ý thích của họ. Vì vậy, ý kiến ​​của tôi là cho đến bây giờ, gắn bó với việc sử dụng kiến ​​trúc pde dựa trên kiến ​​cho các ứng dụng RCP của bạn.

0

Tycho thực hiện những gì bạn cần. Bây giờ vào năm 2012, nó là bộ plugin maven chín muồi và có thể sử dụng được. Tôi chỉ có thể giới thiệu nó.

Chất lượng của tài liệu rõ ràng không thay đổi nhiều kể từ năm 2009. Có thể khó khăn để Tycho chạy. Chúng tôi đã hiểu được Tycho và chúng tôi đã sử dụng thành công nó để xây dựng một ứng dụng Eclipse RCP lớn đáng kể trong hơn một năm rưỡi. Chúng tôi đã áp dụng cách tiếp cận đầu tiên biểu hiện, trong đó tất cả các phụ thuộc của plugin (dự án) được xác định trong MANIFEST.MF. Sản phẩm cuối cùng của bản dựng của chúng tôi là một ứng dụng thực thi và cũng có thể là p2 site để cập nhật dễ dàng. Tất cả được thực hiện bởi maven build.

+0

Xin chào, tycho xây dựng một dự án maven độc lập (như sử dụng một nguyên mẫu), cũng như ứng dụng RCP netBeans có được xây dựng hay nó phức tạp hơn mà nó bị mắc kẹt với IDE Eclipse. Bởi vì những gì tôi thấy ở đây có vẻ phức tạp hơn http://wiki.eclipse.org/Developing_Tycho. – Bax

1

Ngày nay Tycho cho phép phân giải phụ thuộc dựa trên tệp kê khai của gói được tạo sẵn (gói bắt buộc, gói đã nhập, v.v.).

Hơn nữa, Tycho có thể được định cấu hình để sử dụng target platform để tạo. Điều này cho phép sử dụng cùng một nền tảng đích cho việc xây dựng maven và pde.

Kể từ v0.24.0, Tycho thậm chí có thể xây dựng các trình cắm và tính năng POM-less, tránh trùng lặp phiên bản và siêu dữ liệu artifactId.

Trong ánh sáng ở trên và xem xét ngay cả Eclipse Platform is built using it trong vài năm nay, Maven Tycho hiện là cách tốt nhất để xây dựng RCP một cách không đầu.

0

Nếu u r xây dựng một Plugin hoặc ứng dụng Eclipse (RCP) Maven Tycho là cách được khuyến nghị để xây dựng nó.

Khá thông minh trong việc giải quyết các phụ thuộc osgi. U có thể tham khảo hướng dẫn của tôi trên Maven Tycho Tutorials

Maven Tycho yêu cầu cài đặt m2eclipse và Tycho.

Và nguyên mẫu nên eclipse-plugin hoặc eclipse-tính năng hoặc eclipse-kho