diff --git a/.idea/compiler.xml b/.idea/compiler.xml
index da84ac3..c59fe94 100644
--- a/.idea/compiler.xml
+++ b/.idea/compiler.xml
@@ -17,6 +17,13 @@
+
+
+
+
+
+
+
diff --git a/.idea/misc.xml b/.idea/misc.xml
index f6b06cb..ccf88d1 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -3,7 +3,14 @@
-
+
+
+
+
diff --git a/.idea/runConfigurations/All_Tests.xml b/.idea/runConfigurations/All_Tests.xml
index 1348a4e..3f3451d 100644
--- a/.idea/runConfigurations/All_Tests.xml
+++ b/.idea/runConfigurations/All_Tests.xml
@@ -1,5 +1,6 @@
+
diff --git a/IconLoader.iml b/IconLoader.iml
index 9ec0168..7f8baa0 100644
--- a/IconLoader.iml
+++ b/IconLoader.iml
@@ -1,16 +1,32 @@
-
-
-
+
+
+
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/build.xml b/build.xml
index 51a5e87..52127d5 100644
--- a/build.xml
+++ b/build.xml
@@ -126,7 +126,7 @@
-
+
@@ -144,7 +144,7 @@
-
+
diff --git a/iconloader.jar b/iconloader.jar
deleted file mode 100644
index a32173d..0000000
Binary files a/iconloader.jar and /dev/null differ
diff --git a/lib/junit-4.10.jar b/lib/junit-4.10.jar
deleted file mode 100644
index bf5c0b9..0000000
Binary files a/lib/junit-4.10.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..fcca31a
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,84 @@
+
+
+
+
+ 4.0.0
+
+ com.bulenkov
+ iconloader
+ 1.0.0-SNAPSHOT
+ IconLoader
+
+ Konstantin Bulenkov
+ http://bulenkov.com
+
+
+
+ scm:git:git@github.com:bulenkov/iconloader.git
+ scm:git:git@github.com:bulenkov/iconloader.git
+ https://github.com/bulenkov/iconloader
+ HEAD
+
+
+
+
+ sonatype-nexus-snapshots
+ Sonatype Nexus snapshot repository
+ https://oss.sonatype.org/content/repositories/snapshots
+
+
+ sonatype-nexus-staging
+ Sonatype Nexus release repository
+ https://oss.sonatype.org/service/local/staging/deploy/maven2/
+
+
+
+
+
+ com.apple
+ eawt
+ 1.0.0
+ system
+ ${project.basedir}/lib/eawtstub.jar
+
+
+ junit
+ junit
+ 4.11
+ test
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 2.5
+
+
+
+ true
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/META-INF/MANIFEST.MF b/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index b7b428a..0000000
--- a/resources/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,5 +0,0 @@
-Manifest-Version: 1.0
-Implementation-Title: IconLoader
-Implementation-Version: 1.0.0
-Implementation-Vendor: Konstantin Bulenkov
-Implementation-URL: http://bulenkov.com
diff --git a/src/com/bulenkov/iconloader/AppleHiDPIScaledImage.java b/src/main/java/com/bulenkov/iconloader/AppleHiDPIScaledImage.java
similarity index 100%
rename from src/com/bulenkov/iconloader/AppleHiDPIScaledImage.java
rename to src/main/java/com/bulenkov/iconloader/AppleHiDPIScaledImage.java
diff --git a/src/com/bulenkov/iconloader/HiDPIScaledGraphics.java b/src/main/java/com/bulenkov/iconloader/HiDPIScaledGraphics.java
similarity index 100%
rename from src/com/bulenkov/iconloader/HiDPIScaledGraphics.java
rename to src/main/java/com/bulenkov/iconloader/HiDPIScaledGraphics.java
diff --git a/src/com/bulenkov/iconloader/IconLoader.java b/src/main/java/com/bulenkov/iconloader/IconLoader.java
similarity index 100%
rename from src/com/bulenkov/iconloader/IconLoader.java
rename to src/main/java/com/bulenkov/iconloader/IconLoader.java
diff --git a/src/com/bulenkov/iconloader/IsRetina.java b/src/main/java/com/bulenkov/iconloader/IsRetina.java
similarity index 100%
rename from src/com/bulenkov/iconloader/IsRetina.java
rename to src/main/java/com/bulenkov/iconloader/IsRetina.java
diff --git a/src/com/bulenkov/iconloader/JBHiDPIScaledImage.java b/src/main/java/com/bulenkov/iconloader/JBHiDPIScaledImage.java
similarity index 100%
rename from src/com/bulenkov/iconloader/JBHiDPIScaledImage.java
rename to src/main/java/com/bulenkov/iconloader/JBHiDPIScaledImage.java
diff --git a/src/com/bulenkov/iconloader/RetinaImage.java b/src/main/java/com/bulenkov/iconloader/RetinaImage.java
similarity index 100%
rename from src/com/bulenkov/iconloader/RetinaImage.java
rename to src/main/java/com/bulenkov/iconloader/RetinaImage.java
diff --git a/src/com/bulenkov/iconloader/util/ArrayUtilRt.java b/src/main/java/com/bulenkov/iconloader/util/ArrayUtilRt.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/ArrayUtilRt.java
rename to src/main/java/com/bulenkov/iconloader/util/ArrayUtilRt.java
diff --git a/src/com/bulenkov/iconloader/util/AsyncByteArrayOutputStream.java b/src/main/java/com/bulenkov/iconloader/util/AsyncByteArrayOutputStream.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/AsyncByteArrayOutputStream.java
rename to src/main/java/com/bulenkov/iconloader/util/AsyncByteArrayOutputStream.java
diff --git a/src/com/bulenkov/iconloader/util/Base64Converter.java b/src/main/java/com/bulenkov/iconloader/util/Base64Converter.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/Base64Converter.java
rename to src/main/java/com/bulenkov/iconloader/util/Base64Converter.java
diff --git a/src/com/bulenkov/iconloader/util/BufferExposingByteArrayOutputStream.java b/src/main/java/com/bulenkov/iconloader/util/BufferExposingByteArrayOutputStream.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/BufferExposingByteArrayOutputStream.java
rename to src/main/java/com/bulenkov/iconloader/util/BufferExposingByteArrayOutputStream.java
diff --git a/src/com/bulenkov/iconloader/util/CenteredIcon.java b/src/main/java/com/bulenkov/iconloader/util/CenteredIcon.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/CenteredIcon.java
rename to src/main/java/com/bulenkov/iconloader/util/CenteredIcon.java
diff --git a/src/com/bulenkov/iconloader/util/ColorUtil.java b/src/main/java/com/bulenkov/iconloader/util/ColorUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/ColorUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/ColorUtil.java
diff --git a/src/com/bulenkov/iconloader/util/ComparingUtils.java b/src/main/java/com/bulenkov/iconloader/util/ComparingUtils.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/ComparingUtils.java
rename to src/main/java/com/bulenkov/iconloader/util/ComparingUtils.java
diff --git a/src/com/bulenkov/iconloader/util/ConcurrencyUtil.java b/src/main/java/com/bulenkov/iconloader/util/ConcurrencyUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/ConcurrencyUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/ConcurrencyUtil.java
diff --git a/src/com/bulenkov/iconloader/util/DoubleColor.java b/src/main/java/com/bulenkov/iconloader/util/DoubleColor.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/DoubleColor.java
rename to src/main/java/com/bulenkov/iconloader/util/DoubleColor.java
diff --git a/src/com/bulenkov/iconloader/util/EmptyIcon.java b/src/main/java/com/bulenkov/iconloader/util/EmptyIcon.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/EmptyIcon.java
rename to src/main/java/com/bulenkov/iconloader/util/EmptyIcon.java
diff --git a/src/com/bulenkov/iconloader/util/GraphicsConfig.java b/src/main/java/com/bulenkov/iconloader/util/GraphicsConfig.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/GraphicsConfig.java
rename to src/main/java/com/bulenkov/iconloader/util/GraphicsConfig.java
diff --git a/src/com/bulenkov/iconloader/util/GraphicsUtil.java b/src/main/java/com/bulenkov/iconloader/util/GraphicsUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/GraphicsUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/GraphicsUtil.java
diff --git a/src/com/bulenkov/iconloader/util/Gray.java b/src/main/java/com/bulenkov/iconloader/util/Gray.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/Gray.java
rename to src/main/java/com/bulenkov/iconloader/util/Gray.java
diff --git a/src/com/bulenkov/iconloader/util/Pair.java b/src/main/java/com/bulenkov/iconloader/util/Pair.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/Pair.java
rename to src/main/java/com/bulenkov/iconloader/util/Pair.java
diff --git a/src/com/bulenkov/iconloader/util/Ref.java b/src/main/java/com/bulenkov/iconloader/util/Ref.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/Ref.java
rename to src/main/java/com/bulenkov/iconloader/util/Ref.java
diff --git a/src/com/bulenkov/iconloader/util/ReflectionUtil.java b/src/main/java/com/bulenkov/iconloader/util/ReflectionUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/ReflectionUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/ReflectionUtil.java
diff --git a/src/com/bulenkov/iconloader/util/StringFactory.java b/src/main/java/com/bulenkov/iconloader/util/StringFactory.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/StringFactory.java
rename to src/main/java/com/bulenkov/iconloader/util/StringFactory.java
diff --git a/src/com/bulenkov/iconloader/util/StringUtil.java b/src/main/java/com/bulenkov/iconloader/util/StringUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/StringUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/StringUtil.java
diff --git a/src/com/bulenkov/iconloader/util/SystemInfo.java b/src/main/java/com/bulenkov/iconloader/util/SystemInfo.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/SystemInfo.java
rename to src/main/java/com/bulenkov/iconloader/util/SystemInfo.java
diff --git a/src/com/bulenkov/iconloader/util/UIUtil.java b/src/main/java/com/bulenkov/iconloader/util/UIUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/UIUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/UIUtil.java
diff --git a/src/com/bulenkov/iconloader/util/URLUtil.java b/src/main/java/com/bulenkov/iconloader/util/URLUtil.java
similarity index 100%
rename from src/com/bulenkov/iconloader/util/URLUtil.java
rename to src/main/java/com/bulenkov/iconloader/util/URLUtil.java
diff --git a/resources/META-INF/LICENSE b/src/main/resources/META-INF/LICENSE
similarity index 100%
rename from resources/META-INF/LICENSE
rename to src/main/resources/META-INF/LICENSE
diff --git a/tests/com/bulenkov/iconloader/IconLoaderTest.java b/src/test/java/com/bulenkov/iconloader/IconLoaderTest.java
similarity index 100%
rename from tests/com/bulenkov/iconloader/IconLoaderTest.java
rename to src/test/java/com/bulenkov/iconloader/IconLoaderTest.java
diff --git a/tests/com/bulenkov/iconloader/IconLoaderTestCase.java b/src/test/java/com/bulenkov/iconloader/IconLoaderTestCase.java
similarity index 100%
rename from tests/com/bulenkov/iconloader/IconLoaderTestCase.java
rename to src/test/java/com/bulenkov/iconloader/IconLoaderTestCase.java
diff --git a/tests/icons/print.png b/src/test/resources/icons/print.png
similarity index 100%
rename from tests/icons/print.png
rename to src/test/resources/icons/print.png
diff --git a/tests/icons/print@2x.png b/src/test/resources/icons/print@2x.png
similarity index 100%
rename from tests/icons/print@2x.png
rename to src/test/resources/icons/print@2x.png
diff --git a/tests/icons/print@2x_dark.png b/src/test/resources/icons/print@2x_dark.png
similarity index 100%
rename from tests/icons/print@2x_dark.png
rename to src/test/resources/icons/print@2x_dark.png
diff --git a/tests/icons/printPreview.png b/src/test/resources/icons/printPreview.png
similarity index 100%
rename from tests/icons/printPreview.png
rename to src/test/resources/icons/printPreview.png
diff --git a/tests/icons/print_dark.png b/src/test/resources/icons/print_dark.png
similarity index 100%
rename from tests/icons/print_dark.png
rename to src/test/resources/icons/print_dark.png