-
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbuild.gradle.kts
93 lines (82 loc) · 3.67 KB
/
build.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
plugins {
id("java-gradle-plugin")
id("groovy")
id("maven-publish")
id("com.gradle.plugin-publish") version "0.20.0"
id("fr.brouillard.oss.gradle.jgitver") version "0.9.1"
}
pluginBundle {
website = "https://github.com/tudortimi/gradle-hdvl/blob/master/README.md"
vcsUrl = "https://github.com/tudortimi/gradle-hdvl"
tags = listOf("SystemVerilog", "HDL", "hardware", "verification", "Xcelium", "QuestaSim", "SVUnit")
}
apply(from = "$rootDir/gradle/functional-test.gradle")
group = "com.verificationgentleman.gradle"
gradlePlugin {
plugins {
create("base") {
id = "com.verificationgentleman.gradle.hdvl.base"
displayName = "Base plugin for hardware design and verification languages"
description = "A plugin that adds support for compiling and running code in HDL simulators"
implementationClass = "com.verificationgentleman.gradle.hdvl.HDVLBasePlugin"
}
create("systemverilog") {
id = "com.verificationgentleman.gradle.hdvl.systemverilog"
displayName = "Plugin for SystemVerilog support in HDL simulators"
description = "A plugin that adds support for compiling and running SystemVerilog code in HDL simulators"
implementationClass = "com.verificationgentleman.gradle.hdvl.systemverilog.SystemVerilogPlugin"
}
create("c") {
id = "com.verificationgentleman.gradle.hdvl.c"
displayName = "Plugin for C support in HDL simulators"
description = "A plugin that adds support for compiling and running C code in HDL simulators through the DPI"
implementationClass = "com.verificationgentleman.gradle.hdvl.c.CPlugin"
}
create("svunit") {
id = "com.verificationgentleman.gradle.hdvl.svunit"
displayName = "Plugin for SVUnit support"
description = "A plugin that adds testing of HDVL projects with SVUnit"
implementationClass = "com.verificationgentleman.gradle.hdvl.svunit.SVUnitPlugin"
}
create("svunit-build") {
id = "com.verificationgentleman.gradle.hdvl.svunit-build"
displayName = "Plugin for building SVUnit itself as an HDVL project"
description = "A plugin that builds SVUnit as an HDVL project"
implementationClass = "com.verificationgentleman.gradle.hdvl.svunit.SVUnitBuildPlugin"
}
create("svunit-build-injector") {
id = "com.verificationgentleman.gradle.hdvl.svunit-build-injector"
displayName = "Plugin for injecting build Gradle into SVUnit itself"
description = "A plugin that injects a Gradle build into SVUnit"
implementationClass = "com.verificationgentleman.gradle.hdvl.svunit.SVUnitBuildInjectorPlugin"
}
create("dvt") {
id = "com.verificationgentleman.gradle.hdvl.dvt"
displayName = "Plugin for DVT IDE support"
description = "A plugin that creates DVT projects from HDVL sources"
implementationClass = "com.verificationgentleman.gradle.hdvl.dvt.DVTPlugin"
}
}
}
dependencies {
implementation(libs.jackson.databind)
testImplementation("org.spockframework:spock-core:2.2-groovy-3.0") {
exclude(group = "org.codehaus.groovy")
}
testImplementation("org.spockframework:spock-junit4:2.0-groovy-3.0")
testImplementation(libs.jackson.databind)
}
tasks.withType<Test> {
useJUnitPlatform()
}
repositories {
mavenCentral()
}
tasks.withType(JavaCompile::class) {
options.compilerArgs.addAll(listOf("-Xlint:unchecked", "-Werror"))
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(8))
}
}