2
0

build.gradle 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180
  1. apply plugin: 'java'
  2. apply plugin: 'distribution'
  3. apply plugin: 'eclipse'
  4. defaultTasks('clean', 'build')
  5. sourceCompatibility = JavaVersion.VERSION_1_8
  6. sourceSets {
  7. mainSource {
  8. java {
  9. srcDir('src/main/java')
  10. }
  11. resources {
  12. srcDir('src/main/resources')
  13. }
  14. }
  15. testSource {
  16. java {
  17. srcDir('src/test/java')
  18. }
  19. resources {
  20. srcDir('src/test/resources')
  21. }
  22. }
  23. }
  24. repositories {
  25. mavenCentral()
  26. }
  27. dependencies {
  28. compile 'c3p0:c3p0:0.9.1.2'
  29. compile 'com.sun.mail:javax.mail:1.5.4'
  30. compile 'io.ratpack:ratpack-hikari:0.9.18'
  31. compile 'mysql:mysql-connector-java:5.1.36'
  32. compile 'org.bitlet:weupnp:0.1.3'
  33. compile 'org.eclipse.jdt.core.compiler:ecj:4.4.2'
  34. compile 'org.python:jython:2.2.1'
  35. compile 'org.slf4j:slf4j-api:1.7.12'
  36. compile 'org.slf4j:slf4j-jdk14:1.7.12'
  37. compile files('dist/libs/java-engine-1.8.jar')
  38. compile files('dist/libs/jython-engine-2.2.1.jar')
  39. compile files('dist/libs/L2J_GeoDriver.jar')
  40. compile files('dist/libs/mmocore.jar')
  41. testCompile 'org.mockito:mockito-all:2.0.2-beta'
  42. testCompile 'org.testng:testng:6.9.6'
  43. }
  44. def generalManifest = manifest {
  45. attributes('Built-By': System.getProperty('user.name'),
  46. 'Built-Date': new Date().format("yyyy-MM-dd HH:mm:ss"),
  47. 'Implementation-URL': 'http://www.l2jserver.com/',
  48. 'Class-Path': configurations.runtime.collect({ '../libs/' + it.getName() }).join(' '))
  49. }
  50. jar {
  51. archiveName = 'l2jserver.jar'
  52. exclude('**/dbinstaller/**')
  53. exclude('**/loginserver/**')
  54. exclude('**/accountmanager/**')
  55. exclude('**/gsregistering/**')
  56. manifest {
  57. from(generalManifest)
  58. attributes ('Main-Class': 'com.l2jserver.gameserver.GameServer')
  59. }
  60. }
  61. task loginJar(type: Jar, dependsOn: classes) {
  62. from(sourceSets.main.output)
  63. archiveName = 'l2jlogin.jar'
  64. exclude('**/dbinstaller/**')
  65. exclude('**/gameserver/**')
  66. manifest {
  67. from(generalManifest)
  68. attributes('Main-Class': 'com.l2jserver.loginserver.L2LoginServer')
  69. }
  70. }
  71. task configuratorJar(type: Jar, dependsOn: classes) {
  72. from(sourceSets.main.output)
  73. archiveName = 'L2J_Configurator.jar'
  74. include('**/configurator/**')
  75. include('**/i18n/**')
  76. include('**/images/**')
  77. exclude('**/accountmanager/**')
  78. exclude('**/dbinstaller/**')
  79. exclude('**/gameserver/**')
  80. exclude('**/gsregistering/**')
  81. exclude('**/log/**')
  82. exclude('**/loginserver/**')
  83. exclude('**/status/**')
  84. exclude('**/util/**')
  85. exclude('**/Config/**')
  86. exclude('**/ConnectionFactory/**')
  87. exclude('**/Server/**')
  88. manifest {
  89. from(generalManifest)
  90. attributes('Main-Class': 'com.l2jserver.tools.configurator.ConfigUserInterface')
  91. }
  92. }
  93. task dbInstLsJar(type: Jar, dependsOn: classes) {
  94. from(sourceSets.main.output)
  95. archiveName = 'dbinst_ls.jar'
  96. include '**/dbinstaller/**'
  97. include '**/images/**'
  98. include '**/util/**'
  99. include '**/SQLFilter**'
  100. exclude '**/LauncherGS*'
  101. manifest {
  102. from(generalManifest)
  103. attributes('Main-Class': 'com.l2jserver.tools.dbinstaller.LauncherLS')
  104. }
  105. }
  106. task dbInstGsJar(type: Jar, dependsOn: classes) {
  107. from(sourceSets.main.output)
  108. archiveName = 'dbinst_gs.jar'
  109. include('**/dbinstaller/**')
  110. include('**/images/**')
  111. include('**/util/**')
  112. include('**/SQLFilter**')
  113. exclude('**/LauncherLS*')
  114. manifest {
  115. from(generalManifest)
  116. attributes 'Main-Class': 'com.l2jserver.tools.dbinstaller.LauncherGS'
  117. }
  118. }
  119. artifacts {
  120. archives loginJar, configuratorJar, dbInstLsJar, dbInstGsJar
  121. }
  122. task zip(type: Zip, dependsOn: build) {
  123. from('dist') {
  124. exclude('libs')
  125. }
  126. into('libs') {
  127. from(configurations.runtime)
  128. }
  129. into('game') {
  130. from(jar)
  131. from(configuratorJar)
  132. }
  133. into('login') {
  134. from(loginJar)
  135. }
  136. into('tools') {
  137. from(dbInstLsJar)
  138. from(dbInstGsJar)
  139. }
  140. def fileName = 'L2J_Server_' + new Date().format("yyyy-MM-dd")
  141. baseName = fileName
  142. println 'Build in build/distributions/' + fileName + '.zip'
  143. }
  144. build.finalizedBy(zip)
  145. task wrapper(type: Wrapper) {
  146. gradleVersion = '2.6-rc-1'
  147. }
  148. eclipse {
  149. project {
  150. comment 'L2J Server Project'
  151. natures 'org.eclipse.buildship.core.gradleprojectbuilde'
  152. }
  153. jdt {
  154. file {
  155. whenMerged {jdt ->
  156. def propertiesField = org.gradle.plugins.ide.internal.generator.PropertiesPersistableConfigurationObject.getDeclaredField('properties')
  157. propertiesField.accessible = true
  158. Properties properties = propertiesField.get(jdt)
  159. properties.setProperty 'org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch', 'ignore'
  160. }
  161. }
  162. }
  163. }