diff --git a/.gitignore b/.gitignore
index 5182fd5decc5a197530e1d0354ccf897b5a0bbe5..eb72ae3853e18cd6c17446e620b03d89410130a6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
+local.*
 /bin
 /build
 /gradle
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..42eecbddcbb8da9763d95a2b89d6594bead8d9e4
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,21 @@
+language: java
+
+script: gradle tla2b check uploadArchives
+
+before_install:
+- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in secring.gpg.enc -out secring.gpg
+  -d
+- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in pubring.gpg.enc -out pubring.gpg
+  -d
+- openssl aes-256-cbc -pass pass:$ENCRYPTION_PASSWORD -in gradle.properties.enc -out
+  gradle.properties -d
+
+after_success: find TLA2B.jar -type f -exec
+  curl -u $FTP_USER:$FTP_PASS --ftp-create-dirs -T {} ftp://cobra.cs.uni-duesseldorf.de/upload/{}
+  \;
+
+env:
+  global:
+  - secure: RSWp6NRFm5iSK76fm6Ms1FLyUKMKhXt1JrUAQ6x558R73mT7SUvdKbBn9Ffh+TiNO6JVsma3KFoHvYnx8Ys6OGipyXW8g2DKiyg3jm2im4HTtxJqpp7Rls0gm0jGpjOOLwkWl719DZLC6+cPoUuGWtAk8FbowkBz1uWySnJSltI=
+  - secure: COBSC/26p1nTF3rZgSdy1iz7biCnwULsTrc5R6HvcZwlve8jtMej6Nr0oecjcAFvZaaKrEZTSSRtI3W5gwC5Jxpffgrf0ZmJPXg1BPwamve97s7Gyhfb1wyJWRPOkt71AVqBXe6yvSnjm5jeExsE+mUIpurmG9eUaWGDU8gXRv0=
+  - secure: G0dFwNmRNpxhqUYJyx+Ua7/Grb+AMLCipOuysyeR6ImRPHCwI1i5Hd5pPnRqq30psTiWllFc5eijqVvx19bLIUARG0pH7rUBcKNeL0R9THpJcflOO3NNAx5wF01jpuK0CnkDfnz90FDpjvB6vPi2NCInMKypuozxMsMZVnhzm90=
diff --git a/README b/README
deleted file mode 100644
index 2f02b90a9e97a08f15029b6ec501c3733e8cfeba..0000000000000000000000000000000000000000
--- a/README
+++ /dev/null
@@ -1 +0,0 @@
-tla2bAST
\ No newline at end of file
diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..67fb003ee7fc1d5c35ee0c1aac8534450f2e2e79
--- /dev/null
+++ b/README.md
@@ -0,0 +1,3 @@
+# tla2bAST
+
+[![Build Status](https://travis-ci.org/hhu-stups/tla2bAST.svg)](https://travis-ci.org/hhu-stups/tla2bAST)
diff --git a/build.gradle b/build.gradle
index 374e116ef111c0eaa4e3d189d782da6bbc8b7914..3a64a6f2f0feaf9dabef8e04a3e26106234cad83 100644
--- a/build.gradle
+++ b/build.gradle
@@ -4,19 +4,26 @@ apply plugin: 'maven'
 apply plugin: 'jacoco'
 apply plugin: 'findbugs'
 
-project.version = '1.0.5-SNAPSHOT'
-project.group = 'de.prob'
+project.version = '1.0.8-SNAPSHOT'
+project.group = 'de.hhu.stups'
+project.archivesBaseName = "tla2bAST"
+
 
 
 repositories {
 	mavenCentral()
+        maven {
+		name "sonatype snapshots"
+		url "https://oss.sonatype.org/content/repositories/snapshots"
+	}
 	maven {
-	    	url "http://cobra.cs.uni-duesseldorf.de/artifactory/repo"
+		name "cobra"
+		url "http://cobra.cs.uni-duesseldorf.de/artifactory/repo"
 	}
 }
 
 configurations { // configuration that holds jars to copy into lib
-	releaseJars 
+	releaseJars
 }
 
 configurations.all {
@@ -27,22 +34,22 @@ def parser_version = '2.5.0-SNAPSHOT'
 
 dependencies {
 	//compile (group: 'com.microsoft', name: 'tla2tools', version: '1.4.6')
-	compile (group: 'de.tla', name: 'tlatools', version: '1.0.0-SNAPSHOT')
-	
-	compile (group: 'de.prob', name: 'prologlib', version: parser_version)
-	compile (group: 'de.prob', name: 'parserbase', version: parser_version)
-	compile (group: 'de.prob', name: 'bparser', version: parser_version)
-	compile (group: 'de.prob', name: 'ltlparser', version: parser_version)
-	
+	compile (group: 'de.hhu.stups', name: 'tlatools', version: '1.0.0')
+
+	compile (group: 'de.hhu.stups', name: 'prologlib', version: parser_version)
+	compile (group: 'de.hhu.stups', name: 'parserbase', version: parser_version)
+	compile (group: 'de.hhu.stups', name: 'bparser', version: parser_version)
+	compile (group: 'de.hhu.stups', name: 'ltlparser', version: parser_version)
+
 	//compile(group: 'de.prob', name: 'de.prob.core.kernel', version: '2.0.0-milestone-13-SNAPSHOT')
 
 	testCompile (group: 'junit', name: 'junit', version: '4.7')
 
-	releaseJars (group: 'de.tla', name: 'tlatools', version: '1.0.0-SNAPSHOT')
-	releaseJars (group: 'de.prob', name: 'prologlib', version: parser_version)
-	releaseJars (group: 'de.prob', name: 'parserbase', version: parser_version)
-	releaseJars (group: 'de.prob', name: 'bparser', version: parser_version)
-	releaseJars (group: 'de.prob', name: 'ltlparser', version: parser_version)
+	releaseJars (group: 'de.hhu.stups', name: 'tlatools', version: '1.0.0')
+	releaseJars (group: 'de.hhu.stups', name: 'prologlib', version: parser_version)
+	releaseJars (group: 'de.hhu.stups', name: 'parserbase', version: parser_version)
+	releaseJars (group: 'de.hhu.stups', name: 'bparser', version: parser_version)
+	releaseJars (group: 'de.hhu.stups', name: 'ltlparser', version: parser_version)
 }
 
 jacoco {
@@ -61,17 +68,17 @@ tasks.withType(FindBugs) {
 	// disable findbugs by default
 	// in order to run findbugs type 'gradle tlc4b findbugsMain findbugsTest'
 	task -> enabled = gradle.startParameter.taskNames.contains(task.name)
-	
+
     reports {
         xml.enabled = false
         html.enabled = true
     }
-	
+
 	ignoreFailures = true
 }
 
 
-test { 
+test {
 	exclude('testing')
 	//allJvmArgs = [ "-Xss515m" ]
 }
@@ -90,8 +97,78 @@ jar {
 task tla2b(dependsOn: build) << {
 	copy {
 		from('build/libs/')
-		into('build/tla2b')
+		into('.')
 		include('tla2bAST-'+project.version+'.jar')
 		rename('tla2bAST-(.+)', 'TLA2B.jar')
 	}
 }
+
+if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
+
+apply plugin: 'signing'
+
+signing {
+    sign configurations.archives
+}
+
+
+task javadocJar(type: Jar) {
+	 classifier = 'javadoc'
+	 from javadoc
+}
+
+task sourcesJar(type: Jar) {
+	 classifier = 'sources'
+	 from sourceSets.main.allSource
+}
+
+artifacts {
+	 archives javadocJar, sourcesJar
+}
+
+uploadArchives {
+  repositories {
+    mavenDeployer {
+      beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
+
+      repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") {
+        authentication(userName: ossrhUsername, password: ossrhPassword)
+      }
+
+      snapshotRepository(url: "https://oss.sonatype.org/content/repositories/snapshots/") {
+        authentication(userName: ossrhUsername, password: ossrhPassword)
+      }
+
+      pom.project {
+        name 'TLA+ to B-AST'
+        packaging 'jar'
+        // optionally artifactId can be defined here
+        description "Translator from TLA+ to ProB's AST representation."
+        url 'https://github.com/hhu-stups/tla2bAST'
+
+        licenses {
+          license {
+            name 'Eclipse Public License, Version 1.0'
+            url 'https://www.eclipse.org/legal/epl-v10.html'
+          }
+        }
+
+        scm {
+          connection 'scm:git:git://github.com/hhu-stups/tla2bAST.git'
+          developerConnection 'scm:git:git@github.com:hhu-stups/tla2bAST.git'
+          url 'https://github.com/bendisposto/hhu-stups/tla2bAST'
+        }
+
+
+        developers {
+          developer {
+            id 'bendisposto'
+            name 'Jens Bendisposto'
+            email 'jens@bendisposto.de'
+          }
+        }
+      }
+    }
+  }
+}
+}
diff --git a/gradle.properties.enc b/gradle.properties.enc
new file mode 100644
index 0000000000000000000000000000000000000000..e9a9c971acda99e16295491923462b46a612c3fd
Binary files /dev/null and b/gradle.properties.enc differ
diff --git a/pubring.gpg.enc b/pubring.gpg.enc
new file mode 100644
index 0000000000000000000000000000000000000000..861ea058c7ffba38f27570fc5099b96aa0c3940e
Binary files /dev/null and b/pubring.gpg.enc differ
diff --git a/secring.gpg.enc b/secring.gpg.enc
new file mode 100644
index 0000000000000000000000000000000000000000..9e10ccfc0db8c240dd7a3fa95e9807f12dbd402a
Binary files /dev/null and b/secring.gpg.enc differ