diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..ac1e2a4c5ac8c59e34912964c3e8f861c52f9ca9
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+local.*
diff --git a/.travis.yml b/.travis.yml
index 9c22d94cc1a23ef53b4770983aecba8be29e8587..d537a626851a340eb9ae367c3fe46b83080b5252 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,12 @@
 language: java
 
-script: gradle tla2b
+script: gradle 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
+
+env:
+  global:
+    secure: RSWp6NRFm5iSK76fm6Ms1FLyUKMKhXt1JrUAQ6x558R73mT7SUvdKbBn9Ffh+TiNO6JVsma3KFoHvYnx8Ys6OGipyXW8g2DKiyg3jm2im4HTtxJqpp7Rls0gm0jGpjOOLwkWl719DZLC6+cPoUuGWtAk8FbowkBz1uWySnJSltI=
diff --git a/build.gradle b/build.gradle
index a6db75bc8023f909aa59b36b0c306e45a3e28ab0..42afbd66b1e29e6fcb452f7e6985f34b42d7278e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,9 @@ apply plugin: 'jacoco'
 apply plugin: 'findbugs'
 
 project.version = '1.0.5-SNAPSHOT'
-project.group = 'de.prob'
+project.group = 'de.hhu.stups'
+project.archivesBaseName = "tla2bAST"
+
 
 repositories {
 	mavenCentral()
@@ -20,20 +22,20 @@ repositories {
 }
 
 configurations { // configuration that holds jars to copy into lib
-	releaseJars 
+	releaseJars
 }
- 
+
 def parser_version = '2.5.0-SNAPSHOT'
 
 dependencies {
 	//compile (group: 'com.microsoft', name: 'tla2tools', version: '1.4.6')
 	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')
@@ -61,17 +63,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" ]
 }
@@ -95,3 +97,57 @@ task tla2b(dependsOn: build) << {
 		rename('tla2bAST-(.+)', 'TLA2B.jar')
 	}
 }
+
+if (project.hasProperty('ossrhUsername') && project.hasProperty('ossrhPassword')) {
+
+apply plugin: 'signing'
+
+signing {
+    sign configurations.archives
+}
+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 'GNU Lesser General Public License, Version 2.1'
+            url 'http://www.gnu.org/licenses/lgpl-2.1.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