Pull requests

#12 Declined
Repository
nguillaumin nguillaumin
Branch
module-split
Repository
kevglass kevglass
Branch
default

Split tools into their own submodules.

Author
  1. nguillaumin
Reviewers
Description

Hi,

My goal is to make progress on the Mavenization front :) so that would be my first step: Put the tools into their own subprojects with their own Ant file.

The idea is to take small steps towards switching to Maven because this is usually major changes like project structure re-organisation, etc., and doing it in a single go is difficult. It's also difficult to review the change if there's too much in a single pull request. I'd also like to keep both Maven and Ant working at the same time until people are happy with Maven.

For this pull request the build is still using Ant, it's just a module re-organisation.

I also removed some things that I assumed were unused:

  • WebStart (jnlp) targets, as I assumed it was used on the former website to start the tools from the browser, but there is no such thing anymore on the new website (and we can do it better with Maven if we wanted to restore it later).
  • maven/ folder: The target repo @ newdawnsoftware.com has not been updated since 2010 so I assumed it was deprecated. We'll redo it better anyway :)
  • Generation of ZIP dist files, as Slick is distributed as a JAR AFAIK (And I don't think shipping ZIP files is a good idea anyway). Where needed I tried to put all the required dependencies in target/ so that you can run the tool with java -jar ..., for the Particle Editor for example.
  • .dll files in the root folder: Why are they here in the first place ?

The build files should put their output in target/ only, as opposite to lib/ which was confusing since there was now difference between the dependencies (lwjgl...) and the stuff that was built. Javadoc goes to target/ as well.

The main JAR is still built with ant build-slick, the utils with ant slick-util. Each sub-module is built with ant dist, and assumes that Slick is already built (i.e. that there's a JAR in ../target/slick.jar.

There shouldn't be any code change except for an @Override annotation that I removed in order to compile with Java 1.4, as required by the build script.

I'll update the Maven post on the forum to discuss the philosophical aspects of switching to Maven, but if there's still interest please comment here on the pull request if you're not happy with it, or if you think I made too much changes in one go.

If there's no interest, also please let me know so that I won't waste anymore time on it :)

If this is accepted, my plan for the next steps are:

  • Move slick in its own subfolder as well
  • Separate the examples in another submodule
  • Add the Maven pom.xml files (Keeping Ant as well) but keep using the dependencies in lib/ (since some dependencies are not publicly available in Maven repos).
  • Solve the dependencies issues on a per-JAR basis, by making it publicly available if possible or finding alternatives otherwise.

Cheers,

Nico

  • Learn about pull requests

Comments (0)