Gentoo/Java IDE integration Final report

Hi All,

Glad to announce the completion of my project — Gentoo/Java IDE
integration. The past two weeks I focused on some wrap-up work such as
better code formatting and better documentation. All the effort is
to make sure the project can be in a better state for future
developments.

In this post first the summary of my project and work in Gsoc:

According to my proposal, there’s mainly two parts of work for the
project, namely, 1) an enhanced version of java-config adding api to
query javasrc and javadoc, and, 2) an eclipse’s plugin listing system
installed java packages for user to select and import into build path.
So as the deliverables, respectively: 1) kylepan’s enhanced version of
java-config and, 2) an eclipse’s plugin update site.

There are no major changes in my actual work compared to the initial
plan, except for a minor change:
1) in my initial plan I planed a new dialog of UI, while in my work,
for code reusage, I leveraged the exsisting “Add Container” UI instead.
This change doesn’t affact the function of the project.

In addition, I added one new feature to my project , i.e., to have the
ability to also include the dependencies.

I’ll still keep maintaining the project after Gsoc. Some of the plans include:

1) Do bug fix etc.
2) Research about Gentoo Prefix. If java-config supports Gentoo
Prefix, I’ll add the suppport of it in my plugin.
3) add a “refresh” button and implement its function. Currently when
user emerges a new java package on the fly (ie. during the eclipse’s
running so the plugin activated), the newly emerged package won’t show
in the UI until eclipse’s restarted.(For currently the list is
cached). So I want to add manually refresh function.
4) maybe make the api of java-config a separate module.
5) research and maybe make similar plugin for NetBeans( maybe in long
term for I’m not fimilar with NetBeans)

And here I integrate other resources of my project for quick reference:

The wiki: http://overlays.gentoo.org/proj/java/wiki/Gentoo_Java_IDE_Integration
The project’s Gsoc blog: https://jialepan.wordpress.com/
Kylepan’s enhanced version of java-config repo(SVN):
http://overlays.gentoo.org/svn/proj/java/projects/java-config-2/branches/kylepan/
GenEclipse project’s
repo:http://overlays.gentoo.org/svn/proj/java/projects/GenEclipse/trunk/
GenEclipse’s update site:
http://overlays.gentoo.org/svn/proj/java/projects/GenEclipse/trunk/updatesite2/

And I’d like to apply for becoming a Gentoo dev and I need your
support. I’ll consult my mentor to get things (the process etc.)
settle down.

Alough said in last report, I’d like to state again: many thanks to my
mentor Serkan. And thank other people helped me in Gsoc!
I love Gentoo!

Posted in Gsoc | Tagged , , | Leave a comment

User Manual of Gsoc project: GenEclipse Plugin

GenEclipse Plugin User Manual

Introduction
GenEclipse is a plugin which helps you manipulate project’s build path in Eclipse. The plugin can list all java libraries (containing jars) on your system (i.e. every package under /usr/share/package-name/) for you to choose, filter and select. The select ones can be imported into your project’s buildpath automatically. Then you can use the jars in your project just like they were added as “external archives” or “User Library” you may have done a lot. With this plugin, you no longer need to manually locate, which means boring path browsing job to get to the path where the jar resides, again and again for every jar you’d like to include in the build path.
Seems Interesting? Let’s go on. I’ll explain how to install and use step by step.

Prerequisite
1.Python 2.6 or 3.1
2.Kylepan’s enhanced branch of java-config
3.Jython 2.5

Installations instructions

1.Install python 2.6 or 3.1
emerge dev-lang/python:2.6 or,
emerge dev-lang/python:3.1

2. Install Kylepan’s enhanced branch of java-config
this branch of java-config contains extra codes special for GenEclipse while existing java-config functionalities still can be used normally.
a)download the ebuild from
http://overlays.gentoo.org/svn/proj/java/projects/java-config-2/branches/kylepan/java-config-2.1.9999k.ebuild
Then add the ebuild to your local overlay
b)change to the dir of your local overlay where  you put the ebuild in, run
ebuild java-config-2.1.9999k.ebuild manifest
c) add dev-java/java-config ~yourarch keyword to your package.keywords
d) emerge =dev-java/java-config-2.1.9999k

3. Install Jython 2.5
a)add dev-java/jython:2.5 ~yourarch keyword to your package.keywords
b)emerge dev-java/jython:2.5

4. Install the plugin in Eclipse
Fire up eclipse, use ‘Help->Install new Software” to install the plugin.
The update site is:
http://overlays.gentoo.org/svn/proj/java/projects/GenEclipse/trunk/updatesite2/
NOTE: please uncheck ‘Contact all update sites during install to find required software” at the first page to speed up installation.

How to use

Pictures are better than text instructions here:)

When you want to add jars to your project’s build path:

Right click the project you want to add jars to,
choose “add Libraries’, then select ‘GenEclipse Lib’, click next.
A list of all java libraries the plugin finds on your system will show:

You can filter and choose packages you want. For example if you want to  add some packages about logging:

You can optionally check “include javadoc if installed” and/or “include javasrc if installed”. When they’re checked, the javadoc and javasrc of the package can be attatched to the jars automatically if they are installed (ie. the package is emerged with +source or +doc USE flag).  If javasrc and/or javadoc of that package is not installed, they’ll be safely ignored.

You can also optionally check “also include dependent libs”, then the dependency of the selected package will be included in the build path too.

After clicking Finish,the jars contained in above selected packages are added to the build path:

Compared to manually locating jars, it’s cool and neat, right?  So what’re you waiting for? Install it and make life easier;)~

Posted in Gsoc | Tagged , | Leave a comment

GenEclipse’s UI: filter works

Have added filtering functionality.

The snapshot:

The filter filters phrase in name and descriptions

Posted in Gsoc | Tagged , | Leave a comment

GenEclipse’s main UI

It was a pity that I didn’t post much here the past month..though my project goes on well:) and I plan to post more frequently from now on.

After about 10 days’ effort , glad to say that main UI of GenEclipse is finished. And I’ve also managed to populate the package name and descriptions.

The snapshot:

Note: The gray color of the Filter Text box is due to my theme settings( I’ve set gray for any text editors for eyesight protection) It will be white on other machines as common.

Posted in Gsoc | Tagged , | Leave a comment

Gsoc 2011 project

Hello world:),

I’ve applied GSoc (Google summer of code) [1] 2011 project of Gentoo Linux Community. I’ll mainly post  about the project here. (Though I’ll also post other things maybe:).

[1]http://code.google.com/soc/

IN this initial post here’s the abstract of my proposal:

The goal of  this project  is to develop an eclipse’s plug-in, which helps users easily import system installed libraries into project’s build path. When activated,the plug-in shows a list of jars collected from system library path (under each /usr/share/<lib-name> directory) for users to select and import into projects. This helps users by avoiding manually browsing, locating and defining project’s build path  libraries, increasing the developing efficiency. Associated javadocs and source codes can also be attached automat ically, when  indicated by the user. An existing  tool named  java-config[1] will be  chosen as data  retrieval backend  of  the  plug-in,  after making  some  necessary  improvements  to  it. Jython will be used to integrate java-config with the plug-in. This project will mainly benefit developers using eclipse, and due to planned work on improving java-config,  it will also benefit java-config project and non-developer Gentoo users as well.

If you’re interested, you can see the complete version of the proposal at http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/kylepan/1.

Posted in Uncategorized | Leave a comment