-
Notifications
You must be signed in to change notification settings - Fork 6
Expand file tree
/
Copy pathbuild.gradle
More file actions
133 lines (106 loc) · 3.91 KB
/
Copy pathbuild.gradle
File metadata and controls
133 lines (106 loc) · 3.91 KB
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
plugins {
id "java"
id "edu.wpi.first.GradleRIO" version "2026.2.1"
id "com.google.protobuf" version "0.9.3"
id "groovy"
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
ext {
alreadyAdded = []
}
repositories {
mavenCentral()
maven {
url 'https://jitpack.io'
}
}
apply from: "${gradle.ext.cloneAndBuildPath}/clone_and_build_repos.gradle"
def ROBOT_MAIN_CLASS = "frc.robot.Main"
def EXPECTED_NUM_OF_PIS = 0;
// Define deploy target and artifacts
deploy {
targets {
roborio(getTargetTypeClass('RoboRIO')) {
team = project.frc.getTeamNumber()
debug = project.frc.getDebugOrDefault(false)
artifacts {
frcJava(getArtifactTypeClass('FRCJavaArtifact')) {}
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
files = project.fileTree("src/main/deploy")
directory = '/home/lvuser/deploy'
}
}
}
}
}
def deployArtifact = deploy.targets.roborio.artifacts.frcJava
wpi.java.debugJni = false
def includeDesktopSupport = false
// Define project dependencies
dependencies {
implementation wpi.java.deps.wpilib()
implementation wpi.java.vendor.java()
implementation buildDynamically("./config.ini")
roborioDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.roborio)
roborioDebug wpi.java.vendor.jniDebug(wpi.platforms.roborio)
roborioRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.roborio)
roborioRelease wpi.java.vendor.jniRelease(wpi.platforms.roborio)
nativeDebug wpi.java.deps.wpilibJniDebug(wpi.platforms.desktop)
nativeDebug wpi.java.vendor.jniDebug(wpi.platforms.desktop)
simulationDebug wpi.sim.enableDebug()
nativeRelease wpi.java.deps.wpilibJniRelease(wpi.platforms.desktop)
nativeRelease wpi.java.vendor.jniRelease(wpi.platforms.desktop)
simulationRelease wpi.sim.enableRelease()
compileOnly 'org.projectlombok:lombok:1.18.30'
annotationProcessor 'org.projectlombok:lombok:1.18.30'
implementation "com.google.protobuf:protobuf-java:+"
testImplementation 'org.junit.jupiter:junit-jupiter:5.10.1'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
test {
useJUnitPlatform()
systemProperty 'junit.jupiter.extensions.autodetection.enabled', 'true'
}
// Simulation settings
wpi.sim.addGui().defaultEnabled = true
wpi.sim.addDriverstation()
// Create a fat jar (including all dependencies) and set the manifest for WPILib
jar {
from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
from sourceSets.main.allSource
manifest edu.wpi.first.gradlerio.GradleRIOPlugin.javaManifest(ROBOT_MAIN_CLASS)
duplicatesStrategy = DuplicatesStrategy.INCLUDE
}
// Set the jar task for deployment
deployArtifact.jarTask = jar
wpi.java.configureExecutableTasks(jar)
wpi.java.configureTestTasks(test)
// Configure the string concatenation setting for inline compilation
tasks.withType(JavaCompile) {
options.compilerArgs.add '-XDstringConcat=inline'
}
tasks.deploy.dependsOn("deployBackend")
tasks.jar.dependsOn(tasks.generateProto)
tasks.compileJava.dependsOn(tasks.generateProto)
protobuf {
protoc {
artifact = "com.google.protobuf:protoc:+"
}
}
sourceSets {
main {
proto {
srcDir 'src/proto'
}
}
}
// BEGIN BLITZ BACKEND
// B.L.I.T.Z backend integration.
// This applies backend/deployment/gradle/build.gradle, which adds Gradle tasks
// for the Python backend deployment workflow, including deployBlitz.
// Gradle script plugin docs: https://docs.gradle.org/current/userguide/plugins.html#sec:script_plugins
apply from: "${gradle.ext.backendPath}/deployment/gradle/build.gradle"
// END BLITZ BACKEND