diff --git a/tools/build/envDefaults b/tools/build/envDefaults
index 9214f4d..24cab2f 100644
--- a/tools/build/envDefaults
+++ b/tools/build/envDefaults
@@ -18,8 +18,8 @@
 export BUILD_NUMBER=${BUILD_NUMBER:-$(id -un)~$(date +'%Y/%m/%d@%H:%M')}
 
 # ONOS Version and onos.tar.gz staging environment
-export ONOS_POM_VERSION="1.2.0-rc1"
-export ONOS_VERSION=${ONOS_VERSION:-1.2.0-rc1.$BUILD_NUMBER}
+export ONOS_POM_VERSION="1.2.0-SNAPSHOT"
+export ONOS_VERSION=${ONOS_VERSION:-1.2.0.$BUILD_NUMBER}
 
 # ONOS production bits (onos.tar.gz & onos.zip) staging environment
 export ONOS_BITS=onos-${ONOS_VERSION%~*}
diff --git a/tools/build/onos-upload-bits b/tools/build/onos-upload-bits
index 19eaada..e0d5524 100755
--- a/tools/build/onos-upload-bits
+++ b/tools/build/onos-upload-bits
@@ -8,4 +8,4 @@
 #FIXME need to export s3Creds
 #TODO we could verify that ONOS_VERSION is set, and only upload that version
 
-python onosUploadBits.py
+onosUploadBits.py
diff --git a/tools/build/onosUploadBits.py b/tools/build/onosUploadBits.py
index 284a509..b86f45d 100755
--- a/tools/build/onosUploadBits.py
+++ b/tools/build/onosUploadBits.py
@@ -30,11 +30,11 @@
             version = match.group(1)
             build = match.group(2)
             if build:
-                if 'NIGHTLY' in build:
+                if 'NIGHTLY' in build or 'rc' in build:
                     uploadFile(filePath, dest='nightly/')
             else:
                 #no build; this is a release
                 uploadFile(filePath, dest='release/')
 
 if __name__ == '__main__':
-    findBits( '/tmp' )
\ No newline at end of file
+    findBits( '/tmp' )
diff --git a/tools/package/archetypes/api/pom.xml b/tools/package/archetypes/api/pom.xml
index 0fd08f8..9db85ee 100644
--- a/tools/package/archetypes/api/pom.xml
+++ b/tools/package/archetypes/api/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.onosproject</groupId>
     <artifactId>onos-archetypes</artifactId>
-    <version>1.2.0-rc1</version>
+    <version>1.2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>onos-api-archetype</artifactId>
diff --git a/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml b/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml
index 3237dbf..775f596 100644
--- a/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml
+++ b/tools/package/archetypes/api/src/main/resources/archetype-resources/pom.xml
@@ -26,7 +26,7 @@
     <url>http://onosproject.org</url>
 
     <properties>
-        <onos.version>1.2.0-rc1</onos.version>
+        <onos.version>1.2.0-SNAPSHOT</onos.version>
     </properties>
 
     <dependencies>
diff --git a/tools/package/archetypes/bundle/pom.xml b/tools/package/archetypes/bundle/pom.xml
index 1dd02d2..e832d23 100644
--- a/tools/package/archetypes/bundle/pom.xml
+++ b/tools/package/archetypes/bundle/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.onosproject</groupId>
     <artifactId>onos-archetypes</artifactId>
-    <version>1.2.0-rc1</version>
+    <version>1.2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>onos-bundle-archetype</artifactId>
diff --git a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
index 4bfe017..2b9a2b6 100644
--- a/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
+++ b/tools/package/archetypes/bundle/src/main/resources/archetype-resources/pom.xml
@@ -26,7 +26,7 @@
     <url>http://onosproject.org</url>
 
     <properties>
-        <onos.version>1.2.0-rc1</onos.version>
+        <onos.version>1.2.0-SNAPSHOT</onos.version>
         <!-- Uncomment to generate ONOS app from this module.
         <onos.app.name>org.foo.app</onos.app.name>
         <onos.app.origin>Foo, Inc.</onos.app.origin>
diff --git a/tools/package/archetypes/cli/pom.xml b/tools/package/archetypes/cli/pom.xml
index c13ed03..7152dab 100644
--- a/tools/package/archetypes/cli/pom.xml
+++ b/tools/package/archetypes/cli/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.onosproject</groupId>
     <artifactId>onos-archetypes</artifactId>
-    <version>1.2.0-rc1</version>
+    <version>1.2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>onos-cli-archetype</artifactId>
diff --git a/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml b/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml
index 8bedfc3..bb5262e 100644
--- a/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml
+++ b/tools/package/archetypes/cli/src/main/resources/archetype-resources/pom.xml
@@ -26,7 +26,7 @@
     <url>http://onosproject.org</url>
 
     <properties>
-        <onos.version>1.2.0-rc1</onos.version>
+        <onos.version>1.2.0-SNAPSHOT</onos.version>
     </properties>
 
     <dependencies>
diff --git a/tools/package/archetypes/pom.xml b/tools/package/archetypes/pom.xml
index 5023ed9..fe7cf00 100644
--- a/tools/package/archetypes/pom.xml
+++ b/tools/package/archetypes/pom.xml
@@ -27,7 +27,7 @@
     </parent>
 
     <artifactId>onos-archetypes</artifactId>
-    <version>1.2.0-rc1</version>
+    <version>1.2.0-SNAPSHOT</version>
     <packaging>pom</packaging>
 
     <description>ONOS archetypes project</description>
diff --git a/tools/package/archetypes/ui/pom.xml b/tools/package/archetypes/ui/pom.xml
index ee4d846..152ee9e 100644
--- a/tools/package/archetypes/ui/pom.xml
+++ b/tools/package/archetypes/ui/pom.xml
@@ -20,7 +20,7 @@
   <parent>
     <groupId>org.onosproject</groupId>
     <artifactId>onos-archetypes</artifactId>
-    <version>1.2.0-rc1</version>
+    <version>1.2.0-SNAPSHOT</version>
   </parent>
 
   <artifactId>onos-ui-archetype</artifactId>
diff --git a/tools/package/branding/pom.xml b/tools/package/branding/pom.xml
index a301a57..7edbcfb 100644
--- a/tools/package/branding/pom.xml
+++ b/tools/package/branding/pom.xml
@@ -21,7 +21,7 @@
     <parent>
         <groupId>org.onosproject</groupId>
         <artifactId>onos</artifactId>
-        <version>1.2.0-rc1</version>
+        <version>1.2.0-SNAPSHOT</version>
         <relativePath>../../../pom.xml</relativePath>
     </parent>
 
diff --git a/tools/test/bin/onos-archetypes-test b/tools/test/bin/onos-archetypes-test
index fa0d4f3..af7d6dd 100755
--- a/tools/test/bin/onos-archetypes-test
+++ b/tools/test/bin/onos-archetypes-test
@@ -4,7 +4,7 @@
 # -----------------------------------------------------------------------------
 
 export AROOT=/tmp/foo
-export ARCHETYPE_OPTS="-DarchetypeGroupId=org.onosproject -Dversion=1.2.0-rc1"
+export ARCHETYPE_OPTS="-DarchetypeGroupId=org.onosproject -Dversion=1.2.0-SNAPSHOT"
 
 mkdir -p $AROOT
 for an in api bundle cli ui; do
diff --git a/tools/test/topos/onos.py b/tools/test/topos/onos.py
index e495725..cdad6da 100755
--- a/tools/test/topos/onos.py
+++ b/tools/test/topos/onos.py
@@ -62,7 +62,7 @@
    
     def start( self ):
         if self.inNamespace:
-            instanceOpts = ( '-furl mvn:org.onosproject/onos-features/1.2.0-rc1/xml/features '
+            instanceOpts = ( '-furl mvn:org.onosproject/onos-features/1.2.0-SNAPSHOT/xml/features '
                              '-s 8101' )
             if self.ip is not None:
                 instanceOpts += (' -a %s' % self.IP() )
