build.gradle 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. apply plugin: 'java'
  2. apply plugin: 'application'
  3. mainClassName = 'ca.uwaterloo.cs858.analysis.Main'
  4. sourceCompatibility = 1.8
  5. targetCompatibility = 1.8
  6. distTar.enabled = false
  7. repositories {
  8. mavenCentral()
  9. }
  10. distributions {
  11. main {
  12. baseName = 'Customization'
  13. // include the configuration files into the distribution zip
  14. contents {
  15. into('/' + distributions.main.baseName) {
  16. from '.'
  17. include 'dat/*'
  18. exclude 'dat/Config.properties'
  19. }
  20. }
  21. }
  22. }
  23. sourceSets {
  24. main {
  25. java {
  26. srcDirs = ["src"]
  27. }
  28. resources {
  29. srcDirs = ["res"]
  30. }
  31. }
  32. }
  33. jar {
  34. baseName = 'Customization'
  35. version = '0.1'
  36. manifest {
  37. attributes 'Main-Class': 'ca.uwaterloo.cs858.analysis.Main'
  38. }
  39. }
  40. dependencies {
  41. // http://mvnrepository.com/artifact/com.google.guava/guava
  42. compile group: 'com.google.guava', name: 'guava', version: '13.0.1'
  43. // local libs
  44. compile fileTree(dir: 'libs', include: ['apktool*.jar'])
  45. compile fileTree(dir: 'libs', include: ['com.ibm.wala.*.jar'])
  46. compile fileTree(dir: 'libs', include: ['edu.purdue.cs.toydroid*.jar'])
  47. compile fileTree(dir: 'libs', include: ['dexlib*.jar'])
  48. // log libs
  49. compile "org.apache.logging.log4j:log4j-api:2.4"
  50. compile "org.apache.logging.log4j:log4j-core:2.4"
  51. // other dependencies
  52. // commons has been included in apktool
  53. // http://mvnrepository.com/artifact/commons-cli/commons-cli
  54. //compile group: 'commons-cli', name: 'commons-cli', version: '1.2'
  55. // http://mvnrepository.com/artifact/commons-io/commons-io
  56. //compile group: 'commons-io', name: 'commons-io', version: '2.2'
  57. // http://mvnrepository.com/artifact/org.slf4j/slf4j-api
  58. compile group: 'org.slf4j', name: 'slf4j-api', version: '1.7.2'
  59. // http://mvnrepository.com/artifact/ch.qos.logback/logback-classic
  60. compile group: 'ch.qos.logback', name: 'logback-core', version: '1.0.9'
  61. compile group: 'ch.qos.logback', name: 'logback-classic', version: '1.0.9'
  62. }
  63. //
  64. task copyDeps(type: Copy) {
  65. from(configurations.compile + configurations.testCompile) {
  66. include "*.jar"
  67. }
  68. into rootProject.rootDir.getAbsolutePath() + "/lib"
  69. }