Posts Tagged ‘opensource’

Testing internal classes in Eclipse

When writing a plug-in for eclipse, one can select which parts are public and visible for every plug-in (that will be the exposed API for extenders) or internal.

This is clearly a good idea. Consumers of you’re plug-in see only what they need, so they are saved from looking at the gory details.

However, you might like to test your internal API, which is usually done from a different plug-in… which won’t have access to the internal API that needs to be tested.

Is there a solution? Of course!

Expossing internal classes to a single plugin

What needs to be done is to export  the internal packages as if they where API, but change their visibility so only the test plug-in can see the classes.

Done! You can have a tested plug-in which a clear separation of public API and internal logic.

This is the last piece of news that I wanted to share with you since long, long ago.

It has been a long time since I released a version of Candy for AppFuse. There are several reasons for that, the most important of them being my lack of time. Another reason is that I wanted to contribute all that I could to the core maven support in eclipse, something that has not progressed as fast as I wanted.

As you might already know if you’re a reader of this blog, a new solution for maven2 support in Eclipse (called q4e) is on the works with releases coming to light every few weeks.

Being a committer in q4e means that I can more easily push Candy features in the core of maven support. To name a few:

  • Configure a maven project after creating it or importing it into Eclipse.
  • Configure arbitrary repositories.
  • Discover available archetypes.
  • Integrate maven projects with existing eclipse plugins.

Most of this is already present on Q or being actively worked on by the team. The project is being pushed forward by DevZuz, which brings (to me at least) some extra confidence, since there is people that can dedicate their work hours to the project (and not just the little spare time I’m bringing). And there is very talented people there, who also play an important role in the maven community, so bugs are squashed no matter where they come from 🙂 .

So, what does this mean for Candy?

It will be separated in pieces and built again. Core functionality would be in q4e, with extension points that will allow to properly support AppFuse.

Since q4e targets Eclipse 3.3 and Java 5, this means Candy will be Eclipse 3.3 only, with Java 5 or greater. There will be WTP 2.0 integration as soon as possible (but I will decline any invitation to set a deadline… this is my free time 😉 ). Probably DTP and SpringIDE will be next.

I’ll maintain the existing version of Candy as long as possible, so if you find bugs, let me know. Improvements will have to wait until Candy is working on top of q4e.

Even when this is pretty much set, I would like to hear existing Candy users’ opinions. Leave me a comment.

Q4Eclipse (q4e for short, or just Q) is a new set of plugins for Eclipse 3.3 (Europa) providing integration between Maven2 based projects and Eclipse.

It is a quite ambitious project backed by DevZuz with the objective of being accepted as an official Eclipse project, and I must say that I’m proud of having been invited as a committer to the project. Thanks folks for the confidence showed.

Q’s strongest point (apart from the maven expertise DevZuz brings in) is its flexible architecture based on small plug-ins, each one does one thing and does it well.

Currently, Q is a little rough on the edges but already usable. The community is still starting to grow, so your feedback will be received by eager developers 🙂 .

If you’re interested in living on the bleeding edge, take Q for a walk. The update site is: http://q4e.googlecode.com/svn/trunk/updatesite/ . Also, be sure to read the FAQ and join the user group.

Because I have upgraded my own eclipse to the 3.3 (Europa) version, I was planning on dropping eclipse 3.2 support.

This is not written in stone, but there are some good reasons for that:

  1. Eclipse Europa (in fact, Web Tools Project 2.0) made some interesting changes that will allow greater integration between maven webapps (not only AppFuse) and Eclipse. I’m excited about this and have already contributed a patch to the m2eclipse team (not really my own, based on previous work by Robert Elliot).
  2. Lack of resources: I don’t have the resources to maintain compatibility for two different versions. Again this is related to WTP… It is quite different to integrate WTP 1.5 (Eclipse 3.3) and WTP 2.0.
  3. Small community. I have no real numbers about how many Candy for AppFuse users exist out there, but according to Ohloh, I’m the only one 🙂 .
  4. At the current development speed, Candy for AppFuse will not be “feature complete” in the near future, so it makes sense to target Eclipse 3.3 for the 1.0 release.

This said, I want to hear your opinions (user or not).

Mylyn in Eclipse Europa (3.3)

A couple of days ago, I installed the new version of Eclipse (3.3, named Europa). Like many others, I’m impressed by some of the new features (I think I’m in love with Command-3) and its incredible growth.

Maybe because of its huge size, Eclipse maintainers tried to break it down in smaller pieces. So small, in fact, that it starts to be a daunting task to know what to install from the update sites.

One of the things I liked about Europa is that Mylyn (formerly known as Mylar) is included in most of the bundles. That’s great because it will improve its use by the community.

As always, there’s a caveat with this. At some point, the mylyn crew decided to have two different update sites. One for the core and another for extras. Bugzilla and Trac support is included on the core, but JIRA is, for some reason, in the extras. And the extras are not included in the Europa update site.

I think its a shame, because lots of open source projects use JIRA as their bug tracking system (I’m thinking right now on those hosted at Codehaus, but I think that Apache also moved to JIRA a while back).

So if you’re looking for the JIRA issue tracker connector, look no further. Add the update site for mylyn extras to your Eclipse and you’re ready to go.




  • My profile

    View Abel Muño's profile on LinkedIn

    amuino on Twitter

  • My projects

    The cloud market:
    Find the virtual image you need on the cloud.
  • Top Posts

  • Archives

  • Categories


Design a site like this with WordPress.com
Get started