You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ie...@apache.org on 2020/07/02 13:49:12 UTC

[james-project] 02/02: JAMES-3273 #comment Building a binary distribution for server-app module

This is an automated email from the ASF dual-hosted git repository.

ieugen pushed a commit to branch JAMES-3260-gradle-poc
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit c30e31dc5b1b84e5b94704d41a1dbe74c84baf9d
Author: Eugen Stan <ie...@apache.org>
AuthorDate: Thu Jul 2 16:48:49 2020 +0300

    JAMES-3273 #comment Building a binary distribution for server-app module
---
 server/app/build.gradle | 60 +++++++++++++++++++++++++++++++++++++++++++++----
 1 file changed, 56 insertions(+), 4 deletions(-)

diff --git a/server/app/build.gradle b/server/app/build.gradle
index 83b2e12..95d5f0c 100644
--- a/server/app/build.gradle
+++ b/server/app/build.gradle
@@ -1,6 +1,11 @@
 /*
  * This file was generated by the Gradle 'init' task.
  */
+
+plugins {
+    id 'application'
+}
+
 configurations {
     tests
 }
@@ -21,9 +26,6 @@ dependencies {
     implementation project(':metrics:metrics-logger')
     implementation project(':protocols:protocols-managesieve')
 
-    implementation 'commons-daemon:commons-daemon:1.2.0'
-    implementation 'org.slf4j:slf4j-api:1.7.27'
-
     implementation project(':apache-james-mailbox:apache-james-mailbox-jpa')
     implementation project(':apache-james-mailbox:apache-james-mailbox-lucene')
     implementation project(':apache-james-mailbox:apache-james-mailbox-memory')
@@ -52,11 +54,13 @@ dependencies {
     implementation project(':james-server:james-server-util')
     implementation project(':protocols:protocols-imap')
 
+    implementation 'commons-daemon:commons-daemon:1.2.0'
     implementation 'org.apache.camel:camel-core:2.24.1'
     implementation 'org.apache.camel:camel-spring:2.24.1'
     implementation 'org.apache.derby:derby:10.14.2.0'
-    implementation 'org.apache.xbean:xbean-spring:4.9'
     implementation 'org.apache.logging.log4j:log4j-slf4j-impl:2.13.1'
+    implementation 'org.apache.xbean:xbean-spring:4.9'
+    implementation 'org.slf4j:slf4j-api:1.7.27'
     implementation 'org.slf4j:jcl-over-slf4j:1.7.27'
 
     implementation 'org.springframework:spring-core:4.3.25.RELEASE'
@@ -83,6 +87,54 @@ test {
 
 description = 'Apache James :: Server :: App'
 
+application {
+    mainClass = 'org.apache.james.app.spring.JamesAppSpringMain'
+}
+
+distributions {
+    main {
+        contents {
+            from("${projectDir}") {
+                include 'README*'
+            }
+            from("${projectDir}/src/main/licensing/app") {
+                include 'notice-for-binary.txt', 'license-for-binary.txt'
+                into ''
+                setFileMode 0644
+                rename { String filename ->
+                    if (filename.equalsIgnoreCase('notice-for-binary.txt')) {
+                        return 'NOTICE'
+                    }
+                    if (filename.equalsIgnoreCase('license-for-binary.txt')) {
+                        return 'LICENSE'
+                    }
+                }
+            }
+
+            from("${projectDir}/src/main/resources") {
+                setFileMode 0600
+                into 'conf'
+            }
+            // create empty dirs
+            into('') {
+                setDirMode 0755
+                File.createTempDir().with { absolutePath ->
+                    def tmpLog = new File(absolutePath, 'logs')
+                    println tmpLog.absolutePath
+                    tmpLog.mkdirs()
+                    from(absolutePath) {
+                        includeEmptyDirs = true
+                    }
+                }
+            }
+
+            from("${projectDir}/src/main/app/var") {
+                into 'var'
+            }
+        }
+    }
+}
+
 tasks.register('testsJar', Jar) {
     archiveClassifier = 'tests'
     from(sourceSets.test.output)


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org