Eclipse plugin development

In parallel to my exploration of Lift, JSF 2.0 and other web technologies in order to come up with my own Scala based web framework, I’m trying to see whats the best way to provide plug-in support for such a framework would be.
This means delving into the very unfamiliar territory of Eclise plugin development. So, after playing around with helloworld equivalents of plugin development, I decided to check out some of the plugins provided by the “Web Tools Project” and see if I can make some modifications of my own.
Plugin development is different from the regular programming I’m used to, there’s a plugin.xml file which kind of acts as the pivot around which the whole plugin revolves. To run the plugin, one specifies a target eclipse platform(this means there’s 2 eclipse ides running during testing) and runs the plugin as an eclipse application which launches the target platform.
Used this tutorial  and found it very useful during this process.

adventures with liftweb

On the journey to create a JSF like scala framework, I’m currently in the process of studying how LiftWeb works. Obviously, the first step is to build something tangible and see what it does. A few observations to begin with:
1. Scala’s Eclipse support is not enough to provide a “create new liftweb project” option in Eclipse.

Instead, its a 2 step process:

Create a project using maven on the command line with:
mvn org.apache.maven.plugins:maven-archetype-plugin:1.0-alpha-7:create  \
-DarchetypeGroupId=net.liftweb                             \
-DarchetypeArtifactId=lift-archetype-basic                 \
-DarchetypeVersion=0.8                            \
-DremoteRepositories=http://scala-tools.org/repo-releases  \
-DgroupId=PROJECTNAME -DartifactId=PROJECTNAME

This generates a project outline,and to make it suitable for Eclipse, from the project folder, run the command:

mvn eclipse:eclipse

To set this project up in Eclipse, you do:
“Import -> General -> Existing Projects into workspace -> Project”

And this sets up a liftweb project in your Eclipse workspace. I havent yet figured out how to deploy the project into Glassfish directly, right now, to generate a war, from the project directory: mvn install

This install command generates a war in the “target” folder which I then deploy in glassfish using the admin console.

Again, because I havent figured out how to deploy into glassfish from Eclipse, I’m not sure how hot deploy works with Lift,but this blog assures us its possible.

Will keep posting updates as I continue my exploration of Lift Web.