directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alex Karasulu <>
Subject [scm] [STATUS] Repository reorg and move to m2 "completed"
Date Sat, 31 Dec 2005 10:02:45 GMT
These past few days I've been moving the following top projects into our 
new directory structure:


A few things still remain ...


These remaining projects are either not critical (clients, sitedocs) or 
they are not familiar enough for me to mess with them (authx and 
naming).  Here's a breakdown of the move:

 o all projects migrated to m2 (using 2.0.1)
 o flattened and moved trunks to directory/trunk
 o moved old branches to directory/branches or to personal directories 
in sandbox
 o moved releases to directory/releases
 o broke up MINA into a multiproject
 o consolidated ASN.1 multiproject into a single project
    - moved old ber implementation to sandbox
    - merged codec, der, newber
 o consolidated ldap shared (directory/shared/ldap) into single project 
as ldap-common
    - moved apache-provider (code named Snickers) to sandbox (need an attic)
    - moved snacc-provider to sandbox also
    - merged apache2-provider (code named Twix) and common
    - switched default ASN.1 provider used by ldap-common to Twix

We had some casualties: 

No more emma plugin for MINA.

Site doc generation is not setup.  We need some kind of scheme for this 
with the new m2 functionality.

I could not find a way to do what javaapp plugin does for the 
apacheds-server-main.  We need to figure something out for minimal 
packaging.  For now it builds an executable jar but does not hold all 

Twix is broken causing the built server to fail on all search operations 
(ClassCastExceptions somewhere in the code).

POMs are no longer filled with all the info in old m1 project.xml.  Only 
the minimal set of elements are present to build although a couple 
projects may have all fields transfered.

Things are still a bit messy.

New structure review


Everything is flat so feel free to cd into directory/trunk and give a 
try at a build with mvn install which builds everything.  You can cd 
into individual directories or directory subproject ****-build folders 
to just build a project in question. 

To setup eclipse or idea (or both here):

mvn install
mvn eclipse:eclipse
mvn idea:idea

Notes on m2 profiles

There are two kinds of profiles within some poms.  There are regression 
test profiles and jdk profiles.  If you build you'll notice it takes no 
time at all due to m2 speed up and to the fact that some apacheds 
regression/integration tests have been disabled.  You'll see warnings 
telling you that they are not being run.  You can run these tests by 
building with the -Dregressions switch to mvn command like so:

mvn -Dregressions install

If you do this the build will break when testing the server in the 
apacheds-server-unit module.  This is due to the Twix switch over and 
will be fixed I'm sure rapidly.

Another profile has been setup for MINA.  When running the 1.4 jdk some 
modules that depend on 1.5 APIs will not be built instead of blowing 
chunks and stopping the build.  When running 1.5 all modules build.

Where do we go from here?

Well there's so much still left to do.  At least now we have the build 
working somewhat. Here are some remaining work items I can foresee:

1. Get apacheds-server-unit regression tests to pass. I kind of hit a 
brick wall here. We're now on the Twix provider. I set it as the default 
provider to use in the ldap-common subproject. 

2. Find a solution or replacement for apacheds-server-main

3. Get sitedocs building for all projects.  Need to figure out a scheme 
for this I think.  Need to migrate the sitedocs top level project into 
the trunk which is still at the top of the directory repo.

4. Migrate all the other top projects besides the ones concerning the 
directory server.

5. Deploy some jars to ibiblio.


View raw message