- This topic has 2 replies, 2 voices, and was last updated 16 years ago by nmatrix9.
-
AuthorPosts
-
nmatrix9MemberHello MyEclipse Team,
1. One way I believe you can one up the other IDE’s in terms of maven integration, is to put online the myeclipse support libaries to a repositorie(s). So then not only do you have the option of lets say adding project capabilies (e.g. jpa capabilities) but THEN you’ll also have the option of having a maven project download that myeclipse specific library from a repository directly into the project.
2. An even better way to enhance maven capabilities for myeclipse is to add a type of maven “substitute” context to projects to make them more portable. For example lets say user created a conventional project in myeclipse, it’s huge, invidually finding all the main equivalent libraries and jars and plugging them into maven would actually be too tedious so what do they do? Right click the project a context menu option comes up to “convert to Maven substitute project” click on that option and the IDE finds all the libraries and jars and systemtically generates a copy of the original project but it’s 100% maven library/jar supported. This all done point and click no fiddling with pom entries or config files, click it and the thing is done.
To the best of my knowledge no other IDE out there (IN GENERAL) has the second option capabilities.
The best thing about these enhancements is that you can implement them incrementally (thus inexpensively, less risky) no more all or nothing plugin that is horribly lacking in features or capabilities. I believe you can even implement my first point right now as your only uploading (already tested) libraries to a maven repository. And then you can implement the second feature in myeclipse 7.5 or 8.0 or whatever is possible.
Want another example of how this can be done inexpensively and less risk to the overall Myeclipse setup? Take for example how theres been a big surge of interest in JBOSS seam, familiar with it? You obviously want to implement in myeclipse soon because it is extremely popular right now. But theres the risk of how to integrate it into myeclipse and test it, and backwards capability etc. Why not “incrementally” integrate seam.
For example one of your developers creates a SEAM-Myeclipse library BUT they don’t want to roll it out into the main myeclipse production branch. So they upload the SEAM-Myeclipse library/archetype to a repository so YOUR users/Customers THEN have the option of trying out that archetype via a maven download and testing it out in a “SEAM enabled project” without jeopardizing your other cusomers current Myeclipse setup.
In short big new features, small increments. You can literally have a whole fleet of beta testers testing out exceptionally powerful new myeclipse features incrementally. Without worry of wrecking the myeclipse infrastructure. This goes WAY beyond simply even enabling maven features this will fundamentally alter the way you even roll out highly experimentaly prototype plugins. Makes sense?
Riyad KallaMembernmatrix9,
Excellent writeup, lemme address each of these:
1. This already happens; when you add any capabilities to a Maven-enabled project, Maven is used to resolve those library dependencies in the background into your local repository. If the libraries are already in your local repository, they are added instantly. That’s the lag you see sometimes with adding capabilities and then the actual JARs getting added under the “Maven Dependencies” node.
2. The Maven projects you create now in MyEclipse are completely portable (in the sense that they can be packaged, deployed using Maven externally… the project metadata is MyEclipse-centric of course). But you are right, there is a gap where we could take *existing* projects and Mavenize them so to speak… this is something we have looked at for a while, and in the simple cases it’s pretty straight forward to do, but in the harder cases it requires some magic. This is definitely something we will continue to look at adding going forward, great suggestion.
3. Addressing the point of incremental upgrades over time, I’m glad to see the community interested in something like this. We were discussing the possibility of an experimental repository for MyEclipse 8.0 and beyond that would provide Alpha/Beta access to “MyEclipse Labs”-like functionality… it let’s users try out different things and let’s us see what folks are really interested in without the full/insanely complicated QA cycles that a GA product requires.
Thoughts on that? What types of things would you expect to find in a repo like that? or would you want in there?
nmatrix9MemberHello Riyad,
1. Glad to hear that your using maven repositories for the libraries, I’ve actually noticed that when I add a certain capability to a project, the status bar in eclipse indicates it’s downloading from a maven repository. Now what if I want to manually download that archetype to a maven project? For example what are the COORDINATES TO get a myeclipse jsf capabilities/jar file/library bundle archetype for a project?
2. You are right about the second half about “mavenizing” any arbitrary project, it definitely requires some “magic”, and will be tricky to implement but I believe it is certainly possible to accomplish. The maven repositories will also have to evolve and improve somewhat to make it a reality.
3. Glad to hear that you are interested in the incremental upgrades. Like I’ve said before in my previous statement it is a. much less resource intensive to the MyEclipse team in terms of man power and money. b. you are essentially adding a easily swappable layer on top of the myeclipse infrastructure that you can build upon indefinitely with very little risk to the underlying infrastructure. As for your future plans for MyEclipse 8.0, I’m very excited to hear about that and would like to see you implement the JBOSS seam in those experimental labs or perhaps much sooner.
-
AuthorPosts