From 8de0c0bd889f6b66f76649b5cd2fef7faea76a21 Mon Sep 17 00:00:00 2001
From: str4d <str4d@mail.i2p>
Date: Thu, 26 Jun 2014 00:00:38 +0000
Subject: [PATCH] Correct Jar/War split for addressbook, snark and i2ptunnel

---
 apps/addressbook/build.gradle |  4 ++++
 apps/i2psnark/build.gradle    | 23 ++++++++++++++++++++++-
 apps/i2ptunnel/build.gradle   | 26 ++++++++++++++++++++++++--
 3 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/apps/addressbook/build.gradle b/apps/addressbook/build.gradle
index 72c4e6f483..ff0625c61f 100644
--- a/apps/addressbook/build.gradle
+++ b/apps/addressbook/build.gradle
@@ -13,6 +13,10 @@ dependencies {
     providedCompile project(':apps:jetty')
 }
 
+jar {
+    exclude { it.name == 'Servlet.class' }
+}
+
 war {
     webXml = file('web.xml')
 }
diff --git a/apps/i2psnark/build.gradle b/apps/i2psnark/build.gradle
index 15c3fbec8b..0c4e1f7013 100644
--- a/apps/i2psnark/build.gradle
+++ b/apps/i2psnark/build.gradle
@@ -4,16 +4,37 @@ sourceSets {
     main {
         java {
             srcDir 'java/src'
+            include 'org/klomp/snark/web/**'
+        }
+    }
+    jar {
+        java {
+            srcDir 'java/src'
+            exclude 'org/klomp/snark/web'
         }
     }
 }
 
 dependencies {
-    compile project(':core')
+    jarCompile project(':core')
+    jarCompile project(':apps:ministreaming')
+    providedCompile sourceSets.jar.output
     providedCompile project(':apps:ministreaming')
     providedCompile project(':apps:jetty')
 }
 
+task i2psnarkJar(type: Jar) {
+    from sourceSets.jar.output
+    manifest {
+        attributes 'Main-Class': 'org.klomp.snark.Snark'
+        attributes 'Class-Path': 'i2p.jar mstreaming.jar streaming.jar'
+    }
+}
+
+artifacts {
+    archives i2psnarkJar
+}
+
 war {
     into '.icons', {
         from 'icons'
diff --git a/apps/i2ptunnel/build.gradle b/apps/i2ptunnel/build.gradle
index 54de8d7f18..fa266835b3 100644
--- a/apps/i2ptunnel/build.gradle
+++ b/apps/i2ptunnel/build.gradle
@@ -4,6 +4,15 @@ sourceSets {
     main {
         java {
             srcDir 'java/src'
+            include 'net/i2p/i2ptunnel/web/EditBean.java'
+            include 'net/i2p/i2ptunnel/web/IndexBean.java'
+        }
+    }
+    jar {
+        java {
+            srcDir 'java/src'
+            exclude 'net/i2p/i2ptunnel/web/EditBean.java'
+            exclude 'net/i2p/i2ptunnel/web/IndexBean.java'
         }
     }
     test {
@@ -14,11 +23,24 @@ sourceSets {
 }
 
 dependencies {
-    compile project(':core')
-    providedCompile project(':apps:ministreaming')
+    jarCompile project(':core')
+    jarCompile project(':apps:ministreaming')
+    providedCompile sourceSets.jar.output
     providedCompile project(':apps:jetty')
 }
 
+task i2ptunnelJar(type: Jar) {
+    from sourceSets.jar.output
+    manifest {
+        attributes 'Main-Class': 'net.i2p.i2ptunnel.I2PTunnel'
+        attributes 'Class-Path': 'i2p.jar mstreaming.jar'
+    }
+}
+
+artifacts {
+    archives i2ptunnelJar
+}
+
 war {
     from 'jsp'
     exclude 'jsp/web.xml'
-- 
GitLab