Issue 552: (step 1) move core code to its own subdirectory

git-svn-id: https://google-guice.googlecode.com/svn/trunk@1300 d779f126-a31b-0410-b53b-1d3aecad763e
diff --git a/build.properties b/build.properties
index dbab591..57a175e 100644
--- a/build.properties
+++ b/build.properties
@@ -1,6 +1,6 @@
 lib.dir=lib
-src.dir=src
-test.dir=test
+src.dir=core/src
+test.dir=core/test
 servlet.src.dir=extensions/servlet/src
 spring.src.dir=extensions/spring/src
 assistedinject.src.dir=extensions/assistedinject/src
diff --git a/build.xml b/build.xml
index fae83e4..47d287b 100644
--- a/build.xml
+++ b/build.xml
@@ -107,7 +107,7 @@
              docletpath="lib/build/doclava.jar"
              bootclasspath="${javahome}/jre/lib/rt.jar"
              maxmemory="512M">
-      <fileset dir="src" defaultexcludes="yes">
+      <fileset dir="${src.dir}" defaultexcludes="yes">
         <include name="com/google/**"/>
         <exclude name="com/google/inject/internal/**"/>
       </fileset>
diff --git a/common.xml b/common.xml
index fa27d0e..8cc434d 100644
--- a/common.xml
+++ b/common.xml
@@ -105,7 +105,7 @@
       description="Create a .jar file with sources">
     <mkdir dir="${build.dir}"/>
     <zip destfile="${build.dir}/${ant.project.name}-${version}-src.jar">
-      <fileset dir="src"/>
+      <fileset dir="${src.dir}"/>
     </zip>
   </target>
 
diff --git a/copy.sh b/copy.sh
index 80bb0e9..a3e2202 100755
--- a/copy.sh
+++ b/copy.sh
@@ -3,8 +3,8 @@
 
 client=/usr/local/google/clients/collect/google3
 
-srcdir=src/com/google/inject/internal
-testdir=test/com/google/inject/internal
+srcdir=core/src/com/google/inject/internal
+testdir=core/test/com/google/inject/internal
 
 filter() {
   sed 's/com.google.common.base.internal/com.google.inject.internal/' | \
@@ -51,4 +51,4 @@
 copy $commonpath/collect/ForwardingMap.java $testdir
 copy $commonpath/base/Preconditions.java $testdir
 
-chmod +w -R src test
+chmod +w -R $srcdir $testdir
diff --git a/src/com/google/inject/AbstractModule.java b/core/src/com/google/inject/AbstractModule.java
similarity index 100%
rename from src/com/google/inject/AbstractModule.java
rename to core/src/com/google/inject/AbstractModule.java
diff --git a/src/com/google/inject/Binder.java b/core/src/com/google/inject/Binder.java
similarity index 100%
rename from src/com/google/inject/Binder.java
rename to core/src/com/google/inject/Binder.java
diff --git a/src/com/google/inject/Binding.java b/core/src/com/google/inject/Binding.java
similarity index 100%
rename from src/com/google/inject/Binding.java
rename to core/src/com/google/inject/Binding.java
diff --git a/src/com/google/inject/BindingAnnotation.java b/core/src/com/google/inject/BindingAnnotation.java
similarity index 100%
rename from src/com/google/inject/BindingAnnotation.java
rename to core/src/com/google/inject/BindingAnnotation.java
diff --git a/src/com/google/inject/ConfigurationException.java b/core/src/com/google/inject/ConfigurationException.java
similarity index 100%
rename from src/com/google/inject/ConfigurationException.java
rename to core/src/com/google/inject/ConfigurationException.java
diff --git a/src/com/google/inject/CreationException.java b/core/src/com/google/inject/CreationException.java
similarity index 100%
rename from src/com/google/inject/CreationException.java
rename to core/src/com/google/inject/CreationException.java
diff --git a/src/com/google/inject/Exposed.java b/core/src/com/google/inject/Exposed.java
similarity index 100%
rename from src/com/google/inject/Exposed.java
rename to core/src/com/google/inject/Exposed.java
diff --git a/src/com/google/inject/Guice.java b/core/src/com/google/inject/Guice.java
similarity index 100%
rename from src/com/google/inject/Guice.java
rename to core/src/com/google/inject/Guice.java
diff --git a/src/com/google/inject/ImplementedBy.java b/core/src/com/google/inject/ImplementedBy.java
similarity index 100%
rename from src/com/google/inject/ImplementedBy.java
rename to core/src/com/google/inject/ImplementedBy.java
diff --git a/src/com/google/inject/Inject.java b/core/src/com/google/inject/Inject.java
similarity index 100%
rename from src/com/google/inject/Inject.java
rename to core/src/com/google/inject/Inject.java
diff --git a/src/com/google/inject/Injector.java b/core/src/com/google/inject/Injector.java
similarity index 100%
rename from src/com/google/inject/Injector.java
rename to core/src/com/google/inject/Injector.java
diff --git a/src/com/google/inject/InjectorBuilder.java b/core/src/com/google/inject/InjectorBuilder.java
similarity index 100%
rename from src/com/google/inject/InjectorBuilder.java
rename to core/src/com/google/inject/InjectorBuilder.java
diff --git a/src/com/google/inject/Key.java b/core/src/com/google/inject/Key.java
similarity index 100%
rename from src/com/google/inject/Key.java
rename to core/src/com/google/inject/Key.java
diff --git a/src/com/google/inject/MembersInjector.java b/core/src/com/google/inject/MembersInjector.java
similarity index 100%
rename from src/com/google/inject/MembersInjector.java
rename to core/src/com/google/inject/MembersInjector.java
diff --git a/src/com/google/inject/Module.java b/core/src/com/google/inject/Module.java
similarity index 100%
rename from src/com/google/inject/Module.java
rename to core/src/com/google/inject/Module.java
diff --git a/src/com/google/inject/OutOfScopeException.java b/core/src/com/google/inject/OutOfScopeException.java
similarity index 100%
rename from src/com/google/inject/OutOfScopeException.java
rename to core/src/com/google/inject/OutOfScopeException.java
diff --git a/src/com/google/inject/PrivateBinder.java b/core/src/com/google/inject/PrivateBinder.java
similarity index 100%
rename from src/com/google/inject/PrivateBinder.java
rename to core/src/com/google/inject/PrivateBinder.java
diff --git a/src/com/google/inject/PrivateModule.java b/core/src/com/google/inject/PrivateModule.java
similarity index 100%
rename from src/com/google/inject/PrivateModule.java
rename to core/src/com/google/inject/PrivateModule.java
diff --git a/src/com/google/inject/ProvidedBy.java b/core/src/com/google/inject/ProvidedBy.java
similarity index 100%
rename from src/com/google/inject/ProvidedBy.java
rename to core/src/com/google/inject/ProvidedBy.java
diff --git a/src/com/google/inject/Provider.java b/core/src/com/google/inject/Provider.java
similarity index 100%
rename from src/com/google/inject/Provider.java
rename to core/src/com/google/inject/Provider.java
diff --git a/src/com/google/inject/Provides.java b/core/src/com/google/inject/Provides.java
similarity index 100%
rename from src/com/google/inject/Provides.java
rename to core/src/com/google/inject/Provides.java
diff --git a/src/com/google/inject/ProvisionException.java b/core/src/com/google/inject/ProvisionException.java
similarity index 100%
rename from src/com/google/inject/ProvisionException.java
rename to core/src/com/google/inject/ProvisionException.java
diff --git a/src/com/google/inject/Scope.java b/core/src/com/google/inject/Scope.java
similarity index 100%
rename from src/com/google/inject/Scope.java
rename to core/src/com/google/inject/Scope.java
diff --git a/src/com/google/inject/ScopeAnnotation.java b/core/src/com/google/inject/ScopeAnnotation.java
similarity index 100%
rename from src/com/google/inject/ScopeAnnotation.java
rename to core/src/com/google/inject/ScopeAnnotation.java
diff --git a/src/com/google/inject/Scopes.java b/core/src/com/google/inject/Scopes.java
similarity index 100%
rename from src/com/google/inject/Scopes.java
rename to core/src/com/google/inject/Scopes.java
diff --git a/src/com/google/inject/Singleton.java b/core/src/com/google/inject/Singleton.java
similarity index 100%
rename from src/com/google/inject/Singleton.java
rename to core/src/com/google/inject/Singleton.java
diff --git a/src/com/google/inject/Stage.java b/core/src/com/google/inject/Stage.java
similarity index 100%
rename from src/com/google/inject/Stage.java
rename to core/src/com/google/inject/Stage.java
diff --git a/src/com/google/inject/TypeLiteral.java b/core/src/com/google/inject/TypeLiteral.java
similarity index 100%
rename from src/com/google/inject/TypeLiteral.java
rename to core/src/com/google/inject/TypeLiteral.java
diff --git a/src/com/google/inject/binder/AnnotatedBindingBuilder.java b/core/src/com/google/inject/binder/AnnotatedBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/AnnotatedBindingBuilder.java
rename to core/src/com/google/inject/binder/AnnotatedBindingBuilder.java
diff --git a/src/com/google/inject/binder/AnnotatedConstantBindingBuilder.java b/core/src/com/google/inject/binder/AnnotatedConstantBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/AnnotatedConstantBindingBuilder.java
rename to core/src/com/google/inject/binder/AnnotatedConstantBindingBuilder.java
diff --git a/src/com/google/inject/binder/AnnotatedElementBuilder.java b/core/src/com/google/inject/binder/AnnotatedElementBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/AnnotatedElementBuilder.java
rename to core/src/com/google/inject/binder/AnnotatedElementBuilder.java
diff --git a/src/com/google/inject/binder/ConstantBindingBuilder.java b/core/src/com/google/inject/binder/ConstantBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/ConstantBindingBuilder.java
rename to core/src/com/google/inject/binder/ConstantBindingBuilder.java
diff --git a/src/com/google/inject/binder/LinkedBindingBuilder.java b/core/src/com/google/inject/binder/LinkedBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/LinkedBindingBuilder.java
rename to core/src/com/google/inject/binder/LinkedBindingBuilder.java
diff --git a/src/com/google/inject/binder/ScopedBindingBuilder.java b/core/src/com/google/inject/binder/ScopedBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/binder/ScopedBindingBuilder.java
rename to core/src/com/google/inject/binder/ScopedBindingBuilder.java
diff --git a/src/com/google/inject/binder/package-info.java b/core/src/com/google/inject/binder/package-info.java
similarity index 100%
rename from src/com/google/inject/binder/package-info.java
rename to core/src/com/google/inject/binder/package-info.java
diff --git a/src/com/google/inject/internal/AbstractBindingBuilder.java b/core/src/com/google/inject/internal/AbstractBindingBuilder.java
similarity index 100%
rename from src/com/google/inject/internal/AbstractBindingBuilder.java
rename to core/src/com/google/inject/internal/AbstractBindingBuilder.java
diff --git a/src/com/google/inject/internal/AbstractProcessor.java b/core/src/com/google/inject/internal/AbstractProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/AbstractProcessor.java
rename to core/src/com/google/inject/internal/AbstractProcessor.java
diff --git a/src/com/google/inject/internal/Annotations.java b/core/src/com/google/inject/internal/Annotations.java
similarity index 100%
rename from src/com/google/inject/internal/Annotations.java
rename to core/src/com/google/inject/internal/Annotations.java
diff --git a/src/com/google/inject/internal/BindingBuilder.java b/core/src/com/google/inject/internal/BindingBuilder.java
similarity index 100%
rename from src/com/google/inject/internal/BindingBuilder.java
rename to core/src/com/google/inject/internal/BindingBuilder.java
diff --git a/src/com/google/inject/internal/BindingImpl.java b/core/src/com/google/inject/internal/BindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/BindingImpl.java
rename to core/src/com/google/inject/internal/BindingImpl.java
diff --git a/src/com/google/inject/internal/BindingProcessor.java b/core/src/com/google/inject/internal/BindingProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/BindingProcessor.java
rename to core/src/com/google/inject/internal/BindingProcessor.java
diff --git a/src/com/google/inject/internal/BoundProviderFactory.java b/core/src/com/google/inject/internal/BoundProviderFactory.java
similarity index 100%
rename from src/com/google/inject/internal/BoundProviderFactory.java
rename to core/src/com/google/inject/internal/BoundProviderFactory.java
diff --git a/src/com/google/inject/internal/BytecodeGen.java b/core/src/com/google/inject/internal/BytecodeGen.java
similarity index 100%
rename from src/com/google/inject/internal/BytecodeGen.java
rename to core/src/com/google/inject/internal/BytecodeGen.java
diff --git a/src/com/google/inject/internal/CircularDependencyProxy.java b/core/src/com/google/inject/internal/CircularDependencyProxy.java
similarity index 100%
rename from src/com/google/inject/internal/CircularDependencyProxy.java
rename to core/src/com/google/inject/internal/CircularDependencyProxy.java
diff --git a/src/com/google/inject/internal/ConstantBindingBuilderImpl.java b/core/src/com/google/inject/internal/ConstantBindingBuilderImpl.java
similarity index 100%
rename from src/com/google/inject/internal/ConstantBindingBuilderImpl.java
rename to core/src/com/google/inject/internal/ConstantBindingBuilderImpl.java
diff --git a/src/com/google/inject/internal/ConstantFactory.java b/core/src/com/google/inject/internal/ConstantFactory.java
similarity index 100%
rename from src/com/google/inject/internal/ConstantFactory.java
rename to core/src/com/google/inject/internal/ConstantFactory.java
diff --git a/src/com/google/inject/internal/ConstructionContext.java b/core/src/com/google/inject/internal/ConstructionContext.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructionContext.java
rename to core/src/com/google/inject/internal/ConstructionContext.java
diff --git a/src/com/google/inject/internal/ConstructionProxy.java b/core/src/com/google/inject/internal/ConstructionProxy.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructionProxy.java
rename to core/src/com/google/inject/internal/ConstructionProxy.java
diff --git a/src/com/google/inject/internal/ConstructionProxyFactory.java b/core/src/com/google/inject/internal/ConstructionProxyFactory.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructionProxyFactory.java
rename to core/src/com/google/inject/internal/ConstructionProxyFactory.java
diff --git a/src/com/google/inject/internal/ConstructorBindingImpl.java b/core/src/com/google/inject/internal/ConstructorBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructorBindingImpl.java
rename to core/src/com/google/inject/internal/ConstructorBindingImpl.java
diff --git a/src/com/google/inject/internal/ConstructorInjector.java b/core/src/com/google/inject/internal/ConstructorInjector.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructorInjector.java
rename to core/src/com/google/inject/internal/ConstructorInjector.java
diff --git a/src/com/google/inject/internal/ConstructorInjectorStore.java b/core/src/com/google/inject/internal/ConstructorInjectorStore.java
similarity index 100%
rename from src/com/google/inject/internal/ConstructorInjectorStore.java
rename to core/src/com/google/inject/internal/ConstructorInjectorStore.java
diff --git a/src/com/google/inject/internal/ContextualCallable.java b/core/src/com/google/inject/internal/ContextualCallable.java
similarity index 100%
rename from src/com/google/inject/internal/ContextualCallable.java
rename to core/src/com/google/inject/internal/ContextualCallable.java
diff --git a/src/com/google/inject/internal/DefaultConstructionProxyFactory.java b/core/src/com/google/inject/internal/DefaultConstructionProxyFactory.java
similarity index 100%
rename from src/com/google/inject/internal/DefaultConstructionProxyFactory.java
rename to core/src/com/google/inject/internal/DefaultConstructionProxyFactory.java
diff --git a/src/com/google/inject/internal/DeferredLookups.java b/core/src/com/google/inject/internal/DeferredLookups.java
similarity index 100%
rename from src/com/google/inject/internal/DeferredLookups.java
rename to core/src/com/google/inject/internal/DeferredLookups.java
diff --git a/src/com/google/inject/internal/DelegatingInvocationHandler.java b/core/src/com/google/inject/internal/DelegatingInvocationHandler.java
similarity index 100%
rename from src/com/google/inject/internal/DelegatingInvocationHandler.java
rename to core/src/com/google/inject/internal/DelegatingInvocationHandler.java
diff --git a/src/com/google/inject/internal/EncounterImpl.java b/core/src/com/google/inject/internal/EncounterImpl.java
similarity index 100%
rename from src/com/google/inject/internal/EncounterImpl.java
rename to core/src/com/google/inject/internal/EncounterImpl.java
diff --git a/src/com/google/inject/internal/ErrorHandler.java b/core/src/com/google/inject/internal/ErrorHandler.java
similarity index 100%
rename from src/com/google/inject/internal/ErrorHandler.java
rename to core/src/com/google/inject/internal/ErrorHandler.java
diff --git a/src/com/google/inject/internal/Errors.java b/core/src/com/google/inject/internal/Errors.java
similarity index 100%
rename from src/com/google/inject/internal/Errors.java
rename to core/src/com/google/inject/internal/Errors.java
diff --git a/src/com/google/inject/internal/ErrorsException.java b/core/src/com/google/inject/internal/ErrorsException.java
similarity index 100%
rename from src/com/google/inject/internal/ErrorsException.java
rename to core/src/com/google/inject/internal/ErrorsException.java
diff --git a/src/com/google/inject/internal/Exceptions.java b/core/src/com/google/inject/internal/Exceptions.java
similarity index 100%
rename from src/com/google/inject/internal/Exceptions.java
rename to core/src/com/google/inject/internal/Exceptions.java
diff --git a/src/com/google/inject/internal/ExposedBindingImpl.java b/core/src/com/google/inject/internal/ExposedBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/ExposedBindingImpl.java
rename to core/src/com/google/inject/internal/ExposedBindingImpl.java
diff --git a/src/com/google/inject/internal/ExposedKeyFactory.java b/core/src/com/google/inject/internal/ExposedKeyFactory.java
similarity index 100%
rename from src/com/google/inject/internal/ExposedKeyFactory.java
rename to core/src/com/google/inject/internal/ExposedKeyFactory.java
diff --git a/src/com/google/inject/internal/ExposureBuilder.java b/core/src/com/google/inject/internal/ExposureBuilder.java
similarity index 100%
rename from src/com/google/inject/internal/ExposureBuilder.java
rename to core/src/com/google/inject/internal/ExposureBuilder.java
diff --git a/src/com/google/inject/internal/FactoryProxy.java b/core/src/com/google/inject/internal/FactoryProxy.java
similarity index 100%
rename from src/com/google/inject/internal/FactoryProxy.java
rename to core/src/com/google/inject/internal/FactoryProxy.java
diff --git a/src/com/google/inject/internal/FailableCache.java b/core/src/com/google/inject/internal/FailableCache.java
similarity index 100%
rename from src/com/google/inject/internal/FailableCache.java
rename to core/src/com/google/inject/internal/FailableCache.java
diff --git a/src/com/google/inject/internal/InheritingState.java b/core/src/com/google/inject/internal/InheritingState.java
similarity index 100%
rename from src/com/google/inject/internal/InheritingState.java
rename to core/src/com/google/inject/internal/InheritingState.java
diff --git a/src/com/google/inject/internal/Initializable.java b/core/src/com/google/inject/internal/Initializable.java
similarity index 100%
rename from src/com/google/inject/internal/Initializable.java
rename to core/src/com/google/inject/internal/Initializable.java
diff --git a/src/com/google/inject/internal/Initializables.java b/core/src/com/google/inject/internal/Initializables.java
similarity index 100%
rename from src/com/google/inject/internal/Initializables.java
rename to core/src/com/google/inject/internal/Initializables.java
diff --git a/src/com/google/inject/internal/Initializer.java b/core/src/com/google/inject/internal/Initializer.java
similarity index 100%
rename from src/com/google/inject/internal/Initializer.java
rename to core/src/com/google/inject/internal/Initializer.java
diff --git a/src/com/google/inject/internal/InjectionRequestProcessor.java b/core/src/com/google/inject/internal/InjectionRequestProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/InjectionRequestProcessor.java
rename to core/src/com/google/inject/internal/InjectionRequestProcessor.java
diff --git a/src/com/google/inject/internal/InjectorImpl.java b/core/src/com/google/inject/internal/InjectorImpl.java
similarity index 100%
rename from src/com/google/inject/internal/InjectorImpl.java
rename to core/src/com/google/inject/internal/InjectorImpl.java
diff --git a/src/com/google/inject/internal/InjectorShell.java b/core/src/com/google/inject/internal/InjectorShell.java
similarity index 100%
rename from src/com/google/inject/internal/InjectorShell.java
rename to core/src/com/google/inject/internal/InjectorShell.java
diff --git a/src/com/google/inject/internal/InstanceBindingImpl.java b/core/src/com/google/inject/internal/InstanceBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/InstanceBindingImpl.java
rename to core/src/com/google/inject/internal/InstanceBindingImpl.java
diff --git a/src/com/google/inject/internal/InterceptorBindingProcessor.java b/core/src/com/google/inject/internal/InterceptorBindingProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/InterceptorBindingProcessor.java
rename to core/src/com/google/inject/internal/InterceptorBindingProcessor.java
diff --git a/src/com/google/inject/internal/InterceptorStackCallback.java b/core/src/com/google/inject/internal/InterceptorStackCallback.java
similarity index 100%
rename from src/com/google/inject/internal/InterceptorStackCallback.java
rename to core/src/com/google/inject/internal/InterceptorStackCallback.java
diff --git a/src/com/google/inject/internal/InternalContext.java b/core/src/com/google/inject/internal/InternalContext.java
similarity index 100%
rename from src/com/google/inject/internal/InternalContext.java
rename to core/src/com/google/inject/internal/InternalContext.java
diff --git a/src/com/google/inject/internal/InternalFactory.java b/core/src/com/google/inject/internal/InternalFactory.java
similarity index 100%
rename from src/com/google/inject/internal/InternalFactory.java
rename to core/src/com/google/inject/internal/InternalFactory.java
diff --git a/src/com/google/inject/internal/InternalFactoryToProviderAdapter.java b/core/src/com/google/inject/internal/InternalFactoryToProviderAdapter.java
similarity index 100%
rename from src/com/google/inject/internal/InternalFactoryToProviderAdapter.java
rename to core/src/com/google/inject/internal/InternalFactoryToProviderAdapter.java
diff --git a/src/com/google/inject/internal/InternalInjectorCreator.java b/core/src/com/google/inject/internal/InternalInjectorCreator.java
similarity index 100%
rename from src/com/google/inject/internal/InternalInjectorCreator.java
rename to core/src/com/google/inject/internal/InternalInjectorCreator.java
diff --git a/src/com/google/inject/internal/LinkedBindingImpl.java b/core/src/com/google/inject/internal/LinkedBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/LinkedBindingImpl.java
rename to core/src/com/google/inject/internal/LinkedBindingImpl.java
diff --git a/src/com/google/inject/internal/LinkedProviderBindingImpl.java b/core/src/com/google/inject/internal/LinkedProviderBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/LinkedProviderBindingImpl.java
rename to core/src/com/google/inject/internal/LinkedProviderBindingImpl.java
diff --git a/src/com/google/inject/internal/LookupProcessor.java b/core/src/com/google/inject/internal/LookupProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/LookupProcessor.java
rename to core/src/com/google/inject/internal/LookupProcessor.java
diff --git a/src/com/google/inject/internal/Lookups.java b/core/src/com/google/inject/internal/Lookups.java
similarity index 100%
rename from src/com/google/inject/internal/Lookups.java
rename to core/src/com/google/inject/internal/Lookups.java
diff --git a/src/com/google/inject/internal/MatcherAndConverter.java b/core/src/com/google/inject/internal/MatcherAndConverter.java
similarity index 100%
rename from src/com/google/inject/internal/MatcherAndConverter.java
rename to core/src/com/google/inject/internal/MatcherAndConverter.java
diff --git a/src/com/google/inject/internal/MembersInjectorImpl.java b/core/src/com/google/inject/internal/MembersInjectorImpl.java
similarity index 100%
rename from src/com/google/inject/internal/MembersInjectorImpl.java
rename to core/src/com/google/inject/internal/MembersInjectorImpl.java
diff --git a/src/com/google/inject/internal/MembersInjectorStore.java b/core/src/com/google/inject/internal/MembersInjectorStore.java
similarity index 100%
rename from src/com/google/inject/internal/MembersInjectorStore.java
rename to core/src/com/google/inject/internal/MembersInjectorStore.java
diff --git a/src/com/google/inject/internal/MessageProcessor.java b/core/src/com/google/inject/internal/MessageProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/MessageProcessor.java
rename to core/src/com/google/inject/internal/MessageProcessor.java
diff --git a/src/com/google/inject/internal/MethodAspect.java b/core/src/com/google/inject/internal/MethodAspect.java
similarity index 100%
rename from src/com/google/inject/internal/MethodAspect.java
rename to core/src/com/google/inject/internal/MethodAspect.java
diff --git a/src/com/google/inject/internal/MoreTypes.java b/core/src/com/google/inject/internal/MoreTypes.java
similarity index 100%
rename from src/com/google/inject/internal/MoreTypes.java
rename to core/src/com/google/inject/internal/MoreTypes.java
diff --git a/src/com/google/inject/internal/Nullability.java b/core/src/com/google/inject/internal/Nullability.java
similarity index 100%
rename from src/com/google/inject/internal/Nullability.java
rename to core/src/com/google/inject/internal/Nullability.java
diff --git a/src/com/google/inject/internal/Nullable.java b/core/src/com/google/inject/internal/Nullable.java
similarity index 100%
rename from src/com/google/inject/internal/Nullable.java
rename to core/src/com/google/inject/internal/Nullable.java
diff --git a/src/com/google/inject/internal/PrivateElementProcessor.java b/core/src/com/google/inject/internal/PrivateElementProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/PrivateElementProcessor.java
rename to core/src/com/google/inject/internal/PrivateElementProcessor.java
diff --git a/src/com/google/inject/internal/PrivateElementsImpl.java b/core/src/com/google/inject/internal/PrivateElementsImpl.java
similarity index 100%
rename from src/com/google/inject/internal/PrivateElementsImpl.java
rename to core/src/com/google/inject/internal/PrivateElementsImpl.java
diff --git a/src/com/google/inject/internal/ProviderInstanceBindingImpl.java b/core/src/com/google/inject/internal/ProviderInstanceBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/ProviderInstanceBindingImpl.java
rename to core/src/com/google/inject/internal/ProviderInstanceBindingImpl.java
diff --git a/src/com/google/inject/internal/ProviderMethod.java b/core/src/com/google/inject/internal/ProviderMethod.java
similarity index 100%
rename from src/com/google/inject/internal/ProviderMethod.java
rename to core/src/com/google/inject/internal/ProviderMethod.java
diff --git a/src/com/google/inject/internal/ProviderMethodsModule.java b/core/src/com/google/inject/internal/ProviderMethodsModule.java
similarity index 100%
rename from src/com/google/inject/internal/ProviderMethodsModule.java
rename to core/src/com/google/inject/internal/ProviderMethodsModule.java
diff --git a/src/com/google/inject/internal/ProviderToInternalFactoryAdapter.java b/core/src/com/google/inject/internal/ProviderToInternalFactoryAdapter.java
similarity index 100%
rename from src/com/google/inject/internal/ProviderToInternalFactoryAdapter.java
rename to core/src/com/google/inject/internal/ProviderToInternalFactoryAdapter.java
diff --git a/src/com/google/inject/internal/ProxyFactory.java b/core/src/com/google/inject/internal/ProxyFactory.java
similarity index 100%
rename from src/com/google/inject/internal/ProxyFactory.java
rename to core/src/com/google/inject/internal/ProxyFactory.java
diff --git a/src/com/google/inject/internal/ScopeBindingProcessor.java b/core/src/com/google/inject/internal/ScopeBindingProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/ScopeBindingProcessor.java
rename to core/src/com/google/inject/internal/ScopeBindingProcessor.java
diff --git a/src/com/google/inject/internal/Scoping.java b/core/src/com/google/inject/internal/Scoping.java
similarity index 100%
rename from src/com/google/inject/internal/Scoping.java
rename to core/src/com/google/inject/internal/Scoping.java
diff --git a/src/com/google/inject/internal/SingleFieldInjector.java b/core/src/com/google/inject/internal/SingleFieldInjector.java
similarity index 100%
rename from src/com/google/inject/internal/SingleFieldInjector.java
rename to core/src/com/google/inject/internal/SingleFieldInjector.java
diff --git a/src/com/google/inject/internal/SingleMemberInjector.java b/core/src/com/google/inject/internal/SingleMemberInjector.java
similarity index 100%
rename from src/com/google/inject/internal/SingleMemberInjector.java
rename to core/src/com/google/inject/internal/SingleMemberInjector.java
diff --git a/src/com/google/inject/internal/SingleMethodInjector.java b/core/src/com/google/inject/internal/SingleMethodInjector.java
similarity index 100%
rename from src/com/google/inject/internal/SingleMethodInjector.java
rename to core/src/com/google/inject/internal/SingleMethodInjector.java
diff --git a/src/com/google/inject/internal/SingleParameterInjector.java b/core/src/com/google/inject/internal/SingleParameterInjector.java
similarity index 100%
rename from src/com/google/inject/internal/SingleParameterInjector.java
rename to core/src/com/google/inject/internal/SingleParameterInjector.java
diff --git a/src/com/google/inject/internal/State.java b/core/src/com/google/inject/internal/State.java
similarity index 100%
rename from src/com/google/inject/internal/State.java
rename to core/src/com/google/inject/internal/State.java
diff --git a/src/com/google/inject/internal/TypeConverterBindingProcessor.java b/core/src/com/google/inject/internal/TypeConverterBindingProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/TypeConverterBindingProcessor.java
rename to core/src/com/google/inject/internal/TypeConverterBindingProcessor.java
diff --git a/src/com/google/inject/internal/TypeListenerBindingProcessor.java b/core/src/com/google/inject/internal/TypeListenerBindingProcessor.java
similarity index 100%
rename from src/com/google/inject/internal/TypeListenerBindingProcessor.java
rename to core/src/com/google/inject/internal/TypeListenerBindingProcessor.java
diff --git a/src/com/google/inject/internal/UniqueAnnotations.java b/core/src/com/google/inject/internal/UniqueAnnotations.java
similarity index 100%
rename from src/com/google/inject/internal/UniqueAnnotations.java
rename to core/src/com/google/inject/internal/UniqueAnnotations.java
diff --git a/src/com/google/inject/internal/UntargettedBindingImpl.java b/core/src/com/google/inject/internal/UntargettedBindingImpl.java
similarity index 100%
rename from src/com/google/inject/internal/UntargettedBindingImpl.java
rename to core/src/com/google/inject/internal/UntargettedBindingImpl.java
diff --git a/src/com/google/inject/internal/WeakKeySet.java b/core/src/com/google/inject/internal/WeakKeySet.java
similarity index 100%
rename from src/com/google/inject/internal/WeakKeySet.java
rename to core/src/com/google/inject/internal/WeakKeySet.java
diff --git a/src/com/google/inject/internal/package-info.java b/core/src/com/google/inject/internal/package-info.java
similarity index 100%
rename from src/com/google/inject/internal/package-info.java
rename to core/src/com/google/inject/internal/package-info.java
diff --git a/src/com/google/inject/internal/util/AbstractIterator.java b/core/src/com/google/inject/internal/util/AbstractIterator.java
similarity index 100%
rename from src/com/google/inject/internal/util/AbstractIterator.java
rename to core/src/com/google/inject/internal/util/AbstractIterator.java
diff --git a/src/com/google/inject/internal/util/AbstractMapEntry.java b/core/src/com/google/inject/internal/util/AbstractMapEntry.java
similarity index 100%
rename from src/com/google/inject/internal/util/AbstractMapEntry.java
rename to core/src/com/google/inject/internal/util/AbstractMapEntry.java
diff --git a/src/com/google/inject/internal/util/AsynchronousComputationException.java b/core/src/com/google/inject/internal/util/AsynchronousComputationException.java
similarity index 100%
rename from src/com/google/inject/internal/util/AsynchronousComputationException.java
rename to core/src/com/google/inject/internal/util/AsynchronousComputationException.java
diff --git a/src/com/google/inject/internal/util/Classes.java b/core/src/com/google/inject/internal/util/Classes.java
similarity index 100%
rename from src/com/google/inject/internal/util/Classes.java
rename to core/src/com/google/inject/internal/util/Classes.java
diff --git a/src/com/google/inject/internal/util/Collections2.java b/core/src/com/google/inject/internal/util/Collections2.java
similarity index 100%
rename from src/com/google/inject/internal/util/Collections2.java
rename to core/src/com/google/inject/internal/util/Collections2.java
diff --git a/src/com/google/inject/internal/util/ComputationException.java b/core/src/com/google/inject/internal/util/ComputationException.java
similarity index 100%
rename from src/com/google/inject/internal/util/ComputationException.java
rename to core/src/com/google/inject/internal/util/ComputationException.java
diff --git a/src/com/google/inject/internal/util/CustomConcurrentHashMap.java b/core/src/com/google/inject/internal/util/CustomConcurrentHashMap.java
similarity index 100%
rename from src/com/google/inject/internal/util/CustomConcurrentHashMap.java
rename to core/src/com/google/inject/internal/util/CustomConcurrentHashMap.java
diff --git a/src/com/google/inject/internal/util/ExpirationTimer.java b/core/src/com/google/inject/internal/util/ExpirationTimer.java
similarity index 100%
rename from src/com/google/inject/internal/util/ExpirationTimer.java
rename to core/src/com/google/inject/internal/util/ExpirationTimer.java
diff --git a/src/com/google/inject/internal/util/FinalizablePhantomReference.java b/core/src/com/google/inject/internal/util/FinalizablePhantomReference.java
similarity index 100%
rename from src/com/google/inject/internal/util/FinalizablePhantomReference.java
rename to core/src/com/google/inject/internal/util/FinalizablePhantomReference.java
diff --git a/src/com/google/inject/internal/util/FinalizableReference.java b/core/src/com/google/inject/internal/util/FinalizableReference.java
similarity index 100%
rename from src/com/google/inject/internal/util/FinalizableReference.java
rename to core/src/com/google/inject/internal/util/FinalizableReference.java
diff --git a/src/com/google/inject/internal/util/FinalizableReferenceQueue.java b/core/src/com/google/inject/internal/util/FinalizableReferenceQueue.java
similarity index 100%
rename from src/com/google/inject/internal/util/FinalizableReferenceQueue.java
rename to core/src/com/google/inject/internal/util/FinalizableReferenceQueue.java
diff --git a/src/com/google/inject/internal/util/FinalizableSoftReference.java b/core/src/com/google/inject/internal/util/FinalizableSoftReference.java
similarity index 100%
rename from src/com/google/inject/internal/util/FinalizableSoftReference.java
rename to core/src/com/google/inject/internal/util/FinalizableSoftReference.java
diff --git a/src/com/google/inject/internal/util/FinalizableWeakReference.java b/core/src/com/google/inject/internal/util/FinalizableWeakReference.java
similarity index 100%
rename from src/com/google/inject/internal/util/FinalizableWeakReference.java
rename to core/src/com/google/inject/internal/util/FinalizableWeakReference.java
diff --git a/src/com/google/inject/internal/util/Finalizer.java b/core/src/com/google/inject/internal/util/Finalizer.java
similarity index 100%
rename from src/com/google/inject/internal/util/Finalizer.java
rename to core/src/com/google/inject/internal/util/Finalizer.java
diff --git a/src/com/google/inject/internal/util/Function.java b/core/src/com/google/inject/internal/util/Function.java
similarity index 100%
rename from src/com/google/inject/internal/util/Function.java
rename to core/src/com/google/inject/internal/util/Function.java
diff --git a/src/com/google/inject/internal/util/Hashing.java b/core/src/com/google/inject/internal/util/Hashing.java
similarity index 100%
rename from src/com/google/inject/internal/util/Hashing.java
rename to core/src/com/google/inject/internal/util/Hashing.java
diff --git a/src/com/google/inject/internal/util/ImmutableCollection.java b/core/src/com/google/inject/internal/util/ImmutableCollection.java
similarity index 100%
rename from src/com/google/inject/internal/util/ImmutableCollection.java
rename to core/src/com/google/inject/internal/util/ImmutableCollection.java
diff --git a/src/com/google/inject/internal/util/ImmutableEntry.java b/core/src/com/google/inject/internal/util/ImmutableEntry.java
similarity index 100%
rename from src/com/google/inject/internal/util/ImmutableEntry.java
rename to core/src/com/google/inject/internal/util/ImmutableEntry.java
diff --git a/src/com/google/inject/internal/util/ImmutableList.java b/core/src/com/google/inject/internal/util/ImmutableList.java
similarity index 100%
rename from src/com/google/inject/internal/util/ImmutableList.java
rename to core/src/com/google/inject/internal/util/ImmutableList.java
diff --git a/src/com/google/inject/internal/util/ImmutableMap.java b/core/src/com/google/inject/internal/util/ImmutableMap.java
similarity index 100%
rename from src/com/google/inject/internal/util/ImmutableMap.java
rename to core/src/com/google/inject/internal/util/ImmutableMap.java
diff --git a/src/com/google/inject/internal/util/ImmutableSet.java b/core/src/com/google/inject/internal/util/ImmutableSet.java
similarity index 100%
rename from src/com/google/inject/internal/util/ImmutableSet.java
rename to core/src/com/google/inject/internal/util/ImmutableSet.java
diff --git a/src/com/google/inject/internal/util/Iterables.java b/core/src/com/google/inject/internal/util/Iterables.java
similarity index 100%
rename from src/com/google/inject/internal/util/Iterables.java
rename to core/src/com/google/inject/internal/util/Iterables.java
diff --git a/src/com/google/inject/internal/util/Iterators.java b/core/src/com/google/inject/internal/util/Iterators.java
similarity index 100%
rename from src/com/google/inject/internal/util/Iterators.java
rename to core/src/com/google/inject/internal/util/Iterators.java
diff --git a/src/com/google/inject/internal/util/Join.java b/core/src/com/google/inject/internal/util/Join.java
similarity index 100%
rename from src/com/google/inject/internal/util/Join.java
rename to core/src/com/google/inject/internal/util/Join.java
diff --git a/src/com/google/inject/internal/util/LineNumbers.java b/core/src/com/google/inject/internal/util/LineNumbers.java
similarity index 100%
rename from src/com/google/inject/internal/util/LineNumbers.java
rename to core/src/com/google/inject/internal/util/LineNumbers.java
diff --git a/src/com/google/inject/internal/util/Lists.java b/core/src/com/google/inject/internal/util/Lists.java
similarity index 100%
rename from src/com/google/inject/internal/util/Lists.java
rename to core/src/com/google/inject/internal/util/Lists.java
diff --git a/src/com/google/inject/internal/util/MapMaker.java b/core/src/com/google/inject/internal/util/MapMaker.java
similarity index 100%
rename from src/com/google/inject/internal/util/MapMaker.java
rename to core/src/com/google/inject/internal/util/MapMaker.java
diff --git a/src/com/google/inject/internal/util/Maps.java b/core/src/com/google/inject/internal/util/Maps.java
similarity index 100%
rename from src/com/google/inject/internal/util/Maps.java
rename to core/src/com/google/inject/internal/util/Maps.java
diff --git a/src/com/google/inject/internal/util/NullOutputException.java b/core/src/com/google/inject/internal/util/NullOutputException.java
similarity index 100%
rename from src/com/google/inject/internal/util/NullOutputException.java
rename to core/src/com/google/inject/internal/util/NullOutputException.java
diff --git a/src/com/google/inject/internal/util/ObjectArrays.java b/core/src/com/google/inject/internal/util/ObjectArrays.java
similarity index 100%
rename from src/com/google/inject/internal/util/ObjectArrays.java
rename to core/src/com/google/inject/internal/util/ObjectArrays.java
diff --git a/src/com/google/inject/internal/util/Objects.java b/core/src/com/google/inject/internal/util/Objects.java
similarity index 100%
rename from src/com/google/inject/internal/util/Objects.java
rename to core/src/com/google/inject/internal/util/Objects.java
diff --git a/src/com/google/inject/internal/util/Preconditions.java b/core/src/com/google/inject/internal/util/Preconditions.java
similarity index 100%
rename from src/com/google/inject/internal/util/Preconditions.java
rename to core/src/com/google/inject/internal/util/Preconditions.java
diff --git a/src/com/google/inject/internal/util/Sets.java b/core/src/com/google/inject/internal/util/Sets.java
similarity index 100%
rename from src/com/google/inject/internal/util/Sets.java
rename to core/src/com/google/inject/internal/util/Sets.java
diff --git a/src/com/google/inject/internal/util/SourceProvider.java b/core/src/com/google/inject/internal/util/SourceProvider.java
similarity index 100%
rename from src/com/google/inject/internal/util/SourceProvider.java
rename to core/src/com/google/inject/internal/util/SourceProvider.java
diff --git a/src/com/google/inject/internal/util/StackTraceElements.java b/core/src/com/google/inject/internal/util/StackTraceElements.java
similarity index 100%
rename from src/com/google/inject/internal/util/StackTraceElements.java
rename to core/src/com/google/inject/internal/util/StackTraceElements.java
diff --git a/src/com/google/inject/internal/util/Stopwatch.java b/core/src/com/google/inject/internal/util/Stopwatch.java
similarity index 100%
rename from src/com/google/inject/internal/util/Stopwatch.java
rename to core/src/com/google/inject/internal/util/Stopwatch.java
diff --git a/src/com/google/inject/internal/util/Strings.java b/core/src/com/google/inject/internal/util/Strings.java
similarity index 100%
rename from src/com/google/inject/internal/util/Strings.java
rename to core/src/com/google/inject/internal/util/Strings.java
diff --git a/src/com/google/inject/internal/util/ToStringBuilder.java b/core/src/com/google/inject/internal/util/ToStringBuilder.java
similarity index 100%
rename from src/com/google/inject/internal/util/ToStringBuilder.java
rename to core/src/com/google/inject/internal/util/ToStringBuilder.java
diff --git a/src/com/google/inject/internal/util/UnmodifiableIterator.java b/core/src/com/google/inject/internal/util/UnmodifiableIterator.java
similarity index 100%
rename from src/com/google/inject/internal/util/UnmodifiableIterator.java
rename to core/src/com/google/inject/internal/util/UnmodifiableIterator.java
diff --git a/src/com/google/inject/matcher/AbstractMatcher.java b/core/src/com/google/inject/matcher/AbstractMatcher.java
similarity index 100%
rename from src/com/google/inject/matcher/AbstractMatcher.java
rename to core/src/com/google/inject/matcher/AbstractMatcher.java
diff --git a/src/com/google/inject/matcher/Matcher.java b/core/src/com/google/inject/matcher/Matcher.java
similarity index 100%
rename from src/com/google/inject/matcher/Matcher.java
rename to core/src/com/google/inject/matcher/Matcher.java
diff --git a/src/com/google/inject/matcher/Matchers.java b/core/src/com/google/inject/matcher/Matchers.java
similarity index 100%
rename from src/com/google/inject/matcher/Matchers.java
rename to core/src/com/google/inject/matcher/Matchers.java
diff --git a/src/com/google/inject/matcher/package-info.java b/core/src/com/google/inject/matcher/package-info.java
similarity index 100%
rename from src/com/google/inject/matcher/package-info.java
rename to core/src/com/google/inject/matcher/package-info.java
diff --git a/src/com/google/inject/name/Named.java b/core/src/com/google/inject/name/Named.java
similarity index 100%
rename from src/com/google/inject/name/Named.java
rename to core/src/com/google/inject/name/Named.java
diff --git a/src/com/google/inject/name/NamedImpl.java b/core/src/com/google/inject/name/NamedImpl.java
similarity index 100%
rename from src/com/google/inject/name/NamedImpl.java
rename to core/src/com/google/inject/name/NamedImpl.java
diff --git a/src/com/google/inject/name/Names.java b/core/src/com/google/inject/name/Names.java
similarity index 100%
rename from src/com/google/inject/name/Names.java
rename to core/src/com/google/inject/name/Names.java
diff --git a/src/com/google/inject/name/package-info.java b/core/src/com/google/inject/name/package-info.java
similarity index 100%
rename from src/com/google/inject/name/package-info.java
rename to core/src/com/google/inject/name/package-info.java
diff --git a/src/com/google/inject/package-info.java b/core/src/com/google/inject/package-info.java
similarity index 100%
rename from src/com/google/inject/package-info.java
rename to core/src/com/google/inject/package-info.java
diff --git a/src/com/google/inject/spi/BindingScopingVisitor.java b/core/src/com/google/inject/spi/BindingScopingVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/BindingScopingVisitor.java
rename to core/src/com/google/inject/spi/BindingScopingVisitor.java
diff --git a/src/com/google/inject/spi/BindingTargetVisitor.java b/core/src/com/google/inject/spi/BindingTargetVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/BindingTargetVisitor.java
rename to core/src/com/google/inject/spi/BindingTargetVisitor.java
diff --git a/src/com/google/inject/spi/ConstructorBinding.java b/core/src/com/google/inject/spi/ConstructorBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ConstructorBinding.java
rename to core/src/com/google/inject/spi/ConstructorBinding.java
diff --git a/src/com/google/inject/spi/ConvertedConstantBinding.java b/core/src/com/google/inject/spi/ConvertedConstantBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ConvertedConstantBinding.java
rename to core/src/com/google/inject/spi/ConvertedConstantBinding.java
diff --git a/src/com/google/inject/spi/DefaultBindingScopingVisitor.java b/core/src/com/google/inject/spi/DefaultBindingScopingVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/DefaultBindingScopingVisitor.java
rename to core/src/com/google/inject/spi/DefaultBindingScopingVisitor.java
diff --git a/src/com/google/inject/spi/DefaultBindingTargetVisitor.java b/core/src/com/google/inject/spi/DefaultBindingTargetVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/DefaultBindingTargetVisitor.java
rename to core/src/com/google/inject/spi/DefaultBindingTargetVisitor.java
diff --git a/src/com/google/inject/spi/DefaultElementVisitor.java b/core/src/com/google/inject/spi/DefaultElementVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/DefaultElementVisitor.java
rename to core/src/com/google/inject/spi/DefaultElementVisitor.java
diff --git a/src/com/google/inject/spi/Dependency.java b/core/src/com/google/inject/spi/Dependency.java
similarity index 100%
rename from src/com/google/inject/spi/Dependency.java
rename to core/src/com/google/inject/spi/Dependency.java
diff --git a/src/com/google/inject/spi/Element.java b/core/src/com/google/inject/spi/Element.java
similarity index 100%
rename from src/com/google/inject/spi/Element.java
rename to core/src/com/google/inject/spi/Element.java
diff --git a/src/com/google/inject/spi/ElementVisitor.java b/core/src/com/google/inject/spi/ElementVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/ElementVisitor.java
rename to core/src/com/google/inject/spi/ElementVisitor.java
diff --git a/src/com/google/inject/spi/Elements.java b/core/src/com/google/inject/spi/Elements.java
similarity index 100%
rename from src/com/google/inject/spi/Elements.java
rename to core/src/com/google/inject/spi/Elements.java
diff --git a/src/com/google/inject/spi/ExposedBinding.java b/core/src/com/google/inject/spi/ExposedBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ExposedBinding.java
rename to core/src/com/google/inject/spi/ExposedBinding.java
diff --git a/src/com/google/inject/spi/HasDependencies.java b/core/src/com/google/inject/spi/HasDependencies.java
similarity index 100%
rename from src/com/google/inject/spi/HasDependencies.java
rename to core/src/com/google/inject/spi/HasDependencies.java
diff --git a/src/com/google/inject/spi/InjectionListener.java b/core/src/com/google/inject/spi/InjectionListener.java
similarity index 100%
rename from src/com/google/inject/spi/InjectionListener.java
rename to core/src/com/google/inject/spi/InjectionListener.java
diff --git a/src/com/google/inject/spi/InjectionPoint.java b/core/src/com/google/inject/spi/InjectionPoint.java
similarity index 100%
rename from src/com/google/inject/spi/InjectionPoint.java
rename to core/src/com/google/inject/spi/InjectionPoint.java
diff --git a/src/com/google/inject/spi/InjectionRequest.java b/core/src/com/google/inject/spi/InjectionRequest.java
similarity index 100%
rename from src/com/google/inject/spi/InjectionRequest.java
rename to core/src/com/google/inject/spi/InjectionRequest.java
diff --git a/src/com/google/inject/spi/InstanceBinding.java b/core/src/com/google/inject/spi/InstanceBinding.java
similarity index 100%
rename from src/com/google/inject/spi/InstanceBinding.java
rename to core/src/com/google/inject/spi/InstanceBinding.java
diff --git a/src/com/google/inject/spi/InterceptorBinding.java b/core/src/com/google/inject/spi/InterceptorBinding.java
similarity index 100%
rename from src/com/google/inject/spi/InterceptorBinding.java
rename to core/src/com/google/inject/spi/InterceptorBinding.java
diff --git a/src/com/google/inject/spi/LinkedKeyBinding.java b/core/src/com/google/inject/spi/LinkedKeyBinding.java
similarity index 100%
rename from src/com/google/inject/spi/LinkedKeyBinding.java
rename to core/src/com/google/inject/spi/LinkedKeyBinding.java
diff --git a/src/com/google/inject/spi/MembersInjectorLookup.java b/core/src/com/google/inject/spi/MembersInjectorLookup.java
similarity index 100%
rename from src/com/google/inject/spi/MembersInjectorLookup.java
rename to core/src/com/google/inject/spi/MembersInjectorLookup.java
diff --git a/src/com/google/inject/spi/Message.java b/core/src/com/google/inject/spi/Message.java
similarity index 100%
rename from src/com/google/inject/spi/Message.java
rename to core/src/com/google/inject/spi/Message.java
diff --git a/src/com/google/inject/spi/PrivateElements.java b/core/src/com/google/inject/spi/PrivateElements.java
similarity index 100%
rename from src/com/google/inject/spi/PrivateElements.java
rename to core/src/com/google/inject/spi/PrivateElements.java
diff --git a/src/com/google/inject/spi/ProviderBinding.java b/core/src/com/google/inject/spi/ProviderBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderBinding.java
rename to core/src/com/google/inject/spi/ProviderBinding.java
diff --git a/src/com/google/inject/spi/ProviderInstanceBinding.java b/core/src/com/google/inject/spi/ProviderInstanceBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderInstanceBinding.java
rename to core/src/com/google/inject/spi/ProviderInstanceBinding.java
diff --git a/src/com/google/inject/spi/ProviderKeyBinding.java b/core/src/com/google/inject/spi/ProviderKeyBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderKeyBinding.java
rename to core/src/com/google/inject/spi/ProviderKeyBinding.java
diff --git a/src/com/google/inject/spi/ProviderLookup.java b/core/src/com/google/inject/spi/ProviderLookup.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderLookup.java
rename to core/src/com/google/inject/spi/ProviderLookup.java
diff --git a/src/com/google/inject/spi/ProviderWithDependencies.java b/core/src/com/google/inject/spi/ProviderWithDependencies.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderWithDependencies.java
rename to core/src/com/google/inject/spi/ProviderWithDependencies.java
diff --git a/src/com/google/inject/spi/ProviderWithExtensionVisitor.java b/core/src/com/google/inject/spi/ProviderWithExtensionVisitor.java
similarity index 100%
rename from src/com/google/inject/spi/ProviderWithExtensionVisitor.java
rename to core/src/com/google/inject/spi/ProviderWithExtensionVisitor.java
diff --git a/src/com/google/inject/spi/ScopeBinding.java b/core/src/com/google/inject/spi/ScopeBinding.java
similarity index 100%
rename from src/com/google/inject/spi/ScopeBinding.java
rename to core/src/com/google/inject/spi/ScopeBinding.java
diff --git a/src/com/google/inject/spi/StaticInjectionRequest.java b/core/src/com/google/inject/spi/StaticInjectionRequest.java
similarity index 100%
rename from src/com/google/inject/spi/StaticInjectionRequest.java
rename to core/src/com/google/inject/spi/StaticInjectionRequest.java
diff --git a/src/com/google/inject/spi/Toolable.java b/core/src/com/google/inject/spi/Toolable.java
similarity index 100%
rename from src/com/google/inject/spi/Toolable.java
rename to core/src/com/google/inject/spi/Toolable.java
diff --git a/src/com/google/inject/spi/TypeConverter.java b/core/src/com/google/inject/spi/TypeConverter.java
similarity index 100%
rename from src/com/google/inject/spi/TypeConverter.java
rename to core/src/com/google/inject/spi/TypeConverter.java
diff --git a/src/com/google/inject/spi/TypeConverterBinding.java b/core/src/com/google/inject/spi/TypeConverterBinding.java
similarity index 100%
rename from src/com/google/inject/spi/TypeConverterBinding.java
rename to core/src/com/google/inject/spi/TypeConverterBinding.java
diff --git a/src/com/google/inject/spi/TypeEncounter.java b/core/src/com/google/inject/spi/TypeEncounter.java
similarity index 100%
rename from src/com/google/inject/spi/TypeEncounter.java
rename to core/src/com/google/inject/spi/TypeEncounter.java
diff --git a/src/com/google/inject/spi/TypeListener.java b/core/src/com/google/inject/spi/TypeListener.java
similarity index 100%
rename from src/com/google/inject/spi/TypeListener.java
rename to core/src/com/google/inject/spi/TypeListener.java
diff --git a/src/com/google/inject/spi/TypeListenerBinding.java b/core/src/com/google/inject/spi/TypeListenerBinding.java
similarity index 100%
rename from src/com/google/inject/spi/TypeListenerBinding.java
rename to core/src/com/google/inject/spi/TypeListenerBinding.java
diff --git a/src/com/google/inject/spi/UntargettedBinding.java b/core/src/com/google/inject/spi/UntargettedBinding.java
similarity index 100%
rename from src/com/google/inject/spi/UntargettedBinding.java
rename to core/src/com/google/inject/spi/UntargettedBinding.java
diff --git a/src/com/google/inject/spi/package-info.java b/core/src/com/google/inject/spi/package-info.java
similarity index 100%
rename from src/com/google/inject/spi/package-info.java
rename to core/src/com/google/inject/spi/package-info.java
diff --git a/src/com/google/inject/util/Jsr330.java b/core/src/com/google/inject/util/Jsr330.java
similarity index 100%
rename from src/com/google/inject/util/Jsr330.java
rename to core/src/com/google/inject/util/Jsr330.java
diff --git a/src/com/google/inject/util/Modules.java b/core/src/com/google/inject/util/Modules.java
similarity index 100%
rename from src/com/google/inject/util/Modules.java
rename to core/src/com/google/inject/util/Modules.java
diff --git a/src/com/google/inject/util/Node.java b/core/src/com/google/inject/util/Node.java
similarity index 100%
rename from src/com/google/inject/util/Node.java
rename to core/src/com/google/inject/util/Node.java
diff --git a/src/com/google/inject/util/Providers.java b/core/src/com/google/inject/util/Providers.java
similarity index 100%
rename from src/com/google/inject/util/Providers.java
rename to core/src/com/google/inject/util/Providers.java
diff --git a/src/com/google/inject/util/Types.java b/core/src/com/google/inject/util/Types.java
similarity index 100%
rename from src/com/google/inject/util/Types.java
rename to core/src/com/google/inject/util/Types.java
diff --git a/src/com/google/inject/util/package-info.java b/core/src/com/google/inject/util/package-info.java
similarity index 100%
rename from src/com/google/inject/util/package-info.java
rename to core/src/com/google/inject/util/package-info.java
diff --git a/test/com/google/inject/AllTests.java b/core/test/com/google/inject/AllTests.java
similarity index 100%
rename from test/com/google/inject/AllTests.java
rename to core/test/com/google/inject/AllTests.java
diff --git a/test/com/google/inject/Asserts.java b/core/test/com/google/inject/Asserts.java
similarity index 100%
rename from test/com/google/inject/Asserts.java
rename to core/test/com/google/inject/Asserts.java
diff --git a/test/com/google/inject/BinderTest.java b/core/test/com/google/inject/BinderTest.java
similarity index 100%
rename from test/com/google/inject/BinderTest.java
rename to core/test/com/google/inject/BinderTest.java
diff --git a/test/com/google/inject/BinderTestSuite.java b/core/test/com/google/inject/BinderTestSuite.java
similarity index 100%
rename from test/com/google/inject/BinderTestSuite.java
rename to core/test/com/google/inject/BinderTestSuite.java
diff --git a/test/com/google/inject/BindingAnnotationTest.java b/core/test/com/google/inject/BindingAnnotationTest.java
similarity index 100%
rename from test/com/google/inject/BindingAnnotationTest.java
rename to core/test/com/google/inject/BindingAnnotationTest.java
diff --git a/test/com/google/inject/BindingOrderTest.java b/core/test/com/google/inject/BindingOrderTest.java
similarity index 100%
rename from test/com/google/inject/BindingOrderTest.java
rename to core/test/com/google/inject/BindingOrderTest.java
diff --git a/test/com/google/inject/BindingTest.java b/core/test/com/google/inject/BindingTest.java
similarity index 100%
rename from test/com/google/inject/BindingTest.java
rename to core/test/com/google/inject/BindingTest.java
diff --git a/test/com/google/inject/BoundInstanceInjectionTest.java b/core/test/com/google/inject/BoundInstanceInjectionTest.java
similarity index 100%
rename from test/com/google/inject/BoundInstanceInjectionTest.java
rename to core/test/com/google/inject/BoundInstanceInjectionTest.java
diff --git a/test/com/google/inject/BoundProviderTest.java b/core/test/com/google/inject/BoundProviderTest.java
similarity index 100%
rename from test/com/google/inject/BoundProviderTest.java
rename to core/test/com/google/inject/BoundProviderTest.java
diff --git a/test/com/google/inject/CircularDependencyTest.java b/core/test/com/google/inject/CircularDependencyTest.java
similarity index 100%
rename from test/com/google/inject/CircularDependencyTest.java
rename to core/test/com/google/inject/CircularDependencyTest.java
diff --git a/test/com/google/inject/DuplicateBindingsTest.java b/core/test/com/google/inject/DuplicateBindingsTest.java
similarity index 100%
rename from test/com/google/inject/DuplicateBindingsTest.java
rename to core/test/com/google/inject/DuplicateBindingsTest.java
diff --git a/test/com/google/inject/EagerSingletonTest.java b/core/test/com/google/inject/EagerSingletonTest.java
similarity index 100%
rename from test/com/google/inject/EagerSingletonTest.java
rename to core/test/com/google/inject/EagerSingletonTest.java
diff --git a/test/com/google/inject/ErrorHandlingTest.java b/core/test/com/google/inject/ErrorHandlingTest.java
similarity index 100%
rename from test/com/google/inject/ErrorHandlingTest.java
rename to core/test/com/google/inject/ErrorHandlingTest.java
diff --git a/test/com/google/inject/GenericInjectionTest.java b/core/test/com/google/inject/GenericInjectionTest.java
similarity index 100%
rename from test/com/google/inject/GenericInjectionTest.java
rename to core/test/com/google/inject/GenericInjectionTest.java
diff --git a/test/com/google/inject/ImplicitBindingTest.java b/core/test/com/google/inject/ImplicitBindingTest.java
similarity index 100%
rename from test/com/google/inject/ImplicitBindingTest.java
rename to core/test/com/google/inject/ImplicitBindingTest.java
diff --git a/test/com/google/inject/InjectorTest.java b/core/test/com/google/inject/InjectorTest.java
similarity index 100%
rename from test/com/google/inject/InjectorTest.java
rename to core/test/com/google/inject/InjectorTest.java
diff --git a/test/com/google/inject/IntegrationTest.java b/core/test/com/google/inject/IntegrationTest.java
similarity index 100%
rename from test/com/google/inject/IntegrationTest.java
rename to core/test/com/google/inject/IntegrationTest.java
diff --git a/test/com/google/inject/JitBindingsTest.java b/core/test/com/google/inject/JitBindingsTest.java
similarity index 100%
rename from test/com/google/inject/JitBindingsTest.java
rename to core/test/com/google/inject/JitBindingsTest.java
diff --git a/test/com/google/inject/KeyTest.java b/core/test/com/google/inject/KeyTest.java
similarity index 100%
rename from test/com/google/inject/KeyTest.java
rename to core/test/com/google/inject/KeyTest.java
diff --git a/test/com/google/inject/LoggerInjectionTest.java b/core/test/com/google/inject/LoggerInjectionTest.java
similarity index 100%
rename from test/com/google/inject/LoggerInjectionTest.java
rename to core/test/com/google/inject/LoggerInjectionTest.java
diff --git a/test/com/google/inject/MembersInjectorTest.java b/core/test/com/google/inject/MembersInjectorTest.java
similarity index 100%
rename from test/com/google/inject/MembersInjectorTest.java
rename to core/test/com/google/inject/MembersInjectorTest.java
diff --git a/test/com/google/inject/MethodInterceptionTest.java b/core/test/com/google/inject/MethodInterceptionTest.java
similarity index 100%
rename from test/com/google/inject/MethodInterceptionTest.java
rename to core/test/com/google/inject/MethodInterceptionTest.java
diff --git a/test/com/google/inject/ModuleTest.java b/core/test/com/google/inject/ModuleTest.java
similarity index 100%
rename from test/com/google/inject/ModuleTest.java
rename to core/test/com/google/inject/ModuleTest.java
diff --git a/test/com/google/inject/ModulesTest.java b/core/test/com/google/inject/ModulesTest.java
similarity index 100%
rename from test/com/google/inject/ModulesTest.java
rename to core/test/com/google/inject/ModulesTest.java
diff --git a/test/com/google/inject/NullableInjectionPointTest.java b/core/test/com/google/inject/NullableInjectionPointTest.java
similarity index 100%
rename from test/com/google/inject/NullableInjectionPointTest.java
rename to core/test/com/google/inject/NullableInjectionPointTest.java
diff --git a/test/com/google/inject/OptionalBindingTest.java b/core/test/com/google/inject/OptionalBindingTest.java
similarity index 100%
rename from test/com/google/inject/OptionalBindingTest.java
rename to core/test/com/google/inject/OptionalBindingTest.java
diff --git a/test/com/google/inject/OverrideModuleTest.java b/core/test/com/google/inject/OverrideModuleTest.java
similarity index 100%
rename from test/com/google/inject/OverrideModuleTest.java
rename to core/test/com/google/inject/OverrideModuleTest.java
diff --git a/test/com/google/inject/ParentInjectorTest.java b/core/test/com/google/inject/ParentInjectorTest.java
similarity index 100%
rename from test/com/google/inject/ParentInjectorTest.java
rename to core/test/com/google/inject/ParentInjectorTest.java
diff --git a/test/com/google/inject/PerformanceComparison.java b/core/test/com/google/inject/PerformanceComparison.java
similarity index 100%
rename from test/com/google/inject/PerformanceComparison.java
rename to core/test/com/google/inject/PerformanceComparison.java
diff --git a/test/com/google/inject/PrivateModuleTest.java b/core/test/com/google/inject/PrivateModuleTest.java
similarity index 100%
rename from test/com/google/inject/PrivateModuleTest.java
rename to core/test/com/google/inject/PrivateModuleTest.java
diff --git a/test/com/google/inject/ProviderInjectionTest.java b/core/test/com/google/inject/ProviderInjectionTest.java
similarity index 100%
rename from test/com/google/inject/ProviderInjectionTest.java
rename to core/test/com/google/inject/ProviderInjectionTest.java
diff --git a/test/com/google/inject/ProvisionExceptionTest.java b/core/test/com/google/inject/ProvisionExceptionTest.java
similarity index 100%
rename from test/com/google/inject/ProvisionExceptionTest.java
rename to core/test/com/google/inject/ProvisionExceptionTest.java
diff --git a/test/com/google/inject/ProvisionExceptionsTest.java b/core/test/com/google/inject/ProvisionExceptionsTest.java
similarity index 100%
rename from test/com/google/inject/ProvisionExceptionsTest.java
rename to core/test/com/google/inject/ProvisionExceptionsTest.java
diff --git a/test/com/google/inject/ReflectionTest.java b/core/test/com/google/inject/ReflectionTest.java
similarity index 100%
rename from test/com/google/inject/ReflectionTest.java
rename to core/test/com/google/inject/ReflectionTest.java
diff --git a/test/com/google/inject/RequestInjectionTest.java b/core/test/com/google/inject/RequestInjectionTest.java
similarity index 100%
rename from test/com/google/inject/RequestInjectionTest.java
rename to core/test/com/google/inject/RequestInjectionTest.java
diff --git a/test/com/google/inject/ScopesTest.java b/core/test/com/google/inject/ScopesTest.java
similarity index 100%
rename from test/com/google/inject/ScopesTest.java
rename to core/test/com/google/inject/ScopesTest.java
diff --git a/test/com/google/inject/SerializationTest.java b/core/test/com/google/inject/SerializationTest.java
similarity index 100%
rename from test/com/google/inject/SerializationTest.java
rename to core/test/com/google/inject/SerializationTest.java
diff --git a/test/com/google/inject/SuperclassTest.java b/core/test/com/google/inject/SuperclassTest.java
similarity index 100%
rename from test/com/google/inject/SuperclassTest.java
rename to core/test/com/google/inject/SuperclassTest.java
diff --git a/test/com/google/inject/TypeConversionTest.java b/core/test/com/google/inject/TypeConversionTest.java
similarity index 100%
rename from test/com/google/inject/TypeConversionTest.java
rename to core/test/com/google/inject/TypeConversionTest.java
diff --git a/test/com/google/inject/TypeListenerTest.java b/core/test/com/google/inject/TypeListenerTest.java
similarity index 100%
rename from test/com/google/inject/TypeListenerTest.java
rename to core/test/com/google/inject/TypeListenerTest.java
diff --git a/test/com/google/inject/TypeLiteralInjectionTest.java b/core/test/com/google/inject/TypeLiteralInjectionTest.java
similarity index 100%
rename from test/com/google/inject/TypeLiteralInjectionTest.java
rename to core/test/com/google/inject/TypeLiteralInjectionTest.java
diff --git a/test/com/google/inject/TypeLiteralTest.java b/core/test/com/google/inject/TypeLiteralTest.java
similarity index 100%
rename from test/com/google/inject/TypeLiteralTest.java
rename to core/test/com/google/inject/TypeLiteralTest.java
diff --git a/test/com/google/inject/TypeLiteralTypeResolutionTest.java b/core/test/com/google/inject/TypeLiteralTypeResolutionTest.java
similarity index 100%
rename from test/com/google/inject/TypeLiteralTypeResolutionTest.java
rename to core/test/com/google/inject/TypeLiteralTypeResolutionTest.java
diff --git a/test/com/google/inject/example/ClientServiceWithDependencyInjection.java b/core/test/com/google/inject/example/ClientServiceWithDependencyInjection.java
similarity index 100%
rename from test/com/google/inject/example/ClientServiceWithDependencyInjection.java
rename to core/test/com/google/inject/example/ClientServiceWithDependencyInjection.java
diff --git a/test/com/google/inject/example/ClientServiceWithFactories.java b/core/test/com/google/inject/example/ClientServiceWithFactories.java
similarity index 100%
rename from test/com/google/inject/example/ClientServiceWithFactories.java
rename to core/test/com/google/inject/example/ClientServiceWithFactories.java
diff --git a/test/com/google/inject/example/ClientServiceWithGuice.java b/core/test/com/google/inject/example/ClientServiceWithGuice.java
similarity index 100%
rename from test/com/google/inject/example/ClientServiceWithGuice.java
rename to core/test/com/google/inject/example/ClientServiceWithGuice.java
diff --git a/test/com/google/inject/example/ClientServiceWithGuiceDefaults.java b/core/test/com/google/inject/example/ClientServiceWithGuiceDefaults.java
similarity index 100%
rename from test/com/google/inject/example/ClientServiceWithGuiceDefaults.java
rename to core/test/com/google/inject/example/ClientServiceWithGuiceDefaults.java
diff --git a/test/com/google/inject/example/JndiProvider.java b/core/test/com/google/inject/example/JndiProvider.java
similarity index 100%
rename from test/com/google/inject/example/JndiProvider.java
rename to core/test/com/google/inject/example/JndiProvider.java
diff --git a/test/com/google/inject/example/JndiProviderClient.java b/core/test/com/google/inject/example/JndiProviderClient.java
similarity index 100%
rename from test/com/google/inject/example/JndiProviderClient.java
rename to core/test/com/google/inject/example/JndiProviderClient.java
diff --git a/test/com/google/inject/internal/MoreTypesTest.java b/core/test/com/google/inject/internal/MoreTypesTest.java
similarity index 100%
rename from test/com/google/inject/internal/MoreTypesTest.java
rename to core/test/com/google/inject/internal/MoreTypesTest.java
diff --git a/test/com/google/inject/internal/ProxyFactoryTest.java b/core/test/com/google/inject/internal/ProxyFactoryTest.java
similarity index 100%
rename from test/com/google/inject/internal/ProxyFactoryTest.java
rename to core/test/com/google/inject/internal/ProxyFactoryTest.java
diff --git a/test/com/google/inject/internal/UniqueAnnotationsTest.java b/core/test/com/google/inject/internal/UniqueAnnotationsTest.java
similarity index 100%
rename from test/com/google/inject/internal/UniqueAnnotationsTest.java
rename to core/test/com/google/inject/internal/UniqueAnnotationsTest.java
diff --git a/test/com/google/inject/internal/util/FinalizableReferenceQueueTest.java b/core/test/com/google/inject/internal/util/FinalizableReferenceQueueTest.java
similarity index 100%
rename from test/com/google/inject/internal/util/FinalizableReferenceQueueTest.java
rename to core/test/com/google/inject/internal/util/FinalizableReferenceQueueTest.java
diff --git a/test/com/google/inject/internal/util/ForwardingCollection.java b/core/test/com/google/inject/internal/util/ForwardingCollection.java
similarity index 100%
rename from test/com/google/inject/internal/util/ForwardingCollection.java
rename to core/test/com/google/inject/internal/util/ForwardingCollection.java
diff --git a/test/com/google/inject/internal/util/ForwardingConcurrentMap.java b/core/test/com/google/inject/internal/util/ForwardingConcurrentMap.java
similarity index 100%
rename from test/com/google/inject/internal/util/ForwardingConcurrentMap.java
rename to core/test/com/google/inject/internal/util/ForwardingConcurrentMap.java
diff --git a/test/com/google/inject/internal/util/ForwardingMap.java b/core/test/com/google/inject/internal/util/ForwardingMap.java
similarity index 100%
rename from test/com/google/inject/internal/util/ForwardingMap.java
rename to core/test/com/google/inject/internal/util/ForwardingMap.java
diff --git a/test/com/google/inject/internal/util/ForwardingObject.java b/core/test/com/google/inject/internal/util/ForwardingObject.java
similarity index 100%
rename from test/com/google/inject/internal/util/ForwardingObject.java
rename to core/test/com/google/inject/internal/util/ForwardingObject.java
diff --git a/test/com/google/inject/internal/util/ForwardingSet.java b/core/test/com/google/inject/internal/util/ForwardingSet.java
similarity index 100%
rename from test/com/google/inject/internal/util/ForwardingSet.java
rename to core/test/com/google/inject/internal/util/ForwardingSet.java
diff --git a/test/com/google/inject/internal/util/Jsr166HashMap.java b/core/test/com/google/inject/internal/util/Jsr166HashMap.java
similarity index 100%
rename from test/com/google/inject/internal/util/Jsr166HashMap.java
rename to core/test/com/google/inject/internal/util/Jsr166HashMap.java
diff --git a/test/com/google/inject/internal/util/Jsr166HashMapTest.java b/core/test/com/google/inject/internal/util/Jsr166HashMapTest.java
similarity index 100%
rename from test/com/google/inject/internal/util/Jsr166HashMapTest.java
rename to core/test/com/google/inject/internal/util/Jsr166HashMapTest.java
diff --git a/test/com/google/inject/internal/util/LineNumbersTest.java b/core/test/com/google/inject/internal/util/LineNumbersTest.java
similarity index 100%
rename from test/com/google/inject/internal/util/LineNumbersTest.java
rename to core/test/com/google/inject/internal/util/LineNumbersTest.java
diff --git a/test/com/google/inject/internal/util/MapMakerTestSuite.java b/core/test/com/google/inject/internal/util/MapMakerTestSuite.java
similarity index 100%
rename from test/com/google/inject/internal/util/MapMakerTestSuite.java
rename to core/test/com/google/inject/internal/util/MapMakerTestSuite.java
diff --git a/test/com/google/inject/matcher/MatcherTest.java b/core/test/com/google/inject/matcher/MatcherTest.java
similarity index 100%
rename from test/com/google/inject/matcher/MatcherTest.java
rename to core/test/com/google/inject/matcher/MatcherTest.java
diff --git a/test/com/google/inject/name/NamedEquivalanceTest.java b/core/test/com/google/inject/name/NamedEquivalanceTest.java
similarity index 100%
rename from test/com/google/inject/name/NamedEquivalanceTest.java
rename to core/test/com/google/inject/name/NamedEquivalanceTest.java
diff --git a/test/com/google/inject/name/NamesTest.java b/core/test/com/google/inject/name/NamesTest.java
similarity index 100%
rename from test/com/google/inject/name/NamesTest.java
rename to core/test/com/google/inject/name/NamesTest.java
diff --git a/test/com/google/inject/spi/BindingTargetVisitorTest.java b/core/test/com/google/inject/spi/BindingTargetVisitorTest.java
similarity index 100%
rename from test/com/google/inject/spi/BindingTargetVisitorTest.java
rename to core/test/com/google/inject/spi/BindingTargetVisitorTest.java
diff --git a/test/com/google/inject/spi/ElementApplyToTest.java b/core/test/com/google/inject/spi/ElementApplyToTest.java
similarity index 100%
rename from test/com/google/inject/spi/ElementApplyToTest.java
rename to core/test/com/google/inject/spi/ElementApplyToTest.java
diff --git a/test/com/google/inject/spi/ElementsTest.java b/core/test/com/google/inject/spi/ElementsTest.java
similarity index 100%
rename from test/com/google/inject/spi/ElementsTest.java
rename to core/test/com/google/inject/spi/ElementsTest.java
diff --git a/test/com/google/inject/spi/FailingBindingScopingVisitor.java b/core/test/com/google/inject/spi/FailingBindingScopingVisitor.java
similarity index 100%
rename from test/com/google/inject/spi/FailingBindingScopingVisitor.java
rename to core/test/com/google/inject/spi/FailingBindingScopingVisitor.java
diff --git a/test/com/google/inject/spi/FailingElementVisitor.java b/core/test/com/google/inject/spi/FailingElementVisitor.java
similarity index 100%
rename from test/com/google/inject/spi/FailingElementVisitor.java
rename to core/test/com/google/inject/spi/FailingElementVisitor.java
diff --git a/test/com/google/inject/spi/FailingTargetVisitor.java b/core/test/com/google/inject/spi/FailingTargetVisitor.java
similarity index 100%
rename from test/com/google/inject/spi/FailingTargetVisitor.java
rename to core/test/com/google/inject/spi/FailingTargetVisitor.java
diff --git a/test/com/google/inject/spi/HasDependenciesTest.java b/core/test/com/google/inject/spi/HasDependenciesTest.java
similarity index 100%
rename from test/com/google/inject/spi/HasDependenciesTest.java
rename to core/test/com/google/inject/spi/HasDependenciesTest.java
diff --git a/test/com/google/inject/spi/InjectionPointTest.java b/core/test/com/google/inject/spi/InjectionPointTest.java
similarity index 100%
rename from test/com/google/inject/spi/InjectionPointTest.java
rename to core/test/com/google/inject/spi/InjectionPointTest.java
diff --git a/test/com/google/inject/spi/InjectorSpiTest.java b/core/test/com/google/inject/spi/InjectorSpiTest.java
similarity index 100%
rename from test/com/google/inject/spi/InjectorSpiTest.java
rename to core/test/com/google/inject/spi/InjectorSpiTest.java
diff --git a/test/com/google/inject/spi/ModuleRewriterTest.java b/core/test/com/google/inject/spi/ModuleRewriterTest.java
similarity index 100%
rename from test/com/google/inject/spi/ModuleRewriterTest.java
rename to core/test/com/google/inject/spi/ModuleRewriterTest.java
diff --git a/test/com/google/inject/spi/ProviderMethodsTest.java b/core/test/com/google/inject/spi/ProviderMethodsTest.java
similarity index 100%
rename from test/com/google/inject/spi/ProviderMethodsTest.java
rename to core/test/com/google/inject/spi/ProviderMethodsTest.java
diff --git a/test/com/google/inject/spi/SpiBindingsTest.java b/core/test/com/google/inject/spi/SpiBindingsTest.java
similarity index 100%
rename from test/com/google/inject/spi/SpiBindingsTest.java
rename to core/test/com/google/inject/spi/SpiBindingsTest.java
diff --git a/test/com/google/inject/spi/ToolStageInjectorTest.java b/core/test/com/google/inject/spi/ToolStageInjectorTest.java
similarity index 100%
rename from test/com/google/inject/spi/ToolStageInjectorTest.java
rename to core/test/com/google/inject/spi/ToolStageInjectorTest.java
diff --git a/test/com/google/inject/util/NoopOverrideTest.java b/core/test/com/google/inject/util/NoopOverrideTest.java
similarity index 100%
rename from test/com/google/inject/util/NoopOverrideTest.java
rename to core/test/com/google/inject/util/NoopOverrideTest.java
diff --git a/test/com/google/inject/util/ProvidersTest.java b/core/test/com/google/inject/util/ProvidersTest.java
similarity index 100%
rename from test/com/google/inject/util/ProvidersTest.java
rename to core/test/com/google/inject/util/ProvidersTest.java
diff --git a/test/com/google/inject/util/TypesTest.java b/core/test/com/google/inject/util/TypesTest.java
similarity index 100%
rename from test/com/google/inject/util/TypesTest.java
rename to core/test/com/google/inject/util/TypesTest.java
diff --git a/test/com/googlecode/guice/BytecodeGenTest.java b/core/test/com/googlecode/guice/BytecodeGenTest.java
similarity index 100%
rename from test/com/googlecode/guice/BytecodeGenTest.java
rename to core/test/com/googlecode/guice/BytecodeGenTest.java
diff --git a/test/com/googlecode/guice/GuiceTck.java b/core/test/com/googlecode/guice/GuiceTck.java
similarity index 100%
rename from test/com/googlecode/guice/GuiceTck.java
rename to core/test/com/googlecode/guice/GuiceTck.java
diff --git a/test/com/googlecode/guice/Jsr330Test.java b/core/test/com/googlecode/guice/Jsr330Test.java
similarity index 100%
rename from test/com/googlecode/guice/Jsr330Test.java
rename to core/test/com/googlecode/guice/Jsr330Test.java
diff --git a/test/com/googlecode/guice/OSGiContainerTest.java b/core/test/com/googlecode/guice/OSGiContainerTest.java
similarity index 100%
rename from test/com/googlecode/guice/OSGiContainerTest.java
rename to core/test/com/googlecode/guice/OSGiContainerTest.java
diff --git a/test/com/googlecode/guice/PackageVisibilityTestModule.java b/core/test/com/googlecode/guice/PackageVisibilityTestModule.java
similarity index 100%
rename from test/com/googlecode/guice/PackageVisibilityTestModule.java
rename to core/test/com/googlecode/guice/PackageVisibilityTestModule.java
diff --git a/test/com/googlecode/guice/StrictContainerTestSuite.java b/core/test/com/googlecode/guice/StrictContainerTestSuite.java
similarity index 100%
rename from test/com/googlecode/guice/StrictContainerTestSuite.java
rename to core/test/com/googlecode/guice/StrictContainerTestSuite.java
diff --git a/test/com/googlecode/guice/StrictContainerTestSuiteBuilder.java b/core/test/com/googlecode/guice/StrictContainerTestSuiteBuilder.java
similarity index 100%
rename from test/com/googlecode/guice/StrictContainerTestSuiteBuilder.java
rename to core/test/com/googlecode/guice/StrictContainerTestSuiteBuilder.java
diff --git a/test/com/googlecode/guice/bundle/OSGiTestActivator.java b/core/test/com/googlecode/guice/bundle/OSGiTestActivator.java
similarity index 100%
rename from test/com/googlecode/guice/bundle/OSGiTestActivator.java
rename to core/test/com/googlecode/guice/bundle/OSGiTestActivator.java
diff --git a/guice.iml b/guice.iml
index 21f9e5c..53b2d05 100644
--- a/guice.iml
+++ b/guice.iml
@@ -3,8 +3,8 @@
   <component name="NewModuleRootManager" inherit-compiler-output="true">
     <exclude-output />
     <content url="file://$MODULE_DIR$">
-      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
-      <sourceFolder url="file://$MODULE_DIR$/test" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/core/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/core/test" isTestSource="true" />
       <excludeFolder url="file://$MODULE_DIR$/build" />
       <excludeFolder url="file://$MODULE_DIR$/classes" />
       <excludeFolder url="file://$MODULE_DIR$/javadoc" />