-
Notifications
You must be signed in to change notification settings - Fork 103
Expand file tree
/
Copy pathbuild.gradle.kts
More file actions
82 lines (73 loc) · 3.33 KB
/
build.gradle.kts
File metadata and controls
82 lines (73 loc) · 3.33 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
import org.gradle.external.javadoc.StandardJavadocDocletOptions
plugins {
id("cpp")
id("java")
id("google-test")
id("edu.wpi.first.wpilib.repositories.WPILibRepositoriesPlugin") version "2025.0"
id("edu.wpi.first.NativeUtils") version "2025.9.0"
id("edu.wpi.first.GradleJni") version "1.1.0"
id("edu.wpi.first.GradleVsCode") version "2.1.0"
id("com.diffplug.spotless") version "6.25.0"
}
sourceSets["main"].java {
srcDir("src/main/thirdparty/java")
srcDir("src/main/generated/java")
}
repositories {
mavenCentral()
}
wpilibRepositories.addAllReleaseRepositories(project)
val wpilibVersion = "2025.3.2"
dependencies {
implementation("edu.wpi.first.cscore:cscore-java:$wpilibVersion")
implementation("edu.wpi.first.cameraserver:cameraserver-java:$wpilibVersion")
implementation("edu.wpi.first.ntcore:ntcore-java:$wpilibVersion")
implementation("edu.wpi.first.wpilibj:wpilibj-java:$wpilibVersion")
implementation("edu.wpi.first.wpiutil:wpiutil-java:$wpilibVersion")
implementation("edu.wpi.first.wpimath:wpimath-java:$wpilibVersion")
implementation("edu.wpi.first.wpiunits:wpiunits-java:$wpilibVersion")
implementation("edu.wpi.first.hal:hal-java:$wpilibVersion")
implementation("org.ejml:ejml-simple:0.43.1")
implementation("org.reflections:reflections:0.9.12")
implementation("org.jetbrains.kotlin:kotlin-reflect:2.0.0")
implementation("com.fasterxml.jackson.core:jackson-annotations:2.15.2")
implementation("com.fasterxml.jackson.core:jackson-core:2.15.2")
implementation("com.fasterxml.jackson.core:jackson-databind:2.15.2")
implementation("edu.wpi.first.thirdparty.frc2025.opencv:opencv-java:4.10.0-3")
implementation("us.hebi.quickbuf:quickbuf-runtime:1.3.3")
}
tasks.withType<Javadoc> {
exclude("com/google/flatbuffers/**", "org/littletonrobotics/conduit/**")
title = "AdvantageKit API"
options {
(this as StandardJavadocDocletOptions).links("https://docs.oracle.com/en/java/javase/17/docs/api/", "https://github.wpilib.org/allwpilib/docs/release/java/")
(this as StandardJavadocDocletOptions).stylesheetFile = file("javadoc.css")
(this as StandardJavadocDocletOptions).addBooleanOption("Werror", true)
}
}
java {
withSourcesJar()
withJavadocJar()
}
// Spotless formatting
spotless {
java {
target("src/main/java/**/*.java", "autolog/src/main/java/**/*.java")
toggleOffOn()
googleJavaFormat()
removeUnusedImports()
trimTrailingWhitespace()
endWithNewline()
licenseHeader("// Copyright (c) 2021-2025 Littleton Robotics\n// http://github.com/Mechanical-Advantage\n//\n// Use of this source code is governed by a BSD\n// license that can be found in the LICENSE file\n// at the root directory of this project.\n\n")
}
cpp {
target("src/main/native/**/*.cc", "src/main/native/**/*.h", "src/test/native/**/*.cc", "src/test/native/**/*.h")
toggleOffOn()
eclipseCdt()
trimTrailingWhitespace()
endWithNewline()
licenseHeader("// Copyright (c) 2021-2025 Littleton Robotics\n// http://github.com/Mechanical-Advantage\n//\n// Use of this source code is governed by a BSD\n// license that can be found in the LICENSE file\n// at the root directory of this project.\n\n")
}
}
apply(from = "native.gradle")
apply(from = "publish.gradle")