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 89e632b83d38f3df7b731f36e9ecf8be27adb1d7 Author: Eugen Stan <[email protected]> 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: [email protected] For additional commands, e-mail: [email protected]
