You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ftpserver-dev@incubator.apache.org by Niklas Gustavsson <ni...@protocol7.com> on 2006/11/02 09:08:44 UTC

[heads up] Re: Splitting the code into seperate JARs

I'm going to perform this change over the next couple of days. This 
means that you will need to do new checkouts from SVN after it's done. 
I'll send out a new notice when the change is complete.

/niklas

Niklas Gustavsson wrote:
> Hi
> 
> I know that this has been discussed before, but I'll give it another try.
> 
> I would like to split the code into three deliverables (JARs):
> * FTPlet interfaces
> * Server implementation
> * GUI
> 
> At least I would like to seperate the GUI from the rest as it would be 
> beneficial with a simple executable JAR for the GUI. Also, the GUI would 
> usually not be that useful on boxes where the server would be running 
> (probably on runlevel 3) but rather on a administers desktop (but we'll 
> need remote configuration for that of course).
> 
> I'll be happy to do the work as long as no one objects.
> 
> /niklas
> 
> 


Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Dave Roberts <da...@saaconsultants.com>.
It was 02/11/2006 14:59, when Niklas Gustavsson wrote:

> 2. Now that interfaces are clearly separated between FTPLets and the 
> rest of the server, I propose dropping the different naming conventions 
> (IFoo vs Foo) and go with the regular Foo naming.

No objection - what about the interfaces that remain in core:
org.apache.ftpserver.interfaces ?  They're separated also, so could
also drop the prefix.

I've grabbed your changes and should have a chance to rebuild stuff
over the next day or so.

- Dave.

Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Niklas Gustavsson <ni...@protocol7.com>.
Niklas Gustavsson wrote:
> Unless someone objects I'm going to nuke the M1 build, no need to keep 
> them alive at once.

Seems like no one objects so it's gone.

/niklas


Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Niklas Gustavsson <ni...@protocol7.com>.
Niklas Gustavsson wrote:
> Niklas Gustavsson wrote:
>> 1. Start using Maven 2 for the build. This will handle the 
>> multiproject build easily, not something that is any fun getting to 
>> work with Maven 1

I now got a complete M2 build working, including building distros. 
Please check it out and give me any feedback. The structure is now like 
this:
* the ftplet-api, core and admin-gui only creates JAR files, nothing else
* a seperate distribution project creates the final distribution with 
shell scripts, keystores, config examples, documentation etc.

This is designed after how XFire did it and I think it makes a nice 
separation between the project.

Unless someone objects I'm going to nuke the M1 build, no need to keep 
them alive at once.

/niklas


Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Niklas Gustavsson <ni...@protocol7.com>.
Niklas Gustavsson wrote:
> 1. Start using Maven 2 for the build. This will handle the multiproject 
> build easily, not something that is any fun getting to work with Maven 1
> 2. Now that interfaces are clearly separated between FTPLets and the 
> rest of the server, I propose dropping the different naming conventions 
> (IFoo vs Foo) and go with the regular Foo naming.

No one has objected so I'll go ahead and make both of these changes (2 
first, then 1). I'll send a notices when they are done.

/niklas


Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Niklas Gustavsson <ni...@protocol7.com>.
Niklas Gustavsson wrote:
> Since the SVN URLs has changed you need to either do the new check out 
> or run svn switch to update you existing working copy.

I've moved the SVN folders around once again. I'm trying to get a better 
structure for setting up a M2 multiproject build. The new structure is 
based on the same as used by for example Geronimo. Here's an outline of 
how it looks:

ftpserver/
    tags
    branches
    site
    trunk
       ftplet-api
       core
       admin-gui
       ssl-tests

/niklas


Re: [heads up] Re: Splitting the code into seperate JARs

Posted by Niklas Gustavsson <ni...@protocol7.com>.
Niklas Gustavsson wrote:
> I'm going to perform this change over the next couple of days. This 
> means that you will need to do new checkouts from SVN after it's done. 
> I'll send out a new notice when the change is complete.

It went a little quicker then I first estimated and is now done. The 
code has been split as previously discussed into:
* ftplet-api
* core
* admin-gui

These depend on each other from top to bottom. This means that to build 
for example core you need ftplet-api in your repos, you do this by running:

maven jar:install

Since the SVN URLs has changed you need to either do the new check out 
or run svn switch to update you existing working copy.

In addition to these three projects there is also ssl-tests as described 
in an earlier email. There is also a directory for the site which 
remains unchanged.

As a follow up to this change I think that there are two additional 
changes that we should do:
1. Start using Maven 2 for the build. This will handle the multiproject 
build easily, not something that is any fun getting to work with Maven 1
2. Now that interfaces are clearly separated between FTPLets and the 
rest of the server, I propose dropping the different naming conventions 
(IFoo vs Foo) and go with the regular Foo naming.

I'll be happy to perform both of these changes if no one objects.

/niklas

/niklas