Migration to maven completed. New version structure introduced ...

Dear all,

migration to Maven is now complete. As Maven is really different from Ant, a few things changed:

  1. SVN Structure
    Before the migration, there was a addition, unnesessary subdirectory called "simon" in the trunk. As this is a "simon only" svn repository, it's no helpful to have an additional subdir saying "hey, the projects name is SIMON". So the directory is now removed. Also there is now the typical maven folder structure. If you want to learn more about this, visit http://maven.apache.org
  2. Version String
    Until now, I used a two stage version string, like 0.1 or 0.3. As most of maven projects use a three stage version string (f.i. 0.3.0 or 0.0.1). To be more "maven compliant" I changed the version string to 1.0.0-RC1 ... You will wonder "why not 0.3.0???". Well, Simon is growing and growing. With the current development phase, there where a lot of major changes: We moved from plain Java NIO to the MINA framework. Nearly the whole API changed. Many tests have been made, Mantis was frequently used, different applications are running Simon as their network layer. And finally: Simon reached a quite stable stage. To the time is ready to point out: Simon is now prepared for bigger things. So from now on, we will use 1.0.0 and increment.

    X.Y.Z
    X = Major version number. This indicates the "generation" of the project
    Y = Minor version number. This increments f.i. if an feature is added.
    Z = Patch/Bugfix release number.

    Each version, which has an identical major/minor version combination is compatioble to each other. For instance:

    1.0.5 <-compatible-> 1.0.6
    1.0.0 <-compatible-> 1.0.2
    1.1.0 <-not-compatible-> 1.0.2
    1.5.0 <-not-compatible-> 1.1.6

  3. There are also "sub-versions", like 1.0.0-RC1 or 1.5.0-BETA1 ... These are a kind of "pre releases".

  4. Binaries and Source Packages
    The binaries and source packages are now handled by our Nexus Maven Repository Server. You can reach the folders by browsing in the menu on the left to "Simon -> Download". There are two repositorys present:

    Snapshots
    Snapshots reflect the lastes development of the project. Every change, which does not complete a well defined development phase and is somehow "unstable" will go into SNAPSHOT version. Snapshot packages are generated every night, depending on the changes in SVN. If no changes are present, no new snapshot will be generated.

    Releases
    Releases reflects a well defined development phase. Every stage, that can somehow be called stable (means: beta, release candidate, ...) will go into the releases folder. After a release, the development continues in snapshots...

    In both repositorys, there will be jar packages, sources packages, and "jar-with-dependencies" packages.
    If you don't use SLF4J and MINA in you project in other classes, you should use the "jar-with-dependencies" packages. Otherwise use the jar package and build up your classpath with you own versions of SLF4J and MINA. But be careful to not break SIMONs version dependencies ...