From 152ad1659b9af9f8eda4b7fc68f802328c5a480b Mon Sep 17 00:00:00 2001
From: zzz <zzz@i2pmail.org>
Date: Sun, 3 Jan 2021 09:55:42 -0500
Subject: [PATCH] Build: Add translations to gradle build (part 2 - wars)

Several fixes for i2ptunnel gradle build
---
 apps/i2psnark/build.gradle            | 11 +++++++++++
 apps/i2psnark/java/bundle-messages.sh |  1 +
 apps/i2ptunnel/build.gradle           | 17 ++++++++++++++++-
 apps/routerconsole/build.gradle       |  7 +++++++
 apps/susidns/build.gradle             | 11 +++++++++++
 apps/susidns/src/bundle-messages.sh   |  1 +
 apps/susimail/build.gradle            | 11 +++++++++++
 apps/susimail/bundle-messages.sh      |  1 +
 8 files changed, 59 insertions(+), 1 deletion(-)

diff --git a/apps/i2psnark/build.gradle b/apps/i2psnark/build.gradle
index b9f7037d10..ba6681ed6e 100644
--- a/apps/i2psnark/build.gradle
+++ b/apps/i2psnark/build.gradle
@@ -6,6 +6,7 @@ sourceSets {
     main {
         java {
             srcDir 'java/src'
+            srcDir 'java/build/messages-src'
         }
     }
 }
@@ -34,6 +35,16 @@ artifacts {
     archives i2psnarkJar
 }
 
+// Create the java files from the po files. The jar task will compile them.
+// This requires gettext 0.19 or higher.
+// We don't support the "slow way"
+task bundle {
+    doLast {
+        println "apps/i2psnark/java/bundle-messages.sh".execute().text
+    }
+}
+war.dependsOn bundle
+
 war {
     rootSpec.exclude('/org/klomp/snark/*.class')
     rootSpec.exclude('/org/klomp/snark/bencode/**')
diff --git a/apps/i2psnark/java/bundle-messages.sh b/apps/i2psnark/java/bundle-messages.sh
index bcb4268cf8..4f5546639f 100755
--- a/apps/i2psnark/java/bundle-messages.sh
+++ b/apps/i2psnark/java/bundle-messages.sh
@@ -10,6 +10,7 @@
 #
 # zzz - public domain
 #
+cd `dirname $0`
 CLASS=org.klomp.snark.web.messages
 TMPFILE=build/javafiles.txt
 export TZ=UTC
diff --git a/apps/i2ptunnel/build.gradle b/apps/i2ptunnel/build.gradle
index 5dc1d89d19..3cf07f59d3 100644
--- a/apps/i2ptunnel/build.gradle
+++ b/apps/i2ptunnel/build.gradle
@@ -6,6 +6,7 @@ sourceSets {
     main {
         java {
             srcDir 'java/src'
+            srcDir 'java/build/messages-src'
             srcDir 'java/build/messages-proxy-src'
         }
     }
@@ -32,8 +33,15 @@ task bundleProxy {
     }
 }
 
+task bundle {
+    doLast {
+        println "apps/i2ptunnel/java/bundle-messages.sh".execute().text
+    }
+}
+
 task i2ptunnelJar(type: Jar) {
     from sourceSets.main.output 
+    exclude '**/web/*.class'
     exclude '**/ui/*.class'
     exclude '**/EditBean.class'
     exclude '**/IndexBean.class'
@@ -53,7 +61,9 @@ task i2ptunnelJar(type: Jar) {
     })
 }
 i2ptunnelJar.dependsOn bundleProxy
+war.dependsOn bundle
 
+// not needed unless we're building for both android and regular
 task tempBeansJar(type: Jar) {
     from sourceSets.main.output
     include '**/EditBean.class'
@@ -62,6 +72,7 @@ task tempBeansJar(type: Jar) {
     baseName = 'temp-beans'
 }
 
+// only for android
 task uiJar(type: Jar) {
     baseName = 'i2ptunnel-ui'
     from sourceSets.main.output
@@ -72,15 +83,19 @@ task uiJar(type: Jar) {
 }
 
 artifacts {
-    archives i2ptunnelJar, tempBeansJar, uiJar
+    archives i2ptunnelJar   //, tempBeansJar, uiJar
 }
 
 war {
+    include '**/EditBean.class'
+    include '**/ui/*.class'
+    include '**/IndexBean.class'
     from 'jsp'
     rootSpec.exclude('/net/i2p/i2ptunnel/*.class')
     rootSpec.exclude('/net/i2p/i2ptunnel/access')
     rootSpec.exclude('/net/i2p/i2ptunnel/irc')
     rootSpec.exclude('/net/i2p/i2ptunnel/localServer')
+    rootSpec.exclude('/net/i2p/i2ptunnel/proxy')
     rootSpec.exclude('/net/i2p/i2ptunnel/socks')
     rootSpec.exclude('/net/i2p/i2ptunnel/streamr')
     rootSpec.exclude('/net/i2p/i2ptunnel/udp')
diff --git a/apps/routerconsole/build.gradle b/apps/routerconsole/build.gradle
index af6eeb7c6b..f6310d0d3d 100644
--- a/apps/routerconsole/build.gradle
+++ b/apps/routerconsole/build.gradle
@@ -7,6 +7,7 @@ sourceSets {
     main {
         java {
             srcDir 'java/src'
+            srcDir 'java/build/messages-src'
             srcDir 'java/build/messages-countries-src'
             srcDir 'java/build/messages-news-src'
         }
@@ -51,6 +52,11 @@ task bundleJar {
         println "apps/routerconsole/java/bundle-messages-news.sh".execute().text
     }
 }
+task bundle {
+    doLast {
+        println "apps/routerconsole/java/bundle-messages.sh".execute().text
+    }
+}
 
 task consoleJar(type: Jar) {
     from sourceSets.main.output
@@ -69,6 +75,7 @@ task consoleJar(type: Jar) {
     })
 }
 consoleJar.dependsOn bundleJar
+war.dependsOn bundle
 
 artifacts {
     archives consoleJar
diff --git a/apps/susidns/build.gradle b/apps/susidns/build.gradle
index e960b28f01..3b1f18c543 100644
--- a/apps/susidns/build.gradle
+++ b/apps/susidns/build.gradle
@@ -6,6 +6,7 @@ sourceSets {
     main {
         java {
             srcDir 'src/java/src'
+            srcDir 'src/build/messages-src'
         }
     }
 }
@@ -15,6 +16,16 @@ dependencies {
     providedCompile project(':apps:jetty')
 }
 
+// Create the java files from the po files. The jar task will compile them.
+// This requires gettext 0.19 or higher.
+// We don't support the "slow way"
+task bundle {
+    doLast {
+        println "apps/susidns/src/bundle-messages.sh".execute().text
+    }
+}
+war.dependsOn bundle
+
 war {
     from 'src/jsp'
     from 'src/index.html'
diff --git a/apps/susidns/src/bundle-messages.sh b/apps/susidns/src/bundle-messages.sh
index a35e32aa42..40eb9f4061 100755
--- a/apps/susidns/src/bundle-messages.sh
+++ b/apps/susidns/src/bundle-messages.sh
@@ -10,6 +10,7 @@
 #
 # zzz - public domain
 #
+cd `dirname $0`
 CLASS=i2p.susi.dns.messages
 TMPFILE=tmp/javafiles.txt
 export TZ=UTC
diff --git a/apps/susimail/build.gradle b/apps/susimail/build.gradle
index fac1d69060..9ec84cd358 100644
--- a/apps/susimail/build.gradle
+++ b/apps/susimail/build.gradle
@@ -6,6 +6,7 @@ sourceSets {
     main {
         java {
             srcDir 'src/src'
+            srcDir 'build/messages-src'
         }
     }
 }
@@ -15,6 +16,16 @@ dependencies {
     providedCompile project(':apps:jetty')
 }
 
+// Create the java files from the po files. The jar task will compile them.
+// This requires gettext 0.19 or higher.
+// We don't support the "slow way"
+task bundle {
+    doLast {
+        println "apps/susimail/bundle-messages.sh".execute().text
+    }
+}
+war.dependsOn bundle
+
 war {
     from 'src'
     exclude 'WEB-INF/web.xml'
diff --git a/apps/susimail/bundle-messages.sh b/apps/susimail/bundle-messages.sh
index d939f8c685..6733c370b3 100755
--- a/apps/susimail/bundle-messages.sh
+++ b/apps/susimail/bundle-messages.sh
@@ -10,6 +10,7 @@
 #
 # zzz - public domain
 #
+cd `dirname $0`
 CLASS=i2p.susi.webmail.messages
 TMPFILE=javafiles.txt
 export TZ=UTC
-- 
GitLab