From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1Q6EmU-0005mP-VH for garchives@archives.gentoo.org; Sun, 03 Apr 2011 04:19:20 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id B0B0EE00E6; Sun, 3 Apr 2011 04:18:42 +0000 (UTC) Received: from mail-bw0-f53.google.com (mail-bw0-f53.google.com [209.85.214.53]) by pigeon.gentoo.org (Postfix) with ESMTP id 508E8E00E6 for ; Sun, 3 Apr 2011 04:18:42 +0000 (UTC) Received: by bwg12 with SMTP id 12so5016057bwg.40 for ; Sat, 02 Apr 2011 21:18:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:date:message-id:subject:from:to :content-type; bh=Ip/hXGVrwNh06XysgDDgN3Qt3EXz1syxE8W6yUGyGNQ=; b=VWPN2XrvTvj4Ror7iEfv3d1c6/tzSbILsg8ojmz25KsS6KldVvx3F2aO4+BUPK4nzE Ol5Aw5hPykKNDugm0w5/KC0HOPMUtgRKCjlrsvDHW98WeF98YzWzzmY3sw3iWnv+QJ35 eXAx2CnYlmwHI+2qUtGefl8RT5m8KjD7B0qW4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=NbYJN8q5dKp/Zuxzm/+IZpDLpSvFfQtLUhS/THlp1zqvsxgP2rQhfSiPIiap2DUNaM MqE/Zt3xzm7GtH7G3g0apOM7RLSpuN2mZ19iPCcBQWl7oNco6qXuobWyJgwEkulyRM1Y iFlVXE8cIBxLUPAUhu7pthd11YsdRnsN9cPjo= Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-java@lists.gentoo.org MIME-Version: 1.0 Received: by 10.204.71.193 with SMTP id i1mr1139776bkj.102.1301804321254; Sat, 02 Apr 2011 21:18:41 -0700 (PDT) Received: by 10.204.48.94 with HTTP; Sat, 2 Apr 2011 21:18:41 -0700 (PDT) Date: Sun, 3 Apr 2011 06:18:41 +0200 Message-ID: Subject: [gentoo-java] [GSoC] Java Eclipse integration From: Bernd Bergler To: gentoo-java@lists.gentoo.org Content-Type: text/plain; charset=ISO-8859-1 X-Archives-Salt: X-Archives-Hash: 4be02a2c4cc8ec3d47bad0b94c66e485 Hey everyone! My name is Bernd. I am from Austria and would like to participate in the GSoC for Gentoo. I have already posted this on the gentoo-soc mailing list but I think some of you guys might be interested in this project and can give me advices or comments on my ideas. I would really appreciate any help from you. I would like to write an Eclipse Plugin which enables Eclipse to import installed java libraries into java projects[1]. The goal of this project is to create a plugin for Eclipse which lets the user easily import libraries. The plugin displays a list of all installed java libraries to the user. The user can now import libraries from this list into his project. Along to the library available javadocs and sourcecode of the library gets imported as well. My thoughts about the requirements and the design. The plugin should use a white-list to figure out which packages should be taken into account. This list must be extensible by the user. The first big design decision is if the plugin should use a data backend (i.e. a database or a script which is responsible to provide the data) or accesses the information on its own. I think the direct solution would be easier to use because only the Eclipse plugin needs to be installed. The other option with the data backend could be reused for a future Netbeans plugin. Another advantage is that it could be extended for other languages than java. The major disadvantage is that the backend must be installed separately via emerge, tough. The next important aspect, which I take a closer look at, is the information retriveal. In my opinion there are several possible ways to retrieve the information. * using a database with all installed and relevant java packages + with a database the plugin has instant access which packages are installed an which are not. - the database must be kept up to date * searching the /usr/share/ directory to find the packages + no further information needed, all information is gathered when needed - information retrival might take some time which can be anoying. If a database is chosen where does the data come from and how is it kept up to date. Some possible options are: * use the library from eix(which adds eix as dependency) * generate a database on installation and keep it up to date with: + hook in portage which adds or removes entry to db if package from whitelist is installed + manually refresh the db from within the plugin I think all these options are possible with a backed and the direct access from the plugin. Now to the eclipse plugin itself. I haven't thought too much about the Interface itself but some general thoughts The interface should be fairly easy. All installed packages are listed and can be enabled with a simple ckeckbox. Most likely the dialog will be launched through the "Import..." functionality and if possible in add Library in the project properties. Here are some requirement which I think they might be very useful * An extensible whitelist should be used * Additional to the libraries itself it should be possible to attach javadocs and source files * option to copy into the workspace/project directory * option to update the libraries when a new version is emerged * it should be possible to install new packages directly or at least launch the installation process What are your thought about this project and my thought about it? At the end some information about me. As said before I am from Austria but currently I am in Norway on an exchange year. I am 24 years old. Currently I am doing my master in Telematics in Graz. Telematic is a combination of computer science and electrical engineering. My majors are information security and artificial intelligence. I really like to code. I am using Gentoo since about 4 years and I really love it. I have a good knowledge in Java but I have never written a Eclipse plugin. As said I am using Gentoo since about 4 years but just as a user. So i have no knowledge about the deep internals of Gentoo. I am looking forward to your thoughts and suggestions I should be around in irc @ #gentoo-soc. Bernd [1] http://www.gentoo.org/proj/en/userrel/soc/ideas.xml#doc_chap2_sect21