From 2b56329a97521117c6c97c6e408f509ce79ff1f1 Mon Sep 17 00:00:00 2001 From: DmitriyMX Date: Mon, 19 Nov 2018 01:32:15 +0300 Subject: [PATCH] =?UTF-8?q?=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=B8=D0=B5=20=D0=B7=D0=B0=D0=BF=D1=83=D1=81=D0=BA=D0=B0=D1=82?= =?UTF-8?q?=D0=BE=D1=80=D0=B0=20gradle?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build.gradle | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/build.gradle b/build.gradle index 0eeddb5..089e004 100644 --- a/build.gradle +++ b/build.gradle @@ -64,22 +64,32 @@ subprojects { } } -task runApp(type: JavaExec) { +/** + * Запуск сервера. + * Для указания рабочей папки, указываем JVM параметр + * -DworkDir=path\to\workdir + * Если используется отдельная папка для имплементации логгера, то указываем + * -DlogImplDir=path\to\logimpldir + * Если необходимо передать дополнительные JVM параметры серверу, то указываем их с двойной "D", например: + * -DDspringConfig=spring.xml + * -DDlog4j.configurationFile=log4j2.xml + */ +task runServer(type: JavaExec) { main = 'mc.core.Main' - workingDir = (project.hasProperty("workDir") ? project.workDir : '.') + workingDir = System.getProperty("workDir", ".") subprojects.findAll().each{ prj -> classpath += prj.sourceSets.main.runtimeClasspath } - /* Uncomment, if your Log Implements are folder '{workDir}/log-impl' */ - //classpath += files(fileTree(dir: new File(workingDir, "log-impl"))) - /* Uncomment, if you used VM args */ - //jvmArgs = [ - // "-DspringConfig=spring.xml", - // "-Dlog4j.configurationFile=log4j2.xml" - //] + if (System.getProperty("logImplDir") != null) { + classpath += files(fileTree(dir: new File(System.getProperty("logImplDir")))) + } + + System.getProperties().stringPropertyNames().stream() + .filter{propName -> propName.startsWith("D")} + .forEach{propName -> jvmArgs += "-D" + propName.substring(1) + "=" + System.getProperty(propName)} ignoreExitValue = true }