-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathspiderAjax.gradle.kts
100 lines (89 loc) · 3.12 KB
/
spiderAjax.gradle.kts
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import org.zaproxy.gradle.addon.AddOnStatus
plugins {
id("eclipse")
}
eclipse {
classpath {
minusConfigurations.plusAssign(
configurations.detachedConfiguration(
dependencies.create("net.bytebuddy:byte-buddy:1.8.15"),
),
)
}
}
description = "Allows you to spider sites that make heavy use of JavaScript using Crawljax"
zapAddOn {
addOnName.set("Ajax Spider")
addOnStatus.set(AddOnStatus.RELEASE)
manifest {
author.set("ZAP Dev Team")
url.set("https://www.zaproxy.org/docs/desktop/addons/ajax-spider/")
extensions {
register("org.zaproxy.zap.extension.spiderAjax.automation.ExtensionAjaxAutomation") {
classnames {
allowed.set(listOf("org.zaproxy.zap.extension.spiderAjax.automation"))
}
dependencies {
addOns {
register("automation") {
version.set(">=0.42.0")
}
}
}
}
}
dependencies {
addOns {
register("commonlib") {
version.set(">= 1.23.0 & < 2.0.0")
}
register("network") {
version.set(">=0.11.0")
}
register("selenium") {
version.set("15.*")
}
}
}
}
val apiGenClasspath =
configurations.detachedConfiguration(
dependencies.create("org.zaproxy:zap:${zapVersion.get()}"),
dependencies.create(parent!!.childProjects.get("selenium")!!),
)
apiClientGen {
api.set("org.zaproxy.zap.extension.spiderAjax.AjaxSpiderAPI")
options.set("org.zaproxy.zap.extension.spiderAjax.AjaxSpiderParam")
messages.set(file("src/main/resources/org/zaproxy/zap/extension/spiderAjax/resources/Messages.properties"))
classpath.run {
setFrom(apiGenClasspath)
from(tasks.named(JavaPlugin.JAR_TASK_NAME))
}
}
}
dependencies {
zapAddOn("selenium")
zapAddOn("automation")
zapAddOn("commonlib")
zapAddOn("network")
compileOnly(libs.log4j.core)
implementation(files("lib/crawljax-core-3.7.1.jar"))
implementation("commons-math:commons-math:1.2")
implementation("com.codahale.metrics:metrics-core:3.0.2")
implementation("com.google.code.findbugs:jsr305:3.0.2")
implementation("com.google.inject.extensions:guice-assistedinject:5.0.1") {
// Not needed.
exclude(group = "org.sonatype.sisu.inject", module = "cglib")
}
implementation("net.jcip:jcip-annotations:1.0")
implementation("net.sourceforge.nekohtml:nekohtml:1.9.22")
implementation("org.slf4j:jcl-over-slf4j:1.7.32")
implementation("org.slf4j:jul-to-slf4j:1.7.32")
implementation("org.slf4j:slf4j-log4j12:1.7.32") {
// Provided by ZAP.
exclude(group = "log4j", module = "log4j")
}
implementation("xmlunit:xmlunit:1.6")
testImplementation(libs.log4j.core)
testImplementation(project(":testutils"))
}