build.gradle 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. apply plugin: 'java'
  2. apply plugin: 'distribution'
  3. apply plugin: 'eclipse'
  4. defaultTasks('clean', 'build')
  5. sourceCompatibility = JavaVersion.VERSION_11
  6. targetCompatibility = JavaVersion.VERSION_11
  7. repositories {
  8. mavenCentral()
  9. }
  10. configurations.all {
  11. transitive = false
  12. }
  13. dependencies {
  14. compile 'com.mchange:c3p0:0.9.5.2'
  15. compile 'com.mchange:mchange-commons-java:0.2.15'
  16. compile 'com.jolbox:bonecp:0.8.0.RELEASE'
  17. compile 'com.sun.mail:javax.mail:1.6.1'
  18. compile 'com.zaxxer:HikariCP:3.3.0'
  19. compile 'mysql:mysql-connector-java:8.0.14'
  20. compile 'org.mariadb.jdbc:mariadb-java-client:2.3.0'
  21. compile 'org.bitlet:weupnp:0.1.4'
  22. compile 'com.google.code.gson:gson:2.8.5'
  23. compile 'com.google.guava:guava:27.0.1-jre'
  24. compile 'org.slf4j:slf4j-api:1.7.25'
  25. compile 'org.slf4j:slf4j-jdk14:1.7.25'
  26. compile 'org.mdkt.compiler:InMemoryJavaCompiler:1.3.0'
  27. compile fileTree(dir: 'dist/libs', include: '*.jar')
  28. testCompile 'org.testng:testng:6.14.3'
  29. testCompile 'org.mockito:mockito-core:2.23.4'
  30. testCompile 'com.beust:jcommander:1.72'
  31. testCompile 'net.bytebuddy:byte-buddy:1.8.17'
  32. testCompile 'org.objenesis:objenesis:2.6'
  33. }
  34. def generalManifest = manifest {
  35. attributes('Built-By': System.getProperty('user.name'),
  36. 'Built-Date': new Date().format("yyyy-MM-dd HH:mm:ss"),
  37. 'Implementation-URL': 'http://www.l2jserver.com/',
  38. 'Class-Path': configurations.runtime.collect { '../libs/' + it.name }.join(' '))
  39. }
  40. jar {
  41. archiveName = 'l2jserver.jar'
  42. exclude('**/loginserver/**')
  43. exclude('**/gsregistering/**')
  44. manifest {
  45. from(generalManifest)
  46. attributes('Main-Class': 'com.l2jserver.gameserver.GameServer')
  47. }
  48. }
  49. task loginJar(type: Jar, dependsOn: classes) {
  50. from(sourceSets.main.output)
  51. archiveName = 'l2jlogin.jar'
  52. exclude('**/gameserver/**')
  53. manifest {
  54. from(generalManifest)
  55. attributes('Main-Class': 'com.l2jserver.loginserver.L2LoginServer')
  56. }
  57. }
  58. task configuratorJar(type: Jar, dependsOn: classes) {
  59. from(sourceSets.main.output)
  60. archiveName = 'L2J_Configurator.jar'
  61. include('**/configurator/**')
  62. include('**/i18n/**')
  63. include('**/images/**')
  64. exclude('**/gameserver/**')
  65. exclude('**/gsregistering/**')
  66. exclude('**/log/**')
  67. exclude('**/loginserver/**')
  68. exclude('**/status/**')
  69. exclude('**/util/**')
  70. exclude('**/Config/**')
  71. exclude('**/ConnectionFactory/**')
  72. exclude('**/Server/**')
  73. manifest {
  74. from(generalManifest)
  75. attributes('Main-Class': 'com.l2jserver.tools.configurator.ConfigUserInterface')
  76. }
  77. }
  78. artifacts {
  79. archives loginJar, configuratorJar
  80. }
  81. task zip(type: Zip, dependsOn: build) {
  82. from('dist') {
  83. exclude('libs')
  84. }
  85. into('libs') {
  86. from(configurations.runtime)
  87. }
  88. into('game') {
  89. from(jar)
  90. from(configuratorJar)
  91. }
  92. into('login') {
  93. from(loginJar)
  94. }
  95. baseName = 'L2J_Server_' + new Date().format("yyyy-MM-dd")
  96. println 'Build in build/distributions/' + baseName + '.zip'
  97. }
  98. build.finalizedBy(zip)
  99. eclipse {
  100. project {
  101. name = 'L2J_Server'
  102. comment 'L2J Server Project'
  103. natures 'org.eclipse.buildship.core.gradleprojectbuilde'
  104. }
  105. jdt {
  106. file {
  107. whenMerged {jdt ->
  108. def propertiesField = org.gradle.plugins.ide.internal.generator.PropertiesPersistableConfigurationObject.getDeclaredField('properties')
  109. propertiesField.accessible = true
  110. Properties properties = propertiesField.get(jdt)
  111. properties.setProperty 'org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch', 'ignore'
  112. }
  113. }
  114. }
  115. }