diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 9247aa602d5eae1e54a1629e3e168f9b737befe5..b7932a63317a13e7e0afd540a7fa3c23abb2b3a3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -3,9 +3,11 @@ package:
     name: gradle:jdk11
   script:
     - gradle jar shadowjar
+    - gradle -b legacy-build.gradle shadowjar
   artifacts:
     paths:
       - build/libs/keycloak-scim-1.0-SNAPSHOT.jar
       - build/libs/keycloak-scim-1.0-SNAPSHOT-all.jar
+      - build/libs/keycloak-scim-1.0-SNAPSHOT-all-legacy.jar
   only:
     - main
diff --git a/legacy-build.gradle b/legacy-build.gradle
new file mode 100644
index 0000000000000000000000000000000000000000..c9318f4a09d0b400a0a4fdc809a79abcbb57742b
--- /dev/null
+++ b/legacy-build.gradle
@@ -0,0 +1,38 @@
+plugins {
+    id 'java'
+    id 'com.github.johnrengelman.shadow' version '7.1.2'
+}
+
+group = 'sh.libre.scim'
+version = '1.0-SNAPSHOT'
+description = 'keycloak-scim'
+
+java.sourceCompatibility = JavaVersion.VERSION_11
+
+repositories {
+    mavenLocal()
+    mavenCentral()
+}
+
+dependencies {
+    compileOnly 'org.keycloak:keycloak-core:18.0.0'
+    compileOnly 'org.keycloak:keycloak-server-spi:18.0.0'
+    compileOnly 'org.keycloak:keycloak-server-spi-private:18.0.0'
+    compileOnly 'org.keycloak:keycloak-services:18.0.0'
+    compileOnly 'org.keycloak:keycloak-model-jpa:18.0.0'
+    implementation 'io.github.resilience4j:resilience4j-retry:1.7.1'
+    implementation('com.unboundid.product.scim2:scim2-sdk-client:2.3.7') {
+        transitive false
+    }
+    implementation('com.unboundid.product.scim2:scim2-sdk-common:2.3.7') {
+        transitive false
+    }
+    compileOnly 'org.wildfly.client:wildfly-client-config:1.0.1.Final'
+    compileOnly 'org.jboss.resteasy:resteasy-client:4.7.6.Final'
+    compileOnly 'org.jboss.resteasy:resteasy-client-api:4.7.6.Final'
+
+}
+
+shadowJar {
+   archiveClassifier.set('all-legacy')
+}