Gentoo Archives: gentoo-java

From: Bernd Bergler <bernd.bergler@×××××.com>
To: gentoo-java@l.g.o
Subject: [gentoo-java] [GSoC] Java Eclipse integration
Date: Sun, 03 Apr 2011 04:19:20
Message-Id: BANLkTikNzWTJ8WeBs+g5V5LHQ7AAC2==+g@mail.gmail.com
1 Hey everyone!
2
3 My name is Bernd. I am from Austria and would like to participate in the GSoC
4 for Gentoo.
5
6 I have already posted this on the gentoo-soc mailing list but I think
7 some of you
8 guys might be interested in this project and can give me advices or comments
9 on my ideas. I would really appreciate any help from you.
10
11 I would like to write an Eclipse Plugin which enables Eclipse to
12 import installed
13 java libraries into java projects[1].
14
15 The goal of this project is to create a plugin for Eclipse which lets
16 the user easily
17 import libraries. The plugin displays a list of all installed java
18 libraries to the user.
19 The user can now import libraries from this list into his project.
20 Along to the library
21 available javadocs and sourcecode of the library gets imported as well.
22
23 My thoughts about the requirements and the design.
24
25 The plugin should use a white-list to figure out which packages should be taken
26 into account. This list must be extensible by the user.
27
28 The first big design decision is if the plugin should use a data backend (i.e. a
29 database or a script which is responsible to provide the data) or accesses the
30 information on its own.
31 I think the direct solution would be easier to use because only the Eclipse
32 plugin needs to be installed.
33 The other option with the data backend could be reused for a future Netbeans
34 plugin. Another advantage is that it could be extended for other languages than
35 java. The major disadvantage is that the backend must be installed separately
36 via emerge, tough.
37
38 The next important aspect, which I take a closer look at, is the
39 information retriveal.
40 In my opinion there are several possible ways to retrieve the information.
41 * using a database with all installed and relevant java packages
42 + with a database the plugin has instant access which packages
43 are installed
44 an which are not.
45 - the database must be kept up to date
46 * searching the /usr/share/ directory to find the packages
47 + no further information needed, all information is gathered when needed
48 - information retrival might take some time which can be anoying.
49
50 If a database is chosen where does the data come from and how is it
51 kept up to date.
52 Some possible options are:
53 * use the library from eix(which adds eix as dependency)
54 * generate a database on installation and keep it up to date with:
55 + hook in portage which adds or removes entry to db if package from
56 whitelist is
57 installed
58 + manually refresh the db from within the plugin
59
60 I think all these options are possible with a backed and the direct
61 access from the plugin.
62
63 Now to the eclipse plugin itself.
64 I haven't thought too much about the Interface itself but some general thoughts
65 The interface should be fairly easy. All installed packages are listed
66 and can be enabled
67 with a simple ckeckbox.
68 Most likely the dialog will be launched through the "Import..."
69 functionality and if possible
70 in add Library in the project properties.
71
72
73 Here are some requirement which I think they might be very useful
74 * An extensible whitelist should be used
75 * Additional to the libraries itself it should be possible to attach
76 javadocs and source files
77 * option to copy into the workspace/project directory
78 * option to update the libraries when a new version is emerged
79 * it should be possible to install new packages directly or at least
80 launch the installation
81 process
82
83
84 What are your thought about this project and my thought about it?
85
86 At the end some information about me.
87
88 As said before I am from Austria but currently I am in Norway on an
89 exchange year. I am
90 24 years old. Currently I am doing my master in Telematics in Graz.
91 Telematic is a
92 combination of computer science and electrical engineering. My majors
93 are information
94 security and artificial intelligence.
95 I really like to code. I am using Gentoo since about 4 years and I
96 really love it.
97
98 I have a good knowledge in Java but I have never written a Eclipse plugin.
99 As said I am using Gentoo since about 4 years but just as a user. So i
100 have no knowledge
101 about the deep internals of Gentoo.
102
103
104 I am looking forward to your thoughts and suggestions
105
106 I should be around in irc @ #gentoo-soc.
107
108 Bernd
109
110
111 [1] http://www.gentoo.org/proj/en/userrel/soc/ideas.xml#doc_chap2_sect21