-
Notifications
You must be signed in to change notification settings - Fork 3
/
build.gradle
81 lines (63 loc) · 2.18 KB
/
build.gradle
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
plugins {
id 'java'
}
group 'za.ac.sun.cs'
version '1.0'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
// annotation processors
annotationProcessor 'org.apache.tinkerpop:gremlin-core:3.4.2'
annotationProcessor 'org.neo4j:neo4j-tinkerpop-api-impl:0.7-3.2.3'
testAnnotationProcessor 'org.apache.tinkerpop:gremlin-core:3.4.2'
testAnnotationProcessor 'org.neo4j:neo4j-tinkerpop-api-impl:0.7-3.2.3'
// Soot
implementation 'ca.mcgill.sable:soot:3.3.0'
// graph db drivers
implementation 'org.apache.tinkerpop:gremlin-core:3.4.2'
implementation 'org.apache.tinkerpop:tinkergraph-gremlin:3.4.2'
implementation 'org.apache.tinkerpop:neo4j-gremlin:3.4.2'
// implementation 'io.shiftleft:tinkergraph-gremlin:3.3.4.18'
implementation 'org.neo4j:neo4j-tinkerpop-api-impl:0.7-3.2.3'
// logging
implementation 'org.slf4j:slf4j-api:1.6.6'
implementation 'ch.qos.logback:logback-classic:1.0.13'
// configuration
implementation 'org.apache.commons:commons-configuration2:2.4'
implementation 'commons-beanutils:commons-beanutils:1.9.3'
// command line parsing
implementation 'commons-cli:commons-cli:1.4'
implementation 'org.codehaus.groovy:groovy-all:2.5.8'
testImplementation 'junit:junit:4.12'
}
configurations.all {
exclude module: 'slf4j-nop'
}
clean {
delete += 'bin'
delete += 'sootOutput'
}
build {
doLast {
// add script generation to build task
// from https://stackoverflow.com/a/20106665
mkdir 'bin'
File shellScript = file('bin/graft-shell')
shellScript.withPrintWriter {
it.println '#!/bin/sh'
it.println "groovysh -cp ${getRuntimeClasspath()}"
}
File startScript = file('bin/graft')
startScript.withPrintWriter {
it.println '#!/bin/sh'
it.println "java -ea -cp ${getRuntimeClasspath()} graft.Graft \"\$@\""
}
ant.chmod(file: shellScript.absolutePath, perm: 'u+x')
ant.chmod(file: startScript.absolutePath, perm: 'u+x')
}
}
String getRuntimeClasspath() {
sourceSets.main.runtimeClasspath.collect { it.absolutePath }.join(':')
}