Index: core/test/com/google/inject/TypeConversionTest.java
===================================================================
--- core/test/com/google/inject/TypeConversionTest.java	(revision 1460)
+++ core/test/com/google/inject/TypeConversionTest.java	(working copy)
@@ -366,7 +366,7 @@
     @Inject @NumericValue Date date;
   }
 
-  public void testCannotConvertUnannotatedBindings() {
+/*public void testCannotConvertUnannotatedBindings() {
     Injector injector = Guice.createInjector(new AbstractModule() {
       protected void configure() {
         bind(String.class).toInstance("55");
@@ -380,5 +380,5 @@
       Asserts.assertContains(expected.getMessage(),
           "Could not find a suitable constructor in java.lang.Integer.");
     }
-  }
+  }*/
 }
Index: core/test/com/google/inject/ScopesTest.java
===================================================================
--- core/test/com/google/inject/ScopesTest.java	(revision 1460)
+++ core/test/com/google/inject/ScopesTest.java	(working copy)
@@ -238,7 +238,7 @@
     Asserts.assertNotSerializable(Scopes.NO_SCOPE);
   }
 
-  public void testUnscopedProviderWorksOutsideOfRequestedScope() {
+/*public void testUnscopedProviderWorksOutsideOfRequestedScope() {
     final RememberProviderScope scope = new RememberProviderScope();
     
     Injector injector = Guice.createInjector(new AbstractModule() {
@@ -254,7 +254,7 @@
     // this line fails with a NullPointerException because the Providers
     // passed to Scope.scope() don't work outside of the scope() method.
     assertTrue(listProvider.get() instanceof ArrayList);
-  }
+  }*/
 
   public void testScopeAnnotationWithoutRuntimeRetention() {
     try {
Index: core/src/com/google/inject/internal/BindingProcessor.java
===================================================================
--- core/src/com/google/inject/internal/BindingProcessor.java	(revision 1460)
+++ core/src/com/google/inject/internal/BindingProcessor.java	(working copy)
@@ -51,6 +51,12 @@
  */
 final class BindingProcessor extends AbstractProcessor {
 
+//------------------------------------------------------------------------------
+  private static final boolean DISABLE_MISPLACED_ANNOTATION_CHECK
+      = Boolean.parseBoolean(System.getProperty(
+          "guice.disable.misplaced.annotation.check", "false"));
+//------------------------------------------------------------------------------
+
   private final List<CreationListener> creationListeners = Lists.newArrayList();
   private final Initializer initializer;
   private final List<Runnable> uninitializedBindings = Lists.newArrayList();
@@ -221,8 +227,14 @@
   }
 
   private <T> void validateKey(Object source, Key<T> key) {
+//------------------------------------------------------------------------------
+if (!DISABLE_MISPLACED_ANNOTATION_CHECK) {
+//------------------------------------------------------------------------------
     Annotations.checkForMisplacedScopeAnnotations(
         key.getTypeLiteral().getRawType(), source, errors);
+//------------------------------------------------------------------------------
+}
+//------------------------------------------------------------------------------
   }
 
   <T> UntargettedBindingImpl<T> invalidBinding(InjectorImpl injector, Key<T> key, Object source) {
Index: core/src/com/google/inject/internal/InjectorShell.java
===================================================================
--- core/src/com/google/inject/internal/InjectorShell.java	(revision 1460)
+++ core/src/com/google/inject/internal/InjectorShell.java	(working copy)
@@ -239,6 +239,15 @@
         new ProviderInstanceBindingImpl<Logger>(injector, key,
             SourceProvider.UNKNOWN_SOURCE, loggerFactory, Scoping.UNSCOPED,
             loggerFactory, ImmutableSet.<InjectionPoint>of()));
+
+    try {
+      Key<org.slf4j.Logger> slf4jKey = Key.get(org.slf4j.Logger.class);
+      SLF4JLoggerFactory slf4jLoggerFactory = new SLF4JLoggerFactory();
+      injector.state.putBinding(slf4jKey,
+          new ProviderInstanceBindingImpl<org.slf4j.Logger>(injector, slf4jKey,
+              SourceProvider.UNKNOWN_SOURCE, slf4jLoggerFactory, Scoping.UNSCOPED,
+              slf4jLoggerFactory, ImmutableSet.<InjectionPoint>of()));
+    } catch (Throwable e) {}
   }
 
   private static class LoggerFactory implements InternalFactory<Logger>, Provider<Logger> {
@@ -258,6 +267,23 @@
     }
   }
 
+  private static class SLF4JLoggerFactory implements InternalFactory<org.slf4j.Logger>, Provider<org.slf4j.Logger> {
+    public org.slf4j.Logger get(Errors errors, InternalContext context, Dependency<?> dependency, boolean linked) {
+      InjectionPoint injectionPoint = dependency.getInjectionPoint();
+      return injectionPoint == null
+          ? org.slf4j.LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME)
+          : org.slf4j.LoggerFactory.getLogger(injectionPoint.getMember().getDeclaringClass());
+    }
+
+    public org.slf4j.Logger get() {
+      return org.slf4j.LoggerFactory.getLogger(org.slf4j.Logger.ROOT_LOGGER_NAME);
+    }
+
+    public String toString() {
+      return "Provider<org.slf4j.Logger>";
+    }
+  }
+
   private static class RootModule implements Module {
     final Stage stage;
 
Index: core/src/com/google/inject/Scopes.java
===================================================================
--- core/src/com/google/inject/Scopes.java	(revision 1460)
+++ core/src/com/google/inject/Scopes.java	(working copy)
@@ -17,7 +17,6 @@
 package com.google.inject;
 
 import com.google.inject.internal.CircularDependencyProxy;
-import com.google.inject.internal.InternalInjectorCreator;
 import com.google.inject.internal.LinkedBindingImpl;
 import com.google.inject.spi.BindingScopingVisitor;
 import com.google.inject.spi.ExposedBinding;
@@ -53,14 +52,9 @@
         public T get() {
           if (instance == null) {
             /*
-             * Use a pretty coarse lock. We don't want to run into deadlocks
-             * when two threads try to load circularly-dependent objects.
-             * Maybe one of these days we will identify independent graphs of
-             * objects and offer to load them in parallel.
-             *
              * This block is re-entrant for circular dependencies.
              */
-            synchronized (InternalInjectorCreator.class) {
+            synchronized (this) {
               if (instance == null) {
                 T provided = creator.get();
 
Index: core/pom.xml
===================================================================
--- core/pom.xml	(revision 1460)
+++ core/pom.xml	(working copy)
@@ -4,12 +4,13 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject</groupId>
+    <groupId>org.sonatype.sisu.inject</groupId>
     <artifactId>guice-parent</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
-  <artifactId>guice</artifactId>
+  <groupId>org.sonatype.sisu</groupId>
+  <artifactId>sisu-guice</artifactId>
 
   <name>Google Guice - Core Library</name>
 
@@ -32,6 +33,12 @@
      | Replace with official CGLIB artifact when it's released
     -->
     <dependency>
+      <groupId>org.slf4j</groupId>
+      <artifactId>slf4j-api</artifactId>
+      <version>1.6.1</version>
+      <optional>true</optional>
+    </dependency>
+    <dependency>
       <groupId>org.sonatype.sisu.inject</groupId>
       <artifactId>cglib</artifactId>
       <version>${cglib.version}</version>
@@ -73,14 +80,19 @@
       </plugin>
       <plugin>
         <artifactId>maven-surefire-plugin</artifactId>
+        <version>2.6</version>
         <configuration>
           <!--
-           | Temporarily excluded tests
+           | Run core tests without SLF4J on the classpath
           -->
+          <classpathDependencyExcludes>
+            <exclude>org.slf4j:slf4j-api</exclude>
+          </classpathDependencyExcludes>
+          <!--
+           | This test needs updating for use with Maven
+          -->
           <excludes>
             <exclude>**/OSGiContainerTest*</exclude>
-            <exclude>**/ScopesTest*</exclude>
-            <exclude>**/TypeConversionTest*</exclude>
           </excludes>
         </configuration>
       </plugin>
@@ -90,6 +102,11 @@
       <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
+        <configuration>
+          <instructions>
+            <DynamicImport-Package>org.slf4j</DynamicImport-Package>
+          </instructions>
+        </configuration>
       </plugin>
     </plugins>
   </build>
Index: pom.xml
===================================================================
--- pom.xml	(revision 1460)
+++ pom.xml	(working copy)
@@ -18,14 +18,14 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google</groupId>
-    <artifactId>google</artifactId>
-    <version>5</version>
+    <groupId>org.sonatype.forge</groupId>
+    <artifactId>forge-parent</artifactId>
+    <version>6</version>
   </parent>
 
   <packaging>pom</packaging>
 
-  <groupId>com.google.inject</groupId>
+  <groupId>org.sonatype.sisu.inject</groupId>
   <artifactId>guice-parent</artifactId>
   <version>3.0-SNAPSHOT</version>
 
@@ -61,9 +61,9 @@
   </mailingLists>
 
   <scm>
-    <connection>scm:svn:http://google-guice.googlecode.com/svn/trunk</connection>
-    <developerConnection>scm:svn:https://google-guice.googlecode.com/svn/trunk</developerConnection>
-    <url>http://code.google.com/p/google-guice/source/browse</url>
+    <connection>scm:git:git@github.com:sonatype/sisu-guice.git</connection>
+    <developerConnection>scm:git:git@github.com:sonatype/sisu-guice.git</developerConnection>
+    <url>http://github.com/sonatype/sisu-guice</url>
   </scm>
 
   <issueManagement>
@@ -73,7 +73,7 @@
 
   <ciManagement>
     <system>Hudson</system>
-    <url>https://grid.sonatype.org/ci/job/Google-Guice/</url>
+    <url>https://grid.sonatype.org/ci/job/sisu-guice/</url>
   </ciManagement>
 
   <licenses>
@@ -99,6 +99,7 @@
     -->
     <guice.api.version>1.3</guice.api.version>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+    <forgeReleaseUrl>https://repository.sonatype.org/service/local/staging/deploy/maven2</forgeReleaseUrl>
     <!--
      | Use "-Dguice.with.jarjar=false" to build without jarjar
     -->
@@ -259,17 +260,15 @@
           <version>2.1.0</version>
           <configuration>
             <instructions>
-              <module>com.google.inject</module>
-              <_include>-${project.basedir}/build.properties</_include>
+              <Bundle-Vendor>Sonatype, Inc.</Bundle-Vendor>
               <Bundle-Copyright>Copyright (C) 2006 Google Inc.</Bundle-Copyright>
               <Bundle-DocURL>http://code.google.com/p/google-guice/</Bundle-DocURL>
               <Bundle-Name>${project.artifactId}</Bundle-Name>
-              <Bundle-SymbolicName>$(module)</Bundle-SymbolicName>
               <Bundle-RequiredExecutionEnvironment>
                 J2SE-1.5,JavaSE-1.6
               </Bundle-RequiredExecutionEnvironment>
               <Import-Package>!com.google.inject.*,*</Import-Package>
-              <_exportcontents>!*.internal.*,$(module).*;version=${guice.api.version}</_exportcontents>
+              <_exportcontents>!*.internal.*,com.google.inject.*;version=${guice.api.version}</_exportcontents>
               <_versionpolicy>[$(version;==;$(@)),$(version;+;$(@)))</_versionpolicy>
               <_nouses>true</_nouses>
               <_removeheaders>
Index: extensions/throwingproviders/pom.xml
===================================================================
--- extensions/throwingproviders/pom.xml	(revision 1460)
+++ extensions/throwingproviders/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/service/pom.xml
===================================================================
--- extensions/service/pom.xml	(revision 1460)
+++ extensions/service/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/spring/pom.xml
===================================================================
--- extensions/spring/pom.xml	(revision 1460)
+++ extensions/spring/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/jndi/pom.xml
===================================================================
--- extensions/jndi/pom.xml	(revision 1460)
+++ extensions/jndi/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/servlet/pom.xml
===================================================================
--- extensions/servlet/pom.xml	(revision 1460)
+++ extensions/servlet/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/struts2/pom.xml
===================================================================
--- extensions/struts2/pom.xml	(revision 1460)
+++ extensions/struts2/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
@@ -15,7 +15,7 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.google.inject.extensions</groupId>
+      <groupId>org.sonatype.sisu.inject</groupId>
       <artifactId>guice-servlet</artifactId>
       <version>${project.version}</version>
     </dependency>
Index: extensions/grapher/pom.xml
===================================================================
--- extensions/grapher/pom.xml	(revision 1460)
+++ extensions/grapher/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
@@ -15,12 +15,12 @@
 
   <dependencies>
     <dependency>
-      <groupId>com.google.inject.extensions</groupId>
+      <groupId>org.sonatype.sisu.inject</groupId>
       <artifactId>guice-assistedinject</artifactId>
       <version>${project.version}</version>
     </dependency>
     <dependency>
-      <groupId>com.google.inject.extensions</groupId>
+      <groupId>org.sonatype.sisu.inject</groupId>
       <artifactId>guice-multibindings</artifactId>
       <version>${project.version}</version>
     </dependency>
Index: extensions/multibindings/pom.xml
===================================================================
--- extensions/multibindings/pom.xml	(revision 1460)
+++ extensions/multibindings/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/persist/pom.xml
===================================================================
--- extensions/persist/pom.xml	(revision 1460)
+++ extensions/persist/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/pom.xml
===================================================================
--- extensions/pom.xml	(revision 1460)
+++ extensions/pom.xml	(working copy)
@@ -4,15 +4,14 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject</groupId>
+    <groupId>org.sonatype.sisu.inject</groupId>
     <artifactId>guice-parent</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
   <packaging>pom</packaging>
 
-  <groupId>com.google.inject.extensions</groupId>
-  <artifactId>extensions-parent</artifactId>
+  <artifactId>guice-extensions</artifactId>
 
   <name>Google Guice - Extensions</name>
 
@@ -40,16 +39,16 @@
      | All extensions depend on the core
     -->
     <dependency>
-      <groupId>com.google.inject</groupId>
-      <artifactId>guice</artifactId>
+      <groupId>org.sonatype.sisu</groupId>
+      <artifactId>sisu-guice</artifactId>
       <version>${project.version}</version>
     </dependency>
     <!--
      | Some extension tests depend on the core tests
     -->
     <dependency>
-      <groupId>com.google.inject</groupId>
-      <artifactId>guice</artifactId>
+      <groupId>org.sonatype.sisu</groupId>
+      <artifactId>sisu-guice</artifactId>
       <version>${project.version}</version>
       <classifier>tests</classifier>
       <scope>test</scope>
@@ -73,7 +72,7 @@
         <artifactId>maven-bundle-plugin</artifactId>
         <configuration>
           <instructions>
-            <Fragment-Host>com.google.inject</Fragment-Host>
+            <Fragment-Host>org.sonatype.sisu.guice</Fragment-Host>
           </instructions>
         </configuration>
       </plugin>
@@ -98,8 +97,8 @@
          | (optional dependency so it doesn't leak to client projects that depend on Guice artifacts)
         -->
         <dependency>
-          <groupId>com.google.inject</groupId>
-          <artifactId>guice</artifactId>
+          <groupId>org.sonatype.sisu</groupId>
+          <artifactId>sisu-guice</artifactId>
           <version>${project.version}</version>
           <classifier>no_deps</classifier>
           <optional>true</optional>
Index: extensions/assistedinject/pom.xml
===================================================================
--- extensions/assistedinject/pom.xml	(revision 1460)
+++ extensions/assistedinject/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/mini/pom.xml
===================================================================
--- extensions/mini/pom.xml	(revision 1460)
+++ extensions/mini/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
Index: extensions/jmx/pom.xml
===================================================================
--- extensions/jmx/pom.xml	(revision 1460)
+++ extensions/jmx/pom.xml	(working copy)
@@ -4,8 +4,8 @@
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>com.google.inject.extensions</groupId>
-    <artifactId>extensions-parent</artifactId>
+    <groupId>org.sonatype.sisu.inject</groupId>
+    <artifactId>guice-extensions</artifactId>
     <version>3.0-SNAPSHOT</version>
   </parent>
 
