This is an automated email from the ASF dual-hosted git repository.

ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jci.git

commit 90901b3568f2ee276978e6b58c74d0df17a70bc1
Author: Gary Gregory <garydgreg...@gmail.com>
AuthorDate: Sat Jul 29 15:24:04 2023 -0400

    Support JPMS
    
    - Don't split packages
    - Bump commons-parent from 58 to 59
    - Rework some dependencies
---
 compilers/eclipse/pom.xml                          |  2 +-
 .../eclipse}/EclipseCompilationProblem.java        |  4 ++--
 .../eclipse}/EclipseJavaCompiler.java              | 18 ++++++++-------
 .../eclipse}/EclipseJavaCompilerSettings.java      |  3 ++-
 .../EclipseJavaCompilerSettingsTestCase.java       |  2 +-
 .../eclipse}/EclipseJavaCompilerTestCase.java      |  5 ++++-
 compilers/groovy/pom.xml                           | 22 +++++++++++++++---
 .../groovy}/GroovyCompilationProblem.java          |  4 ++--
 .../groovy}/GroovyJavaCompiler.java                | 19 +++++++++-------
 .../groovy}/GroovyJavaCompilerSettings.java        |  3 ++-
 .../groovy}/GroovyJavaCompilerTestCase.java        |  5 ++++-
 compilers/janino/pom.xml                           |  2 +-
 .../janino}/JaninoCompilationProblem.java          |  4 ++--
 .../janino}/JaninoJavaCompiler.java                | 11 +++++----
 .../janino}/JaninoJavaCompilerSettings.java        |  4 +++-
 .../janino}/JaninoJavaCompilerTestCase.java        |  5 ++++-
 compilers/jsr199/pom.xml                           |  2 +-
 .../jsr199}/Jsr199CompilationProblem.java          |  4 ++--
 .../jsr199}/Jsr199JavaCompiler.java                | 13 ++++++-----
 .../jsr199}/Jsr199JavaCompilerSettings.java        |  4 +++-
 .../jsr199}/Jsr199JavaCompilerTestCase.java        |  5 ++++-
 compilers/rhino/pom.xml                            |  2 +-
 .../rhino}/RhinoCompilationProblem.java            |  4 ++--
 .../rhino}/RhinoJavaCompiler.java                  | 13 ++++++-----
 .../rhino}/RhinoJavaCompilerSettings.java          |  4 +++-
 .../rhino}/RhinoJavaCompilerTestCase.java          |  9 +++++---
 .../jci2/{ => core}/ReloadingClassLoader.java      |  8 +++----
 .../compiler}/AbstractJavaCompiler.java            |  8 +++----
 .../compiler}/CompilationResult.java               |  5 +++--
 .../{compilers => core/compiler}/JavaCompiler.java |  8 +++----
 .../compiler}/JavaCompilerFactory.java             | 11 +++++----
 .../compiler}/JavaCompilerSettings.java            |  2 +-
 .../{compilers => core/compiler}/package-info.java |  2 +-
 .../{ => core}/listeners/CompilingListener.java    | 24 ++++++++++----------
 .../{ => core}/listeners/FileChangeListener.java   |  5 +++--
 .../listeners/ReloadNotificationListener.java      |  2 +-
 .../{ => core}/listeners/ReloadingListener.java    | 15 +++++++------
 .../jci2/{ => core}/listeners/package-info.java    |  2 +-
 .../commons/jci2/{ => core}/package-info.java      |  2 +-
 .../{ => core}/problems/CompilationProblem.java    |  2 +-
 .../problems/CompilationProblemHandler.java        |  2 +-
 .../jci2/{ => core}/problems/package-info.java     |  2 +-
 .../{ => core}/readers/FileResourceReader.java     |  2 +-
 .../{ => core}/readers/MemoryResourceReader.java   |  4 ++--
 .../jci2/{ => core}/readers/ResourceReader.java    |  2 +-
 .../jci2/{ => core}/readers/package-info.java      |  2 +-
 .../jci2/{ => core}/stores/FileResourceStore.java  |  2 +-
 .../{ => core}/stores/MemoryResourceStore.java     |  3 ++-
 .../jci2/{ => core}/stores/ResourceStore.java      |  2 +-
 .../stores/ResourceStoreClassLoader.java           |  4 ++--
 .../jci2/{ => core}/stores/Transactional.java      |  2 +-
 .../stores/TransactionalResourceStore.java         |  2 +-
 .../jci2/{ => core}/stores/package-info.java       |  2 +-
 .../jci2/{ => core}/utils/ConversionUtils.java     |  2 +-
 .../jci2/{ => core}/utils/package-info.java        |  2 +-
 .../commons/jci2/{ => core}/AbstractTestCase.java  |  6 +++--
 .../{ => core}/CompilingClassLoaderTestCase.java   | 26 +++++++++++-----------
 .../ReloadingClassLoaderRemoveTestCase.java        | 10 ++++-----
 .../{ => core}/ReloadingClassLoaderTestCase.java   | 14 ++++++------
 .../jci2/{ => core}/classes/ExtendedDump.java      |  2 +-
 .../jci2/{ => core}/classes/SimpleDump.java        |  2 +-
 .../compilers/AbstractCompilerTestCase.java        | 14 +++++++-----
 .../{ => core}/readers/ResourceReaderTestCase.java |  4 ++--
 .../{ => core}/stores/ResourceStoreTestCase.java   |  4 ++--
 .../examples/commandline/CommandlineCompiler.java  | 20 ++++++++---------
 .../configuration/ConfigurationReloading.java      |  8 +++----
 .../jci2/examples/serverpages/JspGenerator.java    |  2 +-
 .../jci2/examples/serverpages/JspReader.java       |  2 +-
 .../examples/serverpages/ServerPageServlet.java    | 23 +++++++++----------
 examples/src/main/webapp/WEB-INF/web.xml           |  2 +-
 .../AbstractFilesystemAlterationListener.java      |  6 ++---
 .../monitor/FilesystemAlterationListener.java      |  2 +-
 .../monitor/FilesystemAlterationMonitor.java       |  2 +-
 .../monitor/FilesystemAlterationObserver.java      |  2 +-
 .../monitor/FilesystemAlterationObserverImpl.java  |  2 +-
 .../jci2/{ => fam}/monitor/package-info.java       |  2 +-
 .../FilesystemAlterationMonitorTestCase.java       |  8 +++----
 pom.xml                                            |  7 +++---
 src/changes/changes.xml                            |  6 ++---
 79 files changed, 273 insertions(+), 207 deletions(-)

diff --git a/compilers/eclipse/pom.xml b/compilers/eclipse/pom.xml
index 3bdbaa4..80a6db9 100644
--- a/compilers/eclipse/pom.xml
+++ b/compilers/eclipse/pom.xml
@@ -57,7 +57,7 @@
 
     <properties>
         <commons.componentid>jci-eclipse</commons.componentid>
-        
<commons.module.name>org.apache.commons.jci2.eclipse</commons.module.name>
+        
<commons.module.name>org.apache.commons.jci2.core.eclipse</commons.module.name>
         <maven-site-plugin.skip>true</maven-site-plugin.skip>
     </properties> 
   
diff --git 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseCompilationProblem.java
 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseCompilationProblem.java
similarity index 94%
rename from 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseCompilationProblem.java
rename to 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseCompilationProblem.java
index ec9b56f..7b6634a 100755
--- 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseCompilationProblem.java
+++ 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseCompilationProblem.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.eclipse;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 import org.eclipse.jdt.core.compiler.IProblem;
 
 /**
diff --git 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompiler.java
 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompiler.java
similarity index 95%
rename from 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompiler.java
rename to 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompiler.java
index fab2b3c..6650b85 100644
--- 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompiler.java
+++ 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompiler.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.eclipse;
 
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -25,10 +25,12 @@ import java.util.Locale;
 import java.util.Map;
 import java.util.StringTokenizer;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.compiler.AbstractJavaCompiler;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.eclipse.jdt.core.compiler.IProblem;
@@ -129,7 +131,7 @@ public final class EclipseJavaCompiler extends 
AbstractJavaCompiler {
     }
 
 
-    public org.apache.commons.jci2.compilers.CompilationResult compile(
+    public org.apache.commons.jci2.core.compiler.CompilationResult compile(
             final String[] pSourceFiles,
             final ResourceReader pReader,
             final ResourceStore pStore,
@@ -198,7 +200,7 @@ public final class EclipseJavaCompiler extends 
AbstractJavaCompiler {
         if (problems.size() > 0) {
             final CompilationProblem[] result = new 
CompilationProblem[problems.size()];
             problems.toArray(result);
-            return new 
org.apache.commons.jci2.compilers.CompilationResult(result);
+            return new 
org.apache.commons.jci2.core.compiler.CompilationResult(result);
         }
 
         final IErrorHandlingPolicy policy = 
DefaultErrorHandlingPolicies.proceedWithAllProblems();
@@ -389,7 +391,7 @@ public final class EclipseJavaCompiler extends 
AbstractJavaCompiler {
 
         final CompilationProblem[] result = new 
CompilationProblem[problems.size()];
         problems.toArray(result);
-        return new org.apache.commons.jci2.compilers.CompilationResult(result);
+        return new 
org.apache.commons.jci2.core.compiler.CompilationResult(result);
     }
 
     public JavaCompilerSettings createDefaultSettings() {
diff --git 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettings.java
 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettings.java
similarity index 96%
rename from 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettings.java
rename to 
compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettings.java
index e53cd3a..39e35cc 100644
--- 
a/compilers/eclipse/src/main/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettings.java
+++ 
b/compilers/eclipse/src/main/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettings.java
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.eclipse;
 
 import java.util.HashMap;
 import java.util.Map;
 
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
 import org.eclipse.jdt.internal.compiler.impl.CompilerOptions;
 
 /**
diff --git 
a/compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettingsTestCase.java
 
b/compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettingsTestCase.java
similarity index 98%
rename from 
compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettingsTestCase.java
rename to 
compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettingsTestCase.java
index a0bfdb9..966dd57 100644
--- 
a/compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerSettingsTestCase.java
+++ 
b/compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerSettingsTestCase.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.eclipse;
 
 import java.util.Map;
 
diff --git 
a/compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerTestCase.java
 
b/compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerTestCase.java
similarity index 90%
rename from 
compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerTestCase.java
rename to 
compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerTestCase.java
index 822b4e1..0eafcf4 100644
--- 
a/compilers/eclipse/src/test/java/org/apache/commons/jci2/compilers/EclipseJavaCompilerTestCase.java
+++ 
b/compilers/eclipse/src/test/java/org/apache/commons/jci2/compiler/eclipse/EclipseJavaCompilerTestCase.java
@@ -15,7 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.eclipse;
+
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compilers.AbstractCompilerTestCase;
 
 import junit.framework.AssertionFailedError;
 
diff --git a/compilers/groovy/pom.xml b/compilers/groovy/pom.xml
index cb7a4f6..696c763 100644
--- a/compilers/groovy/pom.xml
+++ b/compilers/groovy/pom.xml
@@ -38,7 +38,18 @@
         </dependency>
         <dependency>
             <groupId>org.codehaus.groovy</groupId>
-            <artifactId>groovy-all</artifactId>
+            <artifactId>groovy-eclipse-compiler</artifactId>
+            <version>3.7.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-eclipse-compiler</artifactId>
+            <version>3.7.0</version>
+        </dependency>
+        <dependency>
+            <groupId>org.codehaus.groovy</groupId>
+            <artifactId>groovy-eclipse-batch</artifactId>
+            <version>3.0.8-01</version>
         </dependency>
         <!-- test dependencies -->
         <dependency>
@@ -57,8 +68,13 @@
 
     <properties>
         <commons.componentid>jci-groovy</commons.componentid>
-         
<commons.module.name>org.apache.commons.jci2.groovy</commons.module.name>
-       <maven-site-plugin.skip>true</maven-site-plugin.skip>
+        
<commons.module.name>org.apache.commons.jci2.core.groovy</commons.module.name>
+        <!--
+        Bug in moditect-maven-plugin?
+        [ERROR] Failed to execute goal 
org.moditect:moditect-maven-plugin:1.0.0.Final:add-module-info 
(add-module-infos) on project commons-jci2-groovy: Execution add-module-infos 
of goal org.moditect:moditect-maven-plugin:1.0.0.Final:add-module-info failed: 
No assignedModuleName provided for jar with invalid module name: 
/Users/garydgregory/.m2/repository/org/codehaus/plexus/plexus-container-default/2.0.0/plexus-container-default-2.0.0.jar
 
+        -->
+        <moditect.skip>true</moditect.skip>
+        <maven-site-plugin.skip>true</maven-site-plugin.skip>
     </properties> 
   
     <build>
diff --git 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyCompilationProblem.java
 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyCompilationProblem.java
similarity index 96%
rename from 
compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyCompilationProblem.java
rename to 
compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyCompilationProblem.java
index 6e1d5fe..5f6525a 100755
--- 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyCompilationProblem.java
+++ 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyCompilationProblem.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.groovy;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 import org.codehaus.groovy.control.messages.ExceptionMessage;
 import org.codehaus.groovy.control.messages.Message;
 import org.codehaus.groovy.control.messages.SimpleMessage;
diff --git 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompiler.java
 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompiler.java
similarity index 90%
rename from 
compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompiler.java
rename to 
compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompiler.java
index 0990538..1745d32 100644
--- 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompiler.java
+++ 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompiler.java
@@ -15,18 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
-
-import groovy.lang.GroovyClassLoader;
+package org.apache.commons.jci2.compiler.groovy;
 
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.compiler.AbstractJavaCompiler;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.codehaus.groovy.control.CompilationFailedException;
@@ -40,6 +41,8 @@ import org.codehaus.groovy.control.messages.Message;
 import org.codehaus.groovy.control.messages.WarningMessage;
 import org.codehaus.groovy.tools.GroovyClass;
 
+import groovy.lang.GroovyClassLoader;
+
 /**
  * Groovy implementation of the JavaCompiler interface
  *
@@ -106,7 +109,7 @@ public final class GroovyJavaCompiler extends 
AbstractJavaCompiler {
             }
 
             @SuppressWarnings("unchecked") // Groovy library is not yet generic
-            final Collection<Message> errors = col.getErrors();
+            final List<? extends Message> errors = col.getErrors();
             if (errors != null) {
                 for (final Message message : errors) {
                     final CompilationProblem problem = new 
GroovyCompilationProblem(message);
diff --git 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerSettings.java
 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerSettings.java
similarity index 91%
rename from 
compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerSettings.java
rename to 
compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerSettings.java
index efa3ba6..fd6ef5d 100644
--- 
a/compilers/groovy/src/main/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerSettings.java
+++ 
b/compilers/groovy/src/main/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerSettings.java
@@ -15,8 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.groovy;
 
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
 import org.codehaus.groovy.control.CompilerConfiguration;
 
 /**
diff --git 
a/compilers/groovy/src/test/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerTestCase.java
 
b/compilers/groovy/src/test/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerTestCase.java
similarity index 88%
rename from 
compilers/groovy/src/test/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerTestCase.java
rename to 
compilers/groovy/src/test/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerTestCase.java
index 8cbe9d7..80d07e4 100644
--- 
a/compilers/groovy/src/test/java/org/apache/commons/jci2/compilers/GroovyJavaCompilerTestCase.java
+++ 
b/compilers/groovy/src/test/java/org/apache/commons/jci2/compiler/groovy/GroovyJavaCompilerTestCase.java
@@ -15,7 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.groovy;
+
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compilers.AbstractCompilerTestCase;
 
 /**
  *
diff --git a/compilers/janino/pom.xml b/compilers/janino/pom.xml
index 1e8a17f..e2f1524 100644
--- a/compilers/janino/pom.xml
+++ b/compilers/janino/pom.xml
@@ -57,7 +57,7 @@
 
     <properties>
         <commons.componentid>jci-janino</commons.componentid>
-        
<commons.module.name>org.apache.commons.jci2.janino</commons.module.name>
+        
<commons.module.name>org.apache.commons.jci2.core.janino</commons.module.name>
         <maven-site-plugin.skip>true</maven-site-plugin.skip>
     </properties> 
 
diff --git 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoCompilationProblem.java
 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoCompilationProblem.java
similarity index 96%
rename from 
compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoCompilationProblem.java
rename to 
compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoCompilationProblem.java
index f934606..4e07078 100755
--- 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoCompilationProblem.java
+++ 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoCompilationProblem.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.janino;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 import org.codehaus.commons.compiler.LocatedException;
 import org.codehaus.commons.compiler.Location;
 
diff --git 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompiler.java
 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompiler.java
similarity index 94%
rename from 
compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompiler.java
rename to 
compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompiler.java
index 660b238..78cfa04 100644
--- 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompiler.java
+++ 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompiler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.janino;
 
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
@@ -25,9 +25,12 @@ import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
+import org.apache.commons.jci2.core.compiler.AbstractJavaCompiler;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.codehaus.commons.compiler.CompileException;
diff --git 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerSettings.java
 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerSettings.java
similarity index 90%
rename from 
compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerSettings.java
rename to 
compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerSettings.java
index 1e2ff89..a73949a 100644
--- 
a/compilers/janino/src/main/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerSettings.java
+++ 
b/compilers/janino/src/main/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerSettings.java
@@ -15,7 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.janino;
+
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
 
 public final class JaninoJavaCompilerSettings extends JavaCompilerSettings {
     // TODO: implement the native janino compiler settings
diff --git 
a/compilers/janino/src/test/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerTestCase.java
 
b/compilers/janino/src/test/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerTestCase.java
similarity index 85%
rename from 
compilers/janino/src/test/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerTestCase.java
rename to 
compilers/janino/src/test/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerTestCase.java
index d498b61..5d09de1 100644
--- 
a/compilers/janino/src/test/java/org/apache/commons/jci2/compilers/JaninoJavaCompilerTestCase.java
+++ 
b/compilers/janino/src/test/java/org/apache/commons/jci2/compiler/janino/JaninoJavaCompilerTestCase.java
@@ -15,7 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.janino;
+
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compilers.AbstractCompilerTestCase;
 
 /**
  *
diff --git a/compilers/jsr199/pom.xml b/compilers/jsr199/pom.xml
index 18963bb..dbebfce 100644
--- a/compilers/jsr199/pom.xml
+++ b/compilers/jsr199/pom.xml
@@ -55,7 +55,7 @@
         <maven.compile.source>1.6</maven.compile.source>
         <maven.compile.target>1.6</maven.compile.target>
         <commons.componentid>jci-jsr166</commons.componentid>
-        
<commons.module.name>org.apache.commons.jci2.jsr199</commons.module.name>
+        
<commons.module.name>org.apache.commons.jci2.core.jsr199</commons.module.name>
         <maven-site-plugin.skip>true</maven-site-plugin.skip>
     </properties>
 
diff --git 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199CompilationProblem.java
 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199CompilationProblem.java
similarity index 94%
rename from 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199CompilationProblem.java
rename to 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199CompilationProblem.java
index c50a64b..adf91b8 100755
--- 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199CompilationProblem.java
+++ 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199CompilationProblem.java
@@ -14,12 +14,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.jsr199;
 
 import javax.tools.Diagnostic;
 import javax.tools.JavaFileObject;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 
 public class Jsr199CompilationProblem implements CompilationProblem {
 
diff --git 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompiler.java
 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompiler.java
similarity index 95%
rename from 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompiler.java
rename to 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompiler.java
index 6f2fd6a..8212950 100644
--- 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompiler.java
+++ 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompiler.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.jsr199;
 
 import java.io.IOException;
 import java.io.InputStream;
@@ -33,15 +33,18 @@ import javax.tools.Diagnostic;
 import javax.tools.DiagnosticCollector;
 import javax.tools.FileObject;
 import javax.tools.JavaCompiler;
+import javax.tools.JavaCompiler.CompilationTask;
 import javax.tools.JavaFileManager;
 import javax.tools.JavaFileObject;
 import javax.tools.SimpleJavaFileObject;
 import javax.tools.ToolProvider;
-import javax.tools.JavaCompiler.CompilationTask;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
+import org.apache.commons.jci2.core.compiler.AbstractJavaCompiler;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerSettings.java
 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerSettings.java
similarity index 88%
rename from 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerSettings.java
rename to 
compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerSettings.java
index 80fcec9..3ee6043 100644
--- 
a/compilers/jsr199/src/main/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerSettings.java
+++ 
b/compilers/jsr199/src/main/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerSettings.java
@@ -14,7 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.jsr199;
+
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
 
 public class Jsr199JavaCompilerSettings extends JavaCompilerSettings {
 
diff --git 
a/compilers/jsr199/src/test/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerTestCase.java
 
b/compilers/jsr199/src/test/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerTestCase.java
similarity index 85%
rename from 
compilers/jsr199/src/test/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerTestCase.java
rename to 
compilers/jsr199/src/test/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerTestCase.java
index b5c2916..f1b54ed 100644
--- 
a/compilers/jsr199/src/test/java/org/apache/commons/jci2/compilers/Jsr199JavaCompilerTestCase.java
+++ 
b/compilers/jsr199/src/test/java/org/apache/commons/jci2/compiler/jsr199/Jsr199JavaCompilerTestCase.java
@@ -16,7 +16,10 @@
  * specific language governing permissions and limitations
  * under the License.
  */
- package org.apache.commons.jci2.compilers;
+ package org.apache.commons.jci2.compiler.jsr199;
+
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compilers.AbstractCompilerTestCase;
 
 public final class Jsr199JavaCompilerTestCase extends AbstractCompilerTestCase 
{
 
diff --git a/compilers/rhino/pom.xml b/compilers/rhino/pom.xml
index 21bb699..631d16f 100644
--- a/compilers/rhino/pom.xml
+++ b/compilers/rhino/pom.xml
@@ -57,7 +57,7 @@
 
     <properties>
         <commons.componentid>jci-rhino</commons.componentid>
-        
<commons.module.name>org.apache.commons.jci2.rhino</commons.module.name>
+        
<commons.module.name>org.apache.commons.jci2.core.rhino</commons.module.name>
         <maven-site-plugin.skip>true</maven-site-plugin.skip>
     </properties>
   
diff --git 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoCompilationProblem.java
 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoCompilationProblem.java
similarity index 94%
rename from 
compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoCompilationProblem.java
rename to 
compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoCompilationProblem.java
index a56886e..e9572b6 100755
--- 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoCompilationProblem.java
+++ 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoCompilationProblem.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.rhino;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 
 /**
  *
diff --git 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompiler.java
 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompiler.java
similarity index 95%
rename from 
compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompiler.java
rename to 
compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompiler.java
index bc7125e..c6b5699 100644
--- 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompiler.java
+++ 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompiler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.rhino;
 
 import java.io.ByteArrayInputStream;
 import java.io.FileNotFoundException;
@@ -26,10 +26,13 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.compiler.AbstractJavaCompiler;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.mozilla.javascript.CompilerEnvirons;
diff --git 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerSettings.java
 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerSettings.java
similarity index 89%
rename from 
compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerSettings.java
rename to 
compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerSettings.java
index dd241ae..6fd5788 100644
--- 
a/compilers/rhino/src/main/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerSettings.java
+++ 
b/compilers/rhino/src/main/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerSettings.java
@@ -16,7 +16,9 @@
  */
 
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.rhino;
+
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
 
 /**
  * @author tcurdt
diff --git 
a/compilers/rhino/src/test/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerTestCase.java
 
b/compilers/rhino/src/test/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerTestCase.java
similarity index 92%
rename from 
compilers/rhino/src/test/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerTestCase.java
rename to 
compilers/rhino/src/test/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerTestCase.java
index fea82eb..3ce25eb 100644
--- 
a/compilers/rhino/src/test/java/org/apache/commons/jci2/compilers/RhinoJavaCompilerTestCase.java
+++ 
b/compilers/rhino/src/test/java/org/apache/commons/jci2/compiler/rhino/RhinoJavaCompilerTestCase.java
@@ -15,13 +15,16 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.compiler.rhino;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compilers.AbstractCompilerTestCase;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
 
 /**
  *
diff --git 
a/core/src/main/java/org/apache/commons/jci2/ReloadingClassLoader.java 
b/core/src/main/java/org/apache/commons/jci2/core/ReloadingClassLoader.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/jci2/ReloadingClassLoader.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/ReloadingClassLoader.java
index 13646c1..5659f37 100644
--- a/core/src/main/java/org/apache/commons/jci2/ReloadingClassLoader.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/ReloadingClassLoader.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
 
 import java.io.InputStream;
 import java.net.URL;
 
-import org.apache.commons.jci2.listeners.ReloadNotificationListener;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.stores.ResourceStoreClassLoader;
+import org.apache.commons.jci2.core.listeners.ReloadNotificationListener;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.stores.ResourceStoreClassLoader;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/AbstractJavaCompiler.java
 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/AbstractJavaCompiler.java
similarity index 88%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/AbstractJavaCompiler.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/AbstractJavaCompiler.java
index 3d8600b..069b803 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/compilers/AbstractJavaCompiler.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/AbstractJavaCompiler.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
 
-import org.apache.commons.jci2.problems.CompilationProblemHandler;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
+import org.apache.commons.jci2.core.problems.CompilationProblemHandler;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 
 
 /**
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/CompilationResult.java 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/CompilationResult.java
similarity index 95%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/CompilationResult.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/CompilationResult.java
index 4695dfc..4fc0da7 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/compilers/CompilationResult.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/CompilationResult.java
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
 
 import java.util.ArrayList;
 import java.util.Collection;
-import org.apache.commons.jci2.problems.CompilationProblem;
+
+import org.apache.commons.jci2.core.problems.CompilationProblem;
 
 /**
  * A CompilationResult represents the result of a compilation.
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompiler.java 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompiler.java
similarity index 93%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/JavaCompiler.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompiler.java
index 32687c5..76f8cd1 100644
--- a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompiler.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompiler.java
@@ -15,11 +15,11 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
 
-import org.apache.commons.jci2.problems.CompilationProblemHandler;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
+import org.apache.commons.jci2.core.problems.CompilationProblemHandler;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 
 
 /**
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerFactory.java 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerFactory.java
similarity index 85%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerFactory.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerFactory.java
index 9b5d623..b558ddf 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerFactory.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerFactory.java
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
 
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 
 
 /**
@@ -52,7 +53,7 @@ public final class JavaCompilerFactory {
      * Tries to guess the class name by convention. So for compilers
      * following the naming convention
      *
-     *   org.apache.commons.jci2.compilers.SomeJavaCompiler
+     *   org.apache.commons.jci2.core.core.compilers.SomeJavaCompiler
      *
      * you can use the short-hands "some"/"Some"/"SOME". Otherwise
      * you have to provide the full class name. The compiler is
@@ -65,7 +66,9 @@ public final class JavaCompilerFactory {
 
         final String className;
         if (pHint.indexOf('.') < 0) {
-            className = "org.apache.commons.jci2.compilers." + 
ConversionUtils.toJavaCasing(pHint) + "JavaCompiler";
+            final String javaCasing = ConversionUtils.toJavaCasing(pHint);
+            className = "org.apache.commons.jci2.compiler." + 
javaCasing.toLowerCase(Locale.ROOT) + "." + javaCasing
+                    + "JavaCompiler";
         } else {
             className = pHint;
         }
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerSettings.java
 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerSettings.java
similarity index 98%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerSettings.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerSettings.java
index 64b2ed6..a3987ed 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/compilers/JavaCompilerSettings.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/JavaCompilerSettings.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
 
 
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/compilers/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/compiler/package-info.java
similarity index 94%
rename from 
core/src/main/java/org/apache/commons/jci2/compilers/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/compiler/package-info.java
index 901eb80..b052ea6 100644
--- a/core/src/main/java/org/apache/commons/jci2/compilers/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/compiler/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Interfaces and abstract classes for the compiler abstraction itself.
  */
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compiler;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/listeners/CompilingListener.java 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/CompilingListener.java
similarity index 89%
rename from 
core/src/main/java/org/apache/commons/jci2/listeners/CompilingListener.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/listeners/CompilingListener.java
index 6bd9bdc..8198e53 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/listeners/CompilingListener.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/CompilingListener.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.core.listeners;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.jci2.compilers.CompilationResult;
-import org.apache.commons.jci2.compilers.JavaCompiler;
-import org.apache.commons.jci2.compilers.JavaCompilerFactory;
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.FileResourceReader;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.stores.TransactionalResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compiler.JavaCompilerFactory;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.FileResourceReader;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.stores.TransactionalResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/listeners/FileChangeListener.java 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/FileChangeListener.java
similarity index 90%
rename from 
core/src/main/java/org/apache/commons/jci2/listeners/FileChangeListener.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/listeners/FileChangeListener.java
index 395c2e4..21991ab 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/listeners/FileChangeListener.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/FileChangeListener.java
@@ -15,11 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.core.listeners;
 
 import java.io.File;
 
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
+import 
org.apache.commons.jci2.fam.listeners.AbstractFilesystemAlterationListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 
 /**
  * The most simple implemenation of an FilesystemAlterationListener.
diff --git 
a/core/src/main/java/org/apache/commons/jci2/listeners/ReloadNotificationListener.java
 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadNotificationListener.java
similarity index 95%
rename from 
core/src/main/java/org/apache/commons/jci2/listeners/ReloadNotificationListener.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadNotificationListener.java
index c3ee4d0..793172c 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/listeners/ReloadNotificationListener.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadNotificationListener.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.core.listeners;
 
 /**
  * Classes implementing this interface can get notified by ReloadingListeners
diff --git 
a/core/src/main/java/org/apache/commons/jci2/listeners/ReloadingListener.java 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
similarity index 91%
rename from 
core/src/main/java/org/apache/commons/jci2/listeners/ReloadingListener.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
index b6ae0c5..7cfde22 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/listeners/ReloadingListener.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/ReloadingListener.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.core.listeners;
 
 import java.io.File;
 import java.io.FileInputStream;
@@ -24,12 +24,13 @@ import java.util.HashSet;
 import java.util.Set;
 
 import org.apache.commons.io.IOUtils;
-import org.apache.commons.jci2.ReloadingClassLoader;
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.stores.Transactional;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.ReloadingClassLoader;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.stores.Transactional;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
+import 
org.apache.commons.jci2.fam.listeners.AbstractFilesystemAlterationListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/listeners/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/package-info.java
similarity index 94%
rename from 
core/src/main/java/org/apache/commons/jci2/listeners/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/listeners/package-info.java
index 7c17a9f..195e50d 100644
--- a/core/src/main/java/org/apache/commons/jci2/listeners/package-info.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/listeners/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Special FAM listeners for just collecting FAM statistics, to compilation or 
class reloading.
  */
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.core.listeners;
diff --git a/core/src/main/java/org/apache/commons/jci2/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/package-info.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/jci2/package-info.java
rename to core/src/main/java/org/apache/commons/jci2/core/package-info.java
index 18d3e11..3aa964e 100644
--- a/core/src/main/java/org/apache/commons/jci2/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/package-info.java
@@ -17,4 +17,4 @@
 
 /**
  */
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/problems/CompilationProblem.java 
b/core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblem.java
similarity index 97%
rename from 
core/src/main/java/org/apache/commons/jci2/problems/CompilationProblem.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblem.java
index 40c91ac..23fc946 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/problems/CompilationProblem.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblem.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.problems;
+package org.apache.commons.jci2.core.problems;
 
 /**
  * An abstract definition of a compilation problem
diff --git 
a/core/src/main/java/org/apache/commons/jci2/problems/CompilationProblemHandler.java
 
b/core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblemHandler.java
similarity index 96%
rename from 
core/src/main/java/org/apache/commons/jci2/problems/CompilationProblemHandler.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblemHandler.java
index 6dfe01f..6523d84 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/problems/CompilationProblemHandler.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/problems/CompilationProblemHandler.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.problems;
+package org.apache.commons.jci2.core.problems;
 
 
 /**
diff --git 
a/core/src/main/java/org/apache/commons/jci2/problems/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/problems/package-info.java
similarity index 94%
rename from 
core/src/main/java/org/apache/commons/jci2/problems/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/problems/package-info.java
index d2f0ef0..0b87917 100644
--- a/core/src/main/java/org/apache/commons/jci2/problems/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/problems/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Compilation problems and related.
  */
-package org.apache.commons.jci2.problems;
\ No newline at end of file
+package org.apache.commons.jci2.core.problems;
\ No newline at end of file
diff --git 
a/core/src/main/java/org/apache/commons/jci2/readers/FileResourceReader.java 
b/core/src/main/java/org/apache/commons/jci2/core/readers/FileResourceReader.java
similarity index 97%
rename from 
core/src/main/java/org/apache/commons/jci2/readers/FileResourceReader.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/readers/FileResourceReader.java
index 899a0c1..fbfec12 100644
--- a/core/src/main/java/org/apache/commons/jci2/readers/FileResourceReader.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/readers/FileResourceReader.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.readers;
+package org.apache.commons.jci2.core.readers;
 
 import java.io.File;
 import java.util.ArrayList;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/readers/MemoryResourceReader.java 
b/core/src/main/java/org/apache/commons/jci2/core/readers/MemoryResourceReader.java
similarity index 97%
rename from 
core/src/main/java/org/apache/commons/jci2/readers/MemoryResourceReader.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/readers/MemoryResourceReader.java
index 8288cae..7b24738 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/readers/MemoryResourceReader.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/readers/MemoryResourceReader.java
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.readers;
+package org.apache.commons.jci2.core.readers;
 
-import java.util.Map;
 import java.util.HashMap;
+import java.util.Map;
 
 /**
  * A memory based reader to compile from memory
diff --git 
a/core/src/main/java/org/apache/commons/jci2/readers/ResourceReader.java 
b/core/src/main/java/org/apache/commons/jci2/core/readers/ResourceReader.java
similarity index 95%
rename from 
core/src/main/java/org/apache/commons/jci2/readers/ResourceReader.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/readers/ResourceReader.java
index ceac362..8f45e83 100644
--- a/core/src/main/java/org/apache/commons/jci2/readers/ResourceReader.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/readers/ResourceReader.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.readers;
+package org.apache.commons.jci2.core.readers;
 
 /**
  * A ResourceReader provide acces to resource like e.g. source code
diff --git 
a/core/src/main/java/org/apache/commons/jci2/readers/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/readers/package-info.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/jci2/readers/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/readers/package-info.java
index 321b26e..093ff13 100644
--- a/core/src/main/java/org/apache/commons/jci2/readers/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/readers/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Readers to read resources from.
  */
-package org.apache.commons.jci2.readers;
+package org.apache.commons.jci2.core.readers;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/FileResourceStore.java 
b/core/src/main/java/org/apache/commons/jci2/core/stores/FileResourceStore.java
similarity index 98%
rename from 
core/src/main/java/org/apache/commons/jci2/stores/FileResourceStore.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/FileResourceStore.java
index 18b4d16..774cb3e 100644
--- a/core/src/main/java/org/apache/commons/jci2/stores/FileResourceStore.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/stores/FileResourceStore.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
 import java.io.File;
 import java.io.FileInputStream;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/MemoryResourceStore.java 
b/core/src/main/java/org/apache/commons/jci2/core/stores/MemoryResourceStore.java
similarity index 98%
rename from 
core/src/main/java/org/apache/commons/jci2/stores/MemoryResourceStore.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/MemoryResourceStore.java
index 9d0e901..b2f3e48 100644
--- a/core/src/main/java/org/apache/commons/jci2/stores/MemoryResourceStore.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/stores/MemoryResourceStore.java
@@ -15,12 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/ResourceStore.java 
b/core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStore.java
similarity index 96%
rename from core/src/main/java/org/apache/commons/jci2/stores/ResourceStore.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStore.java
index fa3b7b7..07a80ad 100644
--- a/core/src/main/java/org/apache/commons/jci2/stores/ResourceStore.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStore.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
 /**
  * A Store is where the compilers are storing the results
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/ResourceStoreClassLoader.java
 
b/core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStoreClassLoader.java
similarity index 96%
rename from 
core/src/main/java/org/apache/commons/jci2/stores/ResourceStoreClassLoader.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStoreClassLoader.java
index ebba2a0..02294be 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/stores/ResourceStoreClassLoader.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/stores/ResourceStoreClassLoader.java
@@ -14,9 +14,9 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/Transactional.java 
b/core/src/main/java/org/apache/commons/jci2/core/stores/Transactional.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/jci2/stores/Transactional.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/Transactional.java
index bba25e1..3eb4864 100644
--- a/core/src/main/java/org/apache/commons/jci2/stores/Transactional.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/stores/Transactional.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
 /**
  * Receive start/stop events
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/TransactionalResourceStore.java
 
b/core/src/main/java/org/apache/commons/jci2/core/stores/TransactionalResourceStore.java
similarity index 97%
rename from 
core/src/main/java/org/apache/commons/jci2/stores/TransactionalResourceStore.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/TransactionalResourceStore.java
index 4273a92..247f8e1 100644
--- 
a/core/src/main/java/org/apache/commons/jci2/stores/TransactionalResourceStore.java
+++ 
b/core/src/main/java/org/apache/commons/jci2/core/stores/TransactionalResourceStore.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
 
 /**
diff --git 
a/core/src/main/java/org/apache/commons/jci2/stores/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/stores/package-info.java
similarity index 95%
rename from core/src/main/java/org/apache/commons/jci2/stores/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/stores/package-info.java
index c2e1188..11312b7 100644
--- a/core/src/main/java/org/apache/commons/jci2/stores/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/stores/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Stores to store the compilation results in.
  */
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
diff --git 
a/core/src/main/java/org/apache/commons/jci2/utils/ConversionUtils.java 
b/core/src/main/java/org/apache/commons/jci2/core/utils/ConversionUtils.java
similarity index 98%
rename from 
core/src/main/java/org/apache/commons/jci2/utils/ConversionUtils.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/utils/ConversionUtils.java
index 679ed35..3d246fd 100644
--- a/core/src/main/java/org/apache/commons/jci2/utils/ConversionUtils.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/utils/ConversionUtils.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.utils;
+package org.apache.commons.jci2.core.utils;
 
 import java.io.File;
 import java.util.Locale;
diff --git a/core/src/main/java/org/apache/commons/jci2/utils/package-info.java 
b/core/src/main/java/org/apache/commons/jci2/core/utils/package-info.java
similarity index 94%
rename from core/src/main/java/org/apache/commons/jci2/utils/package-info.java
rename to 
core/src/main/java/org/apache/commons/jci2/core/utils/package-info.java
index b4c8069..7a0a6cd 100644
--- a/core/src/main/java/org/apache/commons/jci2/utils/package-info.java
+++ b/core/src/main/java/org/apache/commons/jci2/core/utils/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Utilities.
  */
-package org.apache.commons.jci2.utils;
+package org.apache.commons.jci2.core.utils;
diff --git a/core/src/test/java/org/apache/commons/jci2/AbstractTestCase.java 
b/core/src/test/java/org/apache/commons/jci2/core/AbstractTestCase.java
similarity index 98%
rename from core/src/test/java/org/apache/commons/jci2/AbstractTestCase.java
rename to core/src/test/java/org/apache/commons/jci2/core/AbstractTestCase.java
index 3c2f735..658ad08 100644
--- a/core/src/test/java/org/apache/commons/jci2/AbstractTestCase.java
+++ b/core/src/test/java/org/apache/commons/jci2/core/AbstractTestCase.java
@@ -15,17 +15,19 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
-import junit.framework.TestCase;
+
 import org.apache.commons.io.FileUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import junit.framework.TestCase;
+
 /**
  *
  * @author tcurdt
diff --git 
a/core/src/test/java/org/apache/commons/jci2/CompilingClassLoaderTestCase.java 
b/core/src/test/java/org/apache/commons/jci2/core/CompilingClassLoaderTestCase.java
similarity index 91%
rename from 
core/src/test/java/org/apache/commons/jci2/CompilingClassLoaderTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/CompilingClassLoaderTestCase.java
index 4aa9674..f0ec374 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/CompilingClassLoaderTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/CompilingClassLoaderTestCase.java
@@ -15,23 +15,23 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
 
 import java.io.File;
 
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.jci2.classes.ExtendedDump;
-import org.apache.commons.jci2.classes.SimpleDump;
-import org.apache.commons.jci2.compilers.CompilationResult;
-import org.apache.commons.jci2.compilers.JavaCompiler;
-import org.apache.commons.jci2.compilers.JavaCompilerSettings;
-import org.apache.commons.jci2.listeners.CompilingListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationMonitor;
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.problems.CompilationProblemHandler;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.classes.ExtendedDump;
+import org.apache.commons.jci2.core.classes.SimpleDump;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.listeners.CompilingListener;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblemHandler;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.ResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationMonitor;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderRemoveTestCase.java
 
b/core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderRemoveTestCase.java
similarity index 98%
rename from 
core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderRemoveTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderRemoveTestCase.java
index f6ad478..53cecdc 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderRemoveTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderRemoveTestCase.java
@@ -15,15 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
 
-import junit.framework.TestCase;
+import org.apache.commons.jci2.core.classes.SimpleDump;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import org.apache.commons.jci2.classes.SimpleDump;
-import org.apache.commons.jci2.stores.ResourceStore;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
+import junit.framework.TestCase;
 
 /**
  * Test ReloadingClassLoader's <code>removeResourceStore({@link 
ResourceStore})</code>
diff --git 
a/core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderTestCase.java 
b/core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderTestCase.java
similarity index 93%
rename from 
core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderTestCase.java
index 9cf781d..98a9f08 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/ReloadingClassLoaderTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/ReloadingClassLoaderTestCase.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2;
+package org.apache.commons.jci2.core;
 
 import java.io.File;
 
-import org.apache.commons.jci2.classes.ExtendedDump;
-import org.apache.commons.jci2.classes.SimpleDump;
-import org.apache.commons.jci2.listeners.ReloadingListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationMonitor;
+import org.apache.commons.jci2.core.classes.ExtendedDump;
+import org.apache.commons.jci2.core.classes.SimpleDump;
+import org.apache.commons.jci2.core.listeners.ReloadingListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationMonitor;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -152,9 +152,9 @@ public final class ReloadingClassLoaderTestCase extends 
AbstractTestCase {
 
     public void testDelegation() {
         classloader.clearAssertionStatus();
-        
classloader.setClassAssertionStatus("org.apache.commons.jci2.ReloadingClassLoader",
 true);
+        
classloader.setClassAssertionStatus("org.apache.commons.jci2.core.core.ReloadingClassLoader",
 true);
         classloader.setDefaultAssertionStatus(false);
-        classloader.setPackageAssertionStatus("org.apache.commons.jci2", true);
+        
classloader.setPackageAssertionStatus("org.apache.commons.jci2.core.core", 
true);
         // FIXME: compare with delegation
     }
 
diff --git 
a/core/src/test/java/org/apache/commons/jci2/classes/ExtendedDump.java 
b/core/src/test/java/org/apache/commons/jci2/core/classes/ExtendedDump.java
similarity index 98%
rename from core/src/test/java/org/apache/commons/jci2/classes/ExtendedDump.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/classes/ExtendedDump.java
index 6f3688f..9708d4a 100644
--- a/core/src/test/java/org/apache/commons/jci2/classes/ExtendedDump.java
+++ b/core/src/test/java/org/apache/commons/jci2/core/classes/ExtendedDump.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.classes;
+package org.apache.commons.jci2.core.classes;
 
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.Label;
diff --git a/core/src/test/java/org/apache/commons/jci2/classes/SimpleDump.java 
b/core/src/test/java/org/apache/commons/jci2/core/classes/SimpleDump.java
similarity index 98%
rename from core/src/test/java/org/apache/commons/jci2/classes/SimpleDump.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/classes/SimpleDump.java
index 43afad7..befc669 100644
--- a/core/src/test/java/org/apache/commons/jci2/classes/SimpleDump.java
+++ b/core/src/test/java/org/apache/commons/jci2/core/classes/SimpleDump.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.classes;
+package org.apache.commons.jci2.core.classes;
 
 import org.objectweb.asm.ClassWriter;
 import org.objectweb.asm.Label;
diff --git 
a/core/src/test/java/org/apache/commons/jci2/compilers/AbstractCompilerTestCase.java
 
b/core/src/test/java/org/apache/commons/jci2/core/compilers/AbstractCompilerTestCase.java
similarity index 96%
rename from 
core/src/test/java/org/apache/commons/jci2/compilers/AbstractCompilerTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/compilers/AbstractCompilerTestCase.java
index 2a8da13..2b722b1 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/compilers/AbstractCompilerTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/compilers/AbstractCompilerTestCase.java
@@ -15,16 +15,20 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.compilers;
+package org.apache.commons.jci2.core.compilers;
 
 import java.util.HashMap;
 import java.util.Map;
 
-import junit.framework.TestCase;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compiler.JavaCompilerFactory;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
 
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
+import junit.framework.TestCase;
 
 /**
  * Providing convenience methods for JavaCompiler TestCases
diff --git 
a/core/src/test/java/org/apache/commons/jci2/readers/ResourceReaderTestCase.java
 
b/core/src/test/java/org/apache/commons/jci2/core/readers/ResourceReaderTestCase.java
similarity index 94%
rename from 
core/src/test/java/org/apache/commons/jci2/readers/ResourceReaderTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/readers/ResourceReaderTestCase.java
index 22dc9f5..d1aceb9 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/readers/ResourceReaderTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/readers/ResourceReaderTestCase.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.readers;
+package org.apache.commons.jci2.core.readers;
 
-import org.apache.commons.jci2.AbstractTestCase;
+import org.apache.commons.jci2.core.AbstractTestCase;
 
 /**
  *
diff --git 
a/core/src/test/java/org/apache/commons/jci2/stores/ResourceStoreTestCase.java 
b/core/src/test/java/org/apache/commons/jci2/core/stores/ResourceStoreTestCase.java
similarity index 96%
rename from 
core/src/test/java/org/apache/commons/jci2/stores/ResourceStoreTestCase.java
rename to 
core/src/test/java/org/apache/commons/jci2/core/stores/ResourceStoreTestCase.java
index 3ca49fc..6321364 100644
--- 
a/core/src/test/java/org/apache/commons/jci2/stores/ResourceStoreTestCase.java
+++ 
b/core/src/test/java/org/apache/commons/jci2/core/stores/ResourceStoreTestCase.java
@@ -15,9 +15,9 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.stores;
+package org.apache.commons.jci2.core.stores;
 
-import org.apache.commons.jci2.AbstractTestCase;
+import org.apache.commons.jci2.core.AbstractTestCase;
 import org.apache.commons.lang3.ArrayUtils;
 
 /**
diff --git 
a/examples/src/main/java/org/apache/commons/jci2/examples/commandline/CommandlineCompiler.java
 
b/examples/src/main/java/org/apache/commons/jci2/examples/commandline/CommandlineCompiler.java
index 7e02780..f10e292 100644
--- 
a/examples/src/main/java/org/apache/commons/jci2/examples/commandline/CommandlineCompiler.java
+++ 
b/examples/src/main/java/org/apache/commons/jci2/examples/commandline/CommandlineCompiler.java
@@ -28,16 +28,16 @@ import org.apache.commons.cli.GnuParser;
 import org.apache.commons.cli.Option;
 import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
-import org.apache.commons.jci2.compilers.CompilationResult;
-import org.apache.commons.jci2.compilers.JavaCompiler;
-import org.apache.commons.jci2.compilers.JavaCompilerFactory;
-import org.apache.commons.jci2.compilers.JavaCompilerSettings;
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.problems.CompilationProblemHandler;
-import org.apache.commons.jci2.readers.FileResourceReader;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.FileResourceStore;
-import org.apache.commons.jci2.stores.ResourceStore;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompiler;
+import org.apache.commons.jci2.core.compiler.JavaCompilerFactory;
+import org.apache.commons.jci2.core.compiler.JavaCompilerSettings;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.problems.CompilationProblemHandler;
+import org.apache.commons.jci2.core.readers.FileResourceReader;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.FileResourceStore;
+import org.apache.commons.jci2.core.stores.ResourceStore;
 
 /**
  * A simple front end to jci2 mimicking the javac command line
diff --git 
a/examples/src/main/java/org/apache/commons/jci2/examples/configuration/ConfigurationReloading.java
 
b/examples/src/main/java/org/apache/commons/jci2/examples/configuration/ConfigurationReloading.java
index e8683dd..c2e08ab 100644
--- 
a/examples/src/main/java/org/apache/commons/jci2/examples/configuration/ConfigurationReloading.java
+++ 
b/examples/src/main/java/org/apache/commons/jci2/examples/configuration/ConfigurationReloading.java
@@ -25,10 +25,10 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Properties;
 
-import org.apache.commons.jci2.listeners.FileChangeListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationMonitor;
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
+import org.apache.commons.jci2.core.listeners.FileChangeListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationMonitor;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 
 /**
  *
diff --git 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspGenerator.java
 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspGenerator.java
index 4f1befc..0bbf3b4 100644
--- 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspGenerator.java
+++ 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspGenerator.java
@@ -26,7 +26,7 @@ import java.io.OutputStreamWriter;
 import java.io.Reader;
 import java.io.Writer;
 
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
 
 /**
  * @author tcurdt
diff --git 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspReader.java
 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspReader.java
index cd7849c..a818942 100644
--- 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspReader.java
+++ 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/JspReader.java
@@ -19,7 +19,7 @@ package org.apache.commons.jci2.examples.serverpages;
 
 import java.util.Map;
 
-import org.apache.commons.jci2.readers.ResourceReader;
+import org.apache.commons.jci2.core.readers.ResourceReader;
 
 /**
  * @author tcurdt
diff --git 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/ServerPageServlet.java
 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/ServerPageServlet.java
index fb8c56f..5badafb 100644
--- 
a/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/ServerPageServlet.java
+++ 
b/examples/src/main/java/org/apache/commons/jci2/examples/serverpages/ServerPageServlet.java
@@ -20,7 +20,6 @@ package org.apache.commons.jci2.examples.serverpages;
 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
-import java.lang.String;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.Map;
@@ -31,17 +30,17 @@ import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.jci2.ReloadingClassLoader;
-import org.apache.commons.jci2.compilers.CompilationResult;
-import org.apache.commons.jci2.compilers.JavaCompilerFactory;
-import org.apache.commons.jci2.listeners.CompilingListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationMonitor;
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
-import org.apache.commons.jci2.problems.CompilationProblem;
-import org.apache.commons.jci2.readers.ResourceReader;
-import org.apache.commons.jci2.stores.MemoryResourceStore;
-import org.apache.commons.jci2.stores.TransactionalResourceStore;
-import org.apache.commons.jci2.utils.ConversionUtils;
+import org.apache.commons.jci2.core.ReloadingClassLoader;
+import org.apache.commons.jci2.core.compiler.CompilationResult;
+import org.apache.commons.jci2.core.compiler.JavaCompilerFactory;
+import org.apache.commons.jci2.core.listeners.CompilingListener;
+import org.apache.commons.jci2.core.problems.CompilationProblem;
+import org.apache.commons.jci2.core.readers.ResourceReader;
+import org.apache.commons.jci2.core.stores.MemoryResourceStore;
+import org.apache.commons.jci2.core.stores.TransactionalResourceStore;
+import org.apache.commons.jci2.core.utils.ConversionUtils;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationMonitor;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 
 
 /**
diff --git a/examples/src/main/webapp/WEB-INF/web.xml 
b/examples/src/main/webapp/WEB-INF/web.xml
index 708bfa2..a4d8f84 100644
--- a/examples/src/main/webapp/WEB-INF/web.xml
+++ b/examples/src/main/webapp/WEB-INF/web.xml
@@ -19,7 +19,7 @@
 --><web-app xmlns="http://java.sun.com/xml/ns/j2ee"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee          
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"; version="2.4">
     <servlet>
         <servlet-name>serverpages</servlet-name>
-        
<servlet-class>org.apache.commons.jci2.examples.serverpages.ServerPageServlet</servlet-class>
+        
<servlet-class>org.apache.commons.jci2.core.core.examples.serverpages.ServerPageServlet</servlet-class>
         <init-param>
             <param-name>serverpagesDir</param-name>
             <param-value>/WEB-INF/jsp</param-value>
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/listeners/AbstractFilesystemAlterationListener.java
 
b/fam/src/main/java/org/apache/commons/jci2/fam/listeners/AbstractFilesystemAlterationListener.java
similarity index 96%
rename from 
fam/src/main/java/org/apache/commons/jci2/listeners/AbstractFilesystemAlterationListener.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/listeners/AbstractFilesystemAlterationListener.java
index b324c99..af70d36 100644
--- 
a/fam/src/main/java/org/apache/commons/jci2/listeners/AbstractFilesystemAlterationListener.java
+++ 
b/fam/src/main/java/org/apache/commons/jci2/fam/listeners/AbstractFilesystemAlterationListener.java
@@ -15,14 +15,14 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.listeners;
+package org.apache.commons.jci2.fam.listeners;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.Collection;
 
-import org.apache.commons.jci2.monitor.FilesystemAlterationListener;
-import org.apache.commons.jci2.monitor.FilesystemAlterationObserver;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationListener;
+import org.apache.commons.jci2.fam.monitor.FilesystemAlterationObserver;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationListener.java
 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationListener.java
similarity index 97%
rename from 
fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationListener.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationListener.java
index 71acb1b..a21b706 100644
--- 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationListener.java
+++ 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationListener.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
 
 import java.io.File;
 
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitor.java
 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitor.java
similarity index 98%
rename from 
fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitor.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitor.java
index 6ad348b..8d62e7f 100644
--- 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitor.java
+++ 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitor.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
 
 import java.io.File;
 import java.util.Collections;
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserver.java
 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserver.java
similarity index 96%
rename from 
fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserver.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserver.java
index d3af07e..c9740b5 100644
--- 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserver.java
+++ 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserver.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
 
 import java.io.File;
 
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserverImpl.java
 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserverImpl.java
similarity index 99%
rename from 
fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserverImpl.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserverImpl.java
index 9f51cc5..fbe14fd 100644
--- 
a/fam/src/main/java/org/apache/commons/jci2/monitor/FilesystemAlterationObserverImpl.java
+++ 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationObserverImpl.java
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
 
 import java.io.File;
 import java.util.HashMap;
diff --git 
a/fam/src/main/java/org/apache/commons/jci2/monitor/package-info.java 
b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/package-info.java
similarity index 95%
rename from fam/src/main/java/org/apache/commons/jci2/monitor/package-info.java
rename to 
fam/src/main/java/org/apache/commons/jci2/fam/monitor/package-info.java
index c8369cd..2e24357 100644
--- a/fam/src/main/java/org/apache/commons/jci2/monitor/package-info.java
+++ b/fam/src/main/java/org/apache/commons/jci2/fam/monitor/package-info.java
@@ -18,4 +18,4 @@
 /**
  * Monitor to keep track of changes on the local file system.
  */
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
diff --git 
a/fam/src/test/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitorTestCase.java
 
b/fam/src/test/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitorTestCase.java
similarity index 98%
rename from 
fam/src/test/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitorTestCase.java
rename to 
fam/src/test/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitorTestCase.java
index 628f5cc..e31518d 100644
--- 
a/fam/src/test/java/org/apache/commons/jci2/monitor/FilesystemAlterationMonitorTestCase.java
+++ 
b/fam/src/test/java/org/apache/commons/jci2/fam/monitor/FilesystemAlterationMonitorTestCase.java
@@ -15,20 +15,20 @@
  * limitations under the License.
  */
 
-package org.apache.commons.jci2.monitor;
+package org.apache.commons.jci2.fam.monitor;
 
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.IOException;
 
-import junit.framework.TestCase;
-
 import org.apache.commons.io.FileUtils;
-import org.apache.commons.jci2.listeners.AbstractFilesystemAlterationListener;
+import 
org.apache.commons.jci2.fam.listeners.AbstractFilesystemAlterationListener;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
+import junit.framework.TestCase;
+
 
 /**
  *
diff --git a/pom.xml b/pom.xml
index 2bba7cd..ca5b56d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -22,7 +22,7 @@
     <parent>
         <groupId>org.apache.commons</groupId>
         <artifactId>commons-parent</artifactId>
-        <version>58</version>
+        <version>59</version>
     </parent>
     <packaging>pom</packaging>
     <artifactId>commons-jci2</artifactId>
@@ -239,8 +239,9 @@
             <dependency>
                 <groupId>org.codehaus.groovy</groupId>
                 <artifactId>groovy-all</artifactId>
-                <!-- 1.7 series is obsolete. 2.4.21 is the last of that series 
-->
-                <version>2.4.21</version>
+                <version>3.0.18</version>
+                <type>pom</type>
+                <scope>import</scope>
             </dependency>
             <!-- compiler-janino -->
             <dependency>
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 204816c..9c1277d 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -103,8 +103,8 @@ The <action> type attribute can be add,update,fix,remove.
       <action type="update" dev="ggregory" due-to="Dependabot">
         Bump ecj from 4.2.2 to 4.6.1 #16.
       </action>
-      <action type="update" dev="ggregory" due-to="Dependabot">
-        Bump groovy-all from 1.7.11 to 2.4.21 #17.
+      <action type="update" dev="ggregory" due-to="Dependabot, Gary Gregory">
+        Bump Groovy from 1 to 3 #17.
       </action>
       <action type="update" dev="ggregory" due-to="Dependabot">
         Bump commons-cli from 1.2 to 1.5.0 #29.
@@ -113,7 +113,7 @@ The <action> type attribute can be add,update,fix,remove.
         Bump taglist-maven-plugin from 2.2 to 3.0.0 #28.
       </action>
       <action type="update" dev="ggregory" due-to="Dependabot">
-        Bump commons-parent from 56 to 58 #36, #37.
+        Bump commons-parent from 56 to 59 #36, #37.
       </action>
     </release>
   </body>


Reply via email to