diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 575e3ab916a01b41a17a93ecc50b451e8ec3e6da..729ff710564b729edb08672aabe1101abdf763c7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -49,10 +49,10 @@ sonarqube_preview:
 build:
   stage: build
   script:
-    - ./gradlew -g /cache/.gradle clean assemble
+    - ./gradlew -g /cache/.gradle clean assemble copyGui
   artifacts:
     paths:
-    - lib/Simulator.jar
+    - lib/
     - target/
   allow_failure: false
 
diff --git a/build.gradle b/build.gradle
index d56af0abdbcdd972281fad9b16d91e7ab5ae2669..07ed72fd4d98cd7fcb7bf681d178334dc2002359 100644
--- a/build.gradle
+++ b/build.gradle
@@ -32,6 +32,8 @@ sourceSets {
         java {
             srcDirs = ["src/applications", "src/core", "src/gui", "src/input", "src/interfaces", "src/main", "src/movement", "src/report", "src/routing", "src/ui", "src/util"]
         }
+        output.resourcesDir = 'target'
+        output.classesDir   = 'target'
     }
     test {
         java {
@@ -42,6 +44,10 @@ sourceSets {
 
 jar {
     destinationDir = new File('lib')
+    manifest {
+        attributes 'Main-Class': 'core.DTNSim'
+        attributes 'Class-Path': "ECLA.jar DTNConsoleConnection.jar ../target"
+    }
 }
 
 dependencies {
@@ -52,3 +58,12 @@ dependencies {
     // Use JUnit test framework
     testCompile 'junit:junit:4.12'
 }
+
+task copyGui(type: Copy){
+    from 'src/gui/buttonGraphics'
+    into 'target/gui/buttonGraphics'
+}
+
+clean.doFirst{
+    delete 'target'
+}
\ No newline at end of file