harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From George Harley <george.c.har...@googlemail.com>
Subject Security module layout
Date Fri, 24 Feb 2006 17:13:01 GMT
Hi,

Earlier on today I spent some time following the instructions for 
developing Harmony Java code inside Eclipse [1]. After experimenting 
with archive, luni and nio I decided to check out modules/security and 
found that, in its current form, it can't be brought into an Eclipse 
workspace and used like the other modules. One obvious difference is 
that it doesn't have any Eclipse project metadata in there (e.g. 
.project and .classpath files). After adding these in (in my private 
workspace), I began to look at other differences between security and 
its peer modules in particular the difference in source layouts. 
Recalling some ideas for layouts that have been kicked around this list, 
I started to move things around a little to try and make things a little 
more uniform with respect to those peer modules. Things were made more 
interesting by virtue of the following security module distinctions :

* it has platform-specific Java code
* it contains native code for both Windows and Linux

Eventually I arrived at a structure that is more attuned to the other 
modules in the repository. As a bonus, Eclipse pointed out several 
missing import entries from the META-INF/MANIFEST.MF file - including 
one that cannot presently be satisfied with what is in the Harmony 
repository (org.apache.harmony.security.test.SecurityTest wants to 
import java.util.logging.LoggingPermission which doesn't exist in the 
repository - although an implementation has been contributed [2]).

In addition to moving source around, I also made the necessary tweaks to 
the Ant scripts contained in the security module plus the "top level" 
Java build file trunk/make/build-java.xml so the Ant builds still work 
as before.

Keeping my fingers crossed that the next bit of this note renders 
alright in your mail client, here is the modules/security structure that 
I ended up with (minus all of the package sub-folders for clarity) :

  <SECURITY ROOT>
        |
        |
        +---src
        |   |
        |   +---main
        |   |   |
        |   |   +---java
        |   |   |   |
        |   |   |   +---common
        |   |   |   |
        |   |   |   +---linux.IA32
        |   |   |   |
        |   |   |   \---win.IA32
        |   |   |  
        |   |   +---native
        |   |   |   |
        |   |   |   +---linux.IA32
        |   |   |   |
        |   |   |   \---win.IA32
        |   |   |
        |   |   \---resources
        |   |       |
        |   |       \---common
        |   | 
        |   +---test
        |       |
        |       +---java
        |           |
        |           +---common
        |           |
        |           +---linux.IA32
        |           |
        |           \---win.IA32
        |
        +---doc
        |   |
        |   \---images
        |
        +---make
        |   |
        |   \---native
        |       |
        |       +---linux
        |       |
        |       \---windows
        |
        +---META-INF


All of the leaf folders under "src" have been declared to Eclipse as 
source folders (i.e. I have 9 source folders called 
"src/main/java/common", "src/main/resources/common", 
"src/main/native/linux.IA32", "src/test/java/common" and so on...).


I would be really keen to hear what people think of this prototype 
re-structuring. It would be great if we could make the security module 
as simple to work with inside Eclipse as the other modules are.


Best regards,
George
IBM UK


[1] 
http://incubator.apache.org/harmony/subcomponents/classlibrary/dev_eclipse.html
[2] http://issues.apache.org/jira/browse/HARMONY-88

Mime
View raw message