diff --git a/applet/build.xml b/applet/build.xml
deleted file mode 100644
index f1dd330..0000000
--- a/applet/build.xml
+++ /dev/null
@@ -1,46 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/applet/pom.xml b/applet/pom.xml
new file mode 100644
index 0000000..de79023
--- /dev/null
+++ b/applet/pom.xml
@@ -0,0 +1,27 @@
+
+ 4.0.0
+ applet
+ jar
+ JInput - applet
+
+
+ net.java.jinput
+ jinput-parent
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+
+
\ No newline at end of file
diff --git a/applet/src/net/java/games/input/applet/JInputAppletResourceLoader.java b/applet/src/main/java/net/java/games/input/applet/JInputAppletResourceLoader.java
similarity index 100%
rename from applet/src/net/java/games/input/applet/JInputAppletResourceLoader.java
rename to applet/src/main/java/net/java/games/input/applet/JInputAppletResourceLoader.java
diff --git a/coreAPI/.gitignore b/coreAPI/.gitignore
deleted file mode 100644
index 6dbf1b5..0000000
--- a/coreAPI/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/build.number
diff --git a/coreAPI/README.txt b/coreAPI/README.txt
deleted file mode 100644
index 90caf93..0000000
--- a/coreAPI/README.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-This file modified last on 06/06/2003 by Jeff Kesselman
-
-This is the source tree for the core input API.
-
-Directory Organization:
-
-The root contains a master ANT build.xml.
-After a successful build of the project you will have the following sub directories:
- -- apidocs Where the javadocs get built to
- -- lib Where dependant libraries are kept.
- -- bin Where the actual API is built to
- -- src The source files.
- -- src/test Execution directories and data for tests.
-
-Build instructions:
-
-To clean: ant clean
-To build: ant all (or just ant)
-To build docs: ant javadoc
-To test:
- Textest: A simple discovery test that dumps
- the data about the discovered controllers to stdout
- To run: ant textest
- Readtest: A test that creates a window for each discovered
- controller (or sub-controller) which displays the
- current state of all the controller's axiis.
- (Note: The windows currrently all open at the same
- place on the screen so yo uwill have to move them to
- see them all.)
- To run: ant readtest
-
-
-Release Info:
- Initial Release: This release contains an implementation of the input
- API designed by Mike Martak of Sun and Thomas (?) of Sony CEA for
- the WIn32 platform. All the code in src/input is cross platform. The
- Win32 code is segregated to the DirectX plugin (src/DXplugin) which
- depends on DirectInput from DX7 (or later).
-
- 05/09/2003: A number of bugs and problems with the DXPlugin are fixed in this
- release. This release also brings the code up to date using the DI8
- interface. This thus is the first release that requries Peter Puck's
- DX8 bindings to compile with MinGW.
-
- 05/09/2003 (second update):
- This version adds a new standard value type to the API.
- Axis.POV holds standard definitions for values for POV (hat) switches
- -- Axis.POV.CENTER and Axis.POV.OFF are synonmous and are
- the center position.
- -- Axis.POV.UP, Axis.POV.DOWN, Axis.POV.LEFT and Axis.POV.RIGHT
- should be self explainatory.
- Any hat that claims to be "normalized" will return these values. (It is
- recommended that all hats be normalized by the systemn specific plugins.)
-
diff --git a/coreAPI/build.xml b/coreAPI/build.xml
deleted file mode 100644
index f585b00..0000000
--- a/coreAPI/build.xml
+++ /dev/null
@@ -1,68 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/coreAPI/pom.xml b/coreAPI/pom.xml
new file mode 100644
index 0000000..cb7ecfa
--- /dev/null
+++ b/coreAPI/pom.xml
@@ -0,0 +1,31 @@
+
+ 4.0.0
+ coreapi
+ jar
+ JInput - core API
+
+
+ net.java.jinput
+ jinput-parent
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+ net.java.jutils
+ jutils
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+
+
\ No newline at end of file
diff --git a/coreAPI/src/java/net/java/games/input/AbstractComponent.java b/coreAPI/src/main/java/net/java/games/input/AbstractComponent.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/AbstractComponent.java
rename to coreAPI/src/main/java/net/java/games/input/AbstractComponent.java
diff --git a/coreAPI/src/java/net/java/games/input/AbstractController.java b/coreAPI/src/main/java/net/java/games/input/AbstractController.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/AbstractController.java
rename to coreAPI/src/main/java/net/java/games/input/AbstractController.java
diff --git a/coreAPI/src/java/net/java/games/input/Component.java b/coreAPI/src/main/java/net/java/games/input/Component.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Component.java
rename to coreAPI/src/main/java/net/java/games/input/Component.java
diff --git a/coreAPI/src/java/net/java/games/input/Controller.java b/coreAPI/src/main/java/net/java/games/input/Controller.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Controller.java
rename to coreAPI/src/main/java/net/java/games/input/Controller.java
diff --git a/coreAPI/src/java/net/java/games/input/ControllerEnvironment.java b/coreAPI/src/main/java/net/java/games/input/ControllerEnvironment.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/ControllerEnvironment.java
rename to coreAPI/src/main/java/net/java/games/input/ControllerEnvironment.java
diff --git a/coreAPI/src/java/net/java/games/input/ControllerEvent.java b/coreAPI/src/main/java/net/java/games/input/ControllerEvent.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/ControllerEvent.java
rename to coreAPI/src/main/java/net/java/games/input/ControllerEvent.java
diff --git a/coreAPI/src/java/net/java/games/input/ControllerListener.java b/coreAPI/src/main/java/net/java/games/input/ControllerListener.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/ControllerListener.java
rename to coreAPI/src/main/java/net/java/games/input/ControllerListener.java
diff --git a/coreAPI/src/java/net/java/games/input/DefaultControllerEnvironment.java b/coreAPI/src/main/java/net/java/games/input/DefaultControllerEnvironment.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/DefaultControllerEnvironment.java
rename to coreAPI/src/main/java/net/java/games/input/DefaultControllerEnvironment.java
diff --git a/coreAPI/src/java/net/java/games/input/Event.java b/coreAPI/src/main/java/net/java/games/input/Event.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Event.java
rename to coreAPI/src/main/java/net/java/games/input/Event.java
diff --git a/coreAPI/src/java/net/java/games/input/EventQueue.java b/coreAPI/src/main/java/net/java/games/input/EventQueue.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/EventQueue.java
rename to coreAPI/src/main/java/net/java/games/input/EventQueue.java
diff --git a/coreAPI/src/java/net/java/games/input/Keyboard.java b/coreAPI/src/main/java/net/java/games/input/Keyboard.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Keyboard.java
rename to coreAPI/src/main/java/net/java/games/input/Keyboard.java
diff --git a/coreAPI/src/java/net/java/games/input/Mouse.java b/coreAPI/src/main/java/net/java/games/input/Mouse.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Mouse.java
rename to coreAPI/src/main/java/net/java/games/input/Mouse.java
diff --git a/coreAPI/src/java/net/java/games/input/PluginClassLoader.java b/coreAPI/src/main/java/net/java/games/input/PluginClassLoader.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/PluginClassLoader.java
rename to coreAPI/src/main/java/net/java/games/input/PluginClassLoader.java
diff --git a/coreAPI/src/java/net/java/games/input/Rumbler.java b/coreAPI/src/main/java/net/java/games/input/Rumbler.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Rumbler.java
rename to coreAPI/src/main/java/net/java/games/input/Rumbler.java
diff --git a/coreAPI/src/java/net/java/games/input/Version.java b/coreAPI/src/main/java/net/java/games/input/Version.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/Version.java
rename to coreAPI/src/main/java/net/java/games/input/Version.java
diff --git a/coreAPI/src/java/net/java/games/input/package.html b/coreAPI/src/main/java/net/java/games/input/package.html
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/package.html
rename to coreAPI/src/main/java/net/java/games/input/package.html
diff --git a/examples/pom.xml b/examples/pom.xml
new file mode 100644
index 0000000..4f08317
--- /dev/null
+++ b/examples/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ examples
+ jar
+ JInput - examples
+
+
+ net.java.jinput
+ jinput-parent
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+ net.java.jinput
+ coreapi
+ ${project.version}
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+
+
\ No newline at end of file
diff --git a/coreAPI/src/java/net/java/games/input/example/ReadAllEvents.java b/examples/src/main/java/net/java/games/input/example/ReadAllEvents.java
similarity index 100%
rename from coreAPI/src/java/net/java/games/input/example/ReadAllEvents.java
rename to examples/src/main/java/net/java/games/input/example/ReadAllEvents.java
diff --git a/coreAPI/src/java/net/java/games/input/example/ReadFirstMouse.java b/examples/src/main/java/net/java/games/input/example/ReadFirstMouse.java
similarity index 97%
rename from coreAPI/src/java/net/java/games/input/example/ReadFirstMouse.java
rename to examples/src/main/java/net/java/games/input/example/ReadFirstMouse.java
index 83788ec..2ec87ce 100644
--- a/coreAPI/src/java/net/java/games/input/example/ReadFirstMouse.java
+++ b/examples/src/main/java/net/java/games/input/example/ReadFirstMouse.java
@@ -3,7 +3,6 @@ package net.java.games.input.example;
import net.java.games.input.Component;
import net.java.games.input.Controller;
import net.java.games.input.ControllerEnvironment;
-import net.java.games.input.test.ControllerTextTest;
/**
* This class shows how to read the values in a polling loop for the first mouse
diff --git a/lib/.gitignore b/lib/.gitignore
deleted file mode 100644
index 4ce91ae..0000000
--- a/lib/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/jutils-1.0.1-SNAPSHOT.jar
-/jutils.jar
\ No newline at end of file
diff --git a/lib/maven-ant-tasks-2.1.0.jar b/lib/maven-ant-tasks-2.1.0.jar
deleted file mode 100644
index b240040..0000000
Binary files a/lib/maven-ant-tasks-2.1.0.jar and /dev/null differ
diff --git a/plugins/awt/pom.xml b/plugins/awt/pom.xml
new file mode 100644
index 0000000..d7fbfdb
--- /dev/null
+++ b/plugins/awt/pom.xml
@@ -0,0 +1,32 @@
+
+ 4.0.0
+ awt-plugin
+ jar
+ JInput - AWT Plugin
+
+
+ net.java.jinput
+ plugins
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+ net.java.jinput
+ coreapi
+ ${project.version}
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+
+
\ No newline at end of file
diff --git a/plugins/awt/src/net/java/games/input/AWTEnvironmentPlugin.java b/plugins/awt/src/main/java/net/java/games/input/AWTEnvironmentPlugin.java
similarity index 100%
rename from plugins/awt/src/net/java/games/input/AWTEnvironmentPlugin.java
rename to plugins/awt/src/main/java/net/java/games/input/AWTEnvironmentPlugin.java
diff --git a/plugins/awt/src/net/java/games/input/AWTKeyMap.java b/plugins/awt/src/main/java/net/java/games/input/AWTKeyMap.java
similarity index 100%
rename from plugins/awt/src/net/java/games/input/AWTKeyMap.java
rename to plugins/awt/src/main/java/net/java/games/input/AWTKeyMap.java
diff --git a/plugins/awt/src/net/java/games/input/AWTKeyboard.java b/plugins/awt/src/main/java/net/java/games/input/AWTKeyboard.java
similarity index 100%
rename from plugins/awt/src/net/java/games/input/AWTKeyboard.java
rename to plugins/awt/src/main/java/net/java/games/input/AWTKeyboard.java
diff --git a/plugins/awt/src/net/java/games/input/AWTMouse.java b/plugins/awt/src/main/java/net/java/games/input/AWTMouse.java
similarity index 100%
rename from plugins/awt/src/net/java/games/input/AWTMouse.java
rename to plugins/awt/src/main/java/net/java/games/input/AWTMouse.java
diff --git a/plugins/linux/build.xml b/plugins/linux/build.xml
index 7cde22e..c4dd2ab 100644
--- a/plugins/linux/build.xml
+++ b/plugins/linux/build.xml
@@ -1,8 +1,11 @@
-
+
+
+
+
-
-
+
+
@@ -10,63 +13,50 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
-
-
-
-
-
-
-
diff --git a/plugins/linux/pom.xml b/plugins/linux/pom.xml
new file mode 100644
index 0000000..2da357a
--- /dev/null
+++ b/plugins/linux/pom.xml
@@ -0,0 +1,48 @@
+
+ 4.0.0
+ linux-plugin
+ jar
+ JInput - Linux Plugin
+
+
+ net.java.jinput
+ plugins
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+ net.java.jinput
+ coreapi
+ ${project.version}
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+ maven-antrun-plugin
+
+
+ compile
+
+
+
+
+
+
+ run
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxAbsInfo.java b/plugins/linux/src/main/java/net/java/games/input/LinuxAbsInfo.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxAbsInfo.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxAbsInfo.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxAbstractController.java b/plugins/linux/src/main/java/net/java/games/input/LinuxAbstractController.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxAbstractController.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxAbstractController.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxAxisDescriptor.java b/plugins/linux/src/main/java/net/java/games/input/LinuxAxisDescriptor.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxAxisDescriptor.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxAxisDescriptor.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxCombinedController.java b/plugins/linux/src/main/java/net/java/games/input/LinuxCombinedController.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxCombinedController.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxCombinedController.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxComponent.java b/plugins/linux/src/main/java/net/java/games/input/LinuxComponent.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxComponent.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxComponent.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxConstantFF.java b/plugins/linux/src/main/java/net/java/games/input/LinuxConstantFF.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxConstantFF.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxConstantFF.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxControllers.java b/plugins/linux/src/main/java/net/java/games/input/LinuxControllers.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxControllers.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxControllers.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxDevice.java b/plugins/linux/src/main/java/net/java/games/input/LinuxDevice.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxDevice.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxDevice.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxDeviceTask.java b/plugins/linux/src/main/java/net/java/games/input/LinuxDeviceTask.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxDeviceTask.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxDeviceTask.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxDeviceThread.java b/plugins/linux/src/main/java/net/java/games/input/LinuxDeviceThread.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxDeviceThread.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxDeviceThread.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java b/plugins/linux/src/main/java/net/java/games/input/LinuxEnvironmentPlugin.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxEnvironmentPlugin.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxEvent.java b/plugins/linux/src/main/java/net/java/games/input/LinuxEvent.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxEvent.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxEvent.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxEventComponent.java b/plugins/linux/src/main/java/net/java/games/input/LinuxEventComponent.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxEventComponent.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxEventComponent.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxEventDevice.java b/plugins/linux/src/main/java/net/java/games/input/LinuxEventDevice.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxEventDevice.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxEventDevice.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxForceFeedbackEffect.java b/plugins/linux/src/main/java/net/java/games/input/LinuxForceFeedbackEffect.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxForceFeedbackEffect.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxForceFeedbackEffect.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxInputID.java b/plugins/linux/src/main/java/net/java/games/input/LinuxInputID.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxInputID.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxInputID.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickAbstractController.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickAbstractController.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickAbstractController.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickAbstractController.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickAxis.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickAxis.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickAxis.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickAxis.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickButton.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickButton.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickButton.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickButton.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickDevice.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickDevice.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickDevice.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickDevice.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickEvent.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickEvent.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickEvent.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickEvent.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxJoystickPOV.java b/plugins/linux/src/main/java/net/java/games/input/LinuxJoystickPOV.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxJoystickPOV.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxJoystickPOV.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java b/plugins/linux/src/main/java/net/java/games/input/LinuxKeyboard.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxKeyboard.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxMouse.java b/plugins/linux/src/main/java/net/java/games/input/LinuxMouse.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxMouse.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxMouse.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java b/plugins/linux/src/main/java/net/java/games/input/LinuxNativeTypesMap.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxNativeTypesMap.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxPOV.java b/plugins/linux/src/main/java/net/java/games/input/LinuxPOV.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxPOV.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxPOV.java
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxRumbleFF.java b/plugins/linux/src/main/java/net/java/games/input/LinuxRumbleFF.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/LinuxRumbleFF.java
rename to plugins/linux/src/main/java/net/java/games/input/LinuxRumbleFF.java
diff --git a/plugins/linux/src/java/net/java/games/input/NativeDefinitions.java b/plugins/linux/src/main/java/net/java/games/input/NativeDefinitions.java
similarity index 100%
rename from plugins/linux/src/java/net/java/games/input/NativeDefinitions.java
rename to plugins/linux/src/main/java/net/java/games/input/NativeDefinitions.java
diff --git a/plugins/linux/src/native/getDefinitions b/plugins/linux/src/main/native/getDefinitions
similarity index 100%
rename from plugins/linux/src/native/getDefinitions
rename to plugins/linux/src/main/native/getDefinitions
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxEventDevice.c b/plugins/linux/src/main/native/net_java_games_input_LinuxEventDevice.c
similarity index 100%
rename from plugins/linux/src/native/net_java_games_input_LinuxEventDevice.c
rename to plugins/linux/src/main/native/net_java_games_input_LinuxEventDevice.c
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxJoystickDevice.c b/plugins/linux/src/main/native/net_java_games_input_LinuxJoystickDevice.c
similarity index 100%
rename from plugins/linux/src/native/net_java_games_input_LinuxJoystickDevice.c
rename to plugins/linux/src/main/native/net_java_games_input_LinuxJoystickDevice.c
diff --git a/plugins/linux/src/native/.gitignore b/plugins/linux/src/native/.gitignore
deleted file mode 100644
index bf6ba2d..0000000
--- a/plugins/linux/src/native/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-/net_java_games_input_LinuxEventDevice.h
-/net_java_games_input_LinuxJoystickDevice.h
-/libjinput-linux64.so
-/net_java_games_input_LinuxEventDevice.o
-/net_java_games_input_LinuxJoystickDevice.o
-/util.o
diff --git a/plugins/linux/src/native/build.xml b/plugins/linux/src/native/build.xml
deleted file mode 100644
index f6a1a3a..0000000
--- a/plugins/linux/src/native/build.xml
+++ /dev/null
@@ -1,54 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/pom.xml b/plugins/pom.xml
new file mode 100644
index 0000000..849947f
--- /dev/null
+++ b/plugins/pom.xml
@@ -0,0 +1,18 @@
+
+ 4.0.0
+ plugins
+ pom
+ JInput - plugins
+
+
+ net.java.jinput
+ jinput-parent
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+ awt
+ linux
+
+
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..583ed76
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,138 @@
+
+ 4.0.0
+ net.java.jinput
+ jinput-parent
+ pom
+ JInput
+ 2.0.8-SNAPSHOT
+ Library for access to input devices.
+ https://github.com/jinput/jinput
+
+
+ BSD
+ http://www.opensource.org/licenses/bsd-license.php
+ repo
+
+
+
+
+ Members
+ https://github.com/jinput/jinput/graphs/contributors
+
+
+
+ https://github.com/jinput/jinput
+ scm:git:https://github.com/jinput/jinput
+
+
+
+ UTF-8
+ 1.6
+ 1.6
+
+
+
+
+
+ net.java.jutils
+ jutils
+ 1.0.0
+
+
+
+
+
+ coreAPI
+ plugins
+ applet
+ examples
+ tests
+
+
+
+
+
+
+ maven-compiler-plugin
+ 3.7.0
+
+ true
+ true
+
+
+
+ maven-jar-plugin
+
+
+
+ true
+
+
+
+
+
+ maven-source-plugin
+ 3.0.1
+
+
+ attach-sources
+
+ jar
+
+
+
+
+
+ maven-javadoc-plugin
+ 3.0.0
+
+ -Xdoclint:none
+
+
+
+ attach-javadocs
+ package
+
+ jar
+
+
+
+
+
+ maven-antrun-plugin
+ 1.8
+
+
+
+
+
+
+
+ release-sign-artifacts
+
+
+ performRelease
+ true
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-gpg-plugin
+ 1.1
+
+
+ sign-artifacts
+ verify
+
+ sign
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/tests/pom.xml b/tests/pom.xml
new file mode 100644
index 0000000..e5928b7
--- /dev/null
+++ b/tests/pom.xml
@@ -0,0 +1,37 @@
+
+ 4.0.0
+ tests
+ jar
+ JInput - tests
+
+
+ net.java.jinput
+ jinput-parent
+ 2.0.8-SNAPSHOT
+ ../
+
+
+
+
+ net.java.jinput
+ coreapi
+ ${project.version}
+
+
+ net.java.jinput
+ applet
+ ${project.version}
+
+
+
+
+
+
+ maven-source-plugin
+
+
+ maven-javadoc-plugin
+
+
+
+
\ No newline at end of file
diff --git a/coreAPI/src/java/net/java/games/input/test/ControllerEventTest.java b/tests/src/main/java/net/java/games/input/ControllerEventTest.java
similarity index 99%
rename from coreAPI/src/java/net/java/games/input/test/ControllerEventTest.java
rename to tests/src/main/java/net/java/games/input/ControllerEventTest.java
index 366e072..a6069e7 100644
--- a/coreAPI/src/java/net/java/games/input/test/ControllerEventTest.java
+++ b/tests/src/main/java/net/java/games/input/ControllerEventTest.java
@@ -30,7 +30,7 @@
* the design, construction, operation or maintenance of any nuclear facility
*
*****************************************************************************/
-package net.java.games.input.test;
+package net.java.games.input;
import java.awt.BorderLayout;
import java.awt.Color;
diff --git a/coreAPI/src/java/net/java/games/input/test/ControllerReadTest.java b/tests/src/main/java/net/java/games/input/ControllerReadTest.java
similarity index 99%
rename from coreAPI/src/java/net/java/games/input/test/ControllerReadTest.java
rename to tests/src/main/java/net/java/games/input/ControllerReadTest.java
index f1ccab6..a9749de 100644
--- a/coreAPI/src/java/net/java/games/input/test/ControllerReadTest.java
+++ b/tests/src/main/java/net/java/games/input/ControllerReadTest.java
@@ -35,7 +35,7 @@
* the design, construction, operation or maintenance of any nuclear facility
*
*****************************************************************************/
-package net.java.games.input.test;
+package net.java.games.input;
import java.awt.BorderLayout;
import java.awt.Color;
diff --git a/coreAPI/src/java/net/java/games/input/test/ControllerTextTest.java b/tests/src/main/java/net/java/games/input/ControllerTextTest.java
similarity index 99%
rename from coreAPI/src/java/net/java/games/input/test/ControllerTextTest.java
rename to tests/src/main/java/net/java/games/input/ControllerTextTest.java
index 3366d43..8e28c99 100644
--- a/coreAPI/src/java/net/java/games/input/test/ControllerTextTest.java
+++ b/tests/src/main/java/net/java/games/input/ControllerTextTest.java
@@ -35,7 +35,7 @@
* the design, construction, operation or maintenance of any nuclear facility
*
*****************************************************************************/
-package net.java.games.input.test;
+package net.java.games.input;
/**
*
diff --git a/coreAPI/src/java/net/java/games/input/test/RumbleTest.java b/tests/src/main/java/net/java/games/input/RumbleTest.java
similarity index 98%
rename from coreAPI/src/java/net/java/games/input/test/RumbleTest.java
rename to tests/src/main/java/net/java/games/input/RumbleTest.java
index a493462..4dc0725 100644
--- a/coreAPI/src/java/net/java/games/input/test/RumbleTest.java
+++ b/tests/src/main/java/net/java/games/input/RumbleTest.java
@@ -3,7 +3,7 @@
*
* Created on 01 December 2003, 23:02
*/
-package net.java.games.input.test;
+package net.java.games.input;
import net.java.games.input.ControllerEnvironment;
import net.java.games.input.Controller;
diff --git a/coreAPI/src/java/net/java/games/input/test/VersionTest.java b/tests/src/main/java/net/java/games/input/VersionTest.java
similarity index 85%
rename from coreAPI/src/java/net/java/games/input/test/VersionTest.java
rename to tests/src/main/java/net/java/games/input/VersionTest.java
index b97cc62..caf2a44 100644
--- a/coreAPI/src/java/net/java/games/input/test/VersionTest.java
+++ b/tests/src/main/java/net/java/games/input/VersionTest.java
@@ -1,4 +1,4 @@
-package net.java.games.input.test;
+package net.java.games.input;
import net.java.games.input.Version;
diff --git a/applet/src/net/java/games/input/applet/test/ControllerEventTestApplet.java b/tests/src/main/java/net/java/games/input/applet/ControllerEventTestApplet.java
similarity index 95%
rename from applet/src/net/java/games/input/applet/test/ControllerEventTestApplet.java
rename to tests/src/main/java/net/java/games/input/applet/ControllerEventTestApplet.java
index 00ed8ef..9127686 100644
--- a/applet/src/net/java/games/input/applet/test/ControllerEventTestApplet.java
+++ b/tests/src/main/java/net/java/games/input/applet/ControllerEventTestApplet.java
@@ -23,12 +23,12 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
*/
-package net.java.games.input.applet.test;
+package net.java.games.input.applet;
import java.applet.Applet;
import java.io.IOException;
-import net.java.games.input.test.ControllerEventTest;
+import net.java.games.input.ControllerEventTest;
import net.java.games.input.applet.JInputAppletResourceLoader;
public class ControllerEventTestApplet extends Applet {
diff --git a/applet/src/net/java/games/input/applet/test/ControllerReadTestApplet.java b/tests/src/main/java/net/java/games/input/applet/ControllerReadTestApplet.java
similarity index 95%
rename from applet/src/net/java/games/input/applet/test/ControllerReadTestApplet.java
rename to tests/src/main/java/net/java/games/input/applet/ControllerReadTestApplet.java
index 135d7e1..1f9fff2 100644
--- a/applet/src/net/java/games/input/applet/test/ControllerReadTestApplet.java
+++ b/tests/src/main/java/net/java/games/input/applet/ControllerReadTestApplet.java
@@ -23,12 +23,12 @@
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE
*/
-package net.java.games.input.applet.test;
+package net.java.games.input.applet;
import java.applet.Applet;
import java.io.IOException;
-import net.java.games.input.test.ControllerReadTest;
+import net.java.games.input.ControllerReadTest;
import net.java.games.input.applet.JInputAppletResourceLoader;
public class ControllerReadTestApplet extends Applet {