diff --git a/Home.md b/Home.md index 8d99015..48d9df3 100644 --- a/Home.md +++ b/Home.md @@ -12,7 +12,18 @@ A somewhat modified version of the original Dynmap for hMod is still available i # Compiling # Use maven to compile the code, just like Bukkit/CraftBukkit. For this, first 'install' Bukkit with maven (`mvn install` inside the Bukkit repo). -Alternatively use `ant` to compile the code. Note that the plugin requires Bukkit. Edit `build_parameters.xml` to supply ant with the correct paths. + +The dynmap project consists of multiple components that have been divided to allow for support of multiple server platforms, as well as allowing our 'published API' to be more clearly expressed. The components needed to build 'dynmap' (the Dynmap plugin for Bukkit) are the following (in the order they need to be built): + +* DynmapCoreAPI - this is the platform neutral API for Dynmap: plugin writers can use this to interface with Dynmap on any platform (by casting the Plugin instance for the dynmap plugin to 'org.dynmap.DynmapCoreAPI'). + +* DynmapCore - this is the server-neutral core of Dynmap: nearly all the web and rendering logic for Dynmap is here (as much of it as we can put in). The build results here are not runnable - they're input to the 'dynmap' component build and others (e.g. 'DynmapSpout', which is for the Spout server). + +* dynmap-api - this is the Bukkit-specific API library for Dynmap - it defines the org.dynmap.DynmapAPI interface, which includes Bukkit-specific calls. As with the DynmapCoreAPI (which DynmapAPI extends), take the Plugin instance for 'dynmap' and cast it to org.dynmap.DynmapAPI to access the published interfaces. + +* dynmap - this component builds the actual dynmap-for-Bukkit deliverable, and only includes code which cannot be made server-neutral. + +Each of the dependencies can be built using `mvn install`, and then 'dynmap' itself can be built using `mvn install` or `mvn package`. # Setup #