2023-06-21 08:38:30 -07:00
|
|
|
plugins {
|
|
|
|
|
id "cpp"
|
|
|
|
|
id "google-test-test-suite"
|
2025-07-22 22:46:46 -04:00
|
|
|
id "edu.wpi.first.GradleRIO2027" version "2027.0.0-alpha-2"
|
2023-06-21 08:38:30 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
repositories {
|
|
|
|
|
mavenLocal()
|
|
|
|
|
jcenter()
|
|
|
|
|
}
|
|
|
|
|
|
2024-10-31 02:59:39 -04:00
|
|
|
wpi.maven.useLocal = false
|
|
|
|
|
wpi.maven.useDevelopment = false
|
2026-04-11 12:14:42 -05:00
|
|
|
wpi.versions.wpilibVersion = "2027.0.0-alpha-4"
|
2024-08-31 13:44:19 -04:00
|
|
|
|
2025-06-17 19:09:09 -04:00
|
|
|
// Define my targets (SystemCore) and artifacts (deployable files)
|
2023-06-21 08:38:30 -07:00
|
|
|
// This is added by GradleRIO's backing project DeployUtils.
|
|
|
|
|
deploy {
|
|
|
|
|
targets {
|
2025-06-17 19:09:09 -04:00
|
|
|
systemcore(getTargetTypeClass('SystemCore')) {
|
2023-06-21 08:38:30 -07:00
|
|
|
// Team number is loaded either from the .wpilib/wpilib_preferences.json
|
|
|
|
|
// or from command line. If not found an exception will be thrown.
|
|
|
|
|
// You can use getTeamOrDefault(team) instead of getTeamNumber if you
|
|
|
|
|
// want to store a team number in this file.
|
|
|
|
|
team = project.frc.getTeamOrDefault(5940)
|
|
|
|
|
debug = project.frc.getDebugOrDefault(false)
|
|
|
|
|
|
|
|
|
|
artifacts {
|
|
|
|
|
// First part is artifact name, 2nd is artifact type
|
|
|
|
|
// getTargetTypeClass is a shortcut to get the class type using a string
|
|
|
|
|
|
|
|
|
|
frcCpp(getArtifactTypeClass('FRCNativeArtifact')) {
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Static files artifact
|
|
|
|
|
frcStaticFileDeploy(getArtifactTypeClass('FileTreeArtifact')) {
|
|
|
|
|
files = project.fileTree('src/main/deploy')
|
2025-06-17 19:09:09 -04:00
|
|
|
directory = '/home/systemcore/deploy'
|
|
|
|
|
deleteOldFiles = false // Change to true to delete files on SystemCore that no
|
2026-01-12 16:00:11 -06:00
|
|
|
// longer exist in deploy directory of this project
|
2023-06-21 08:38:30 -07:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2025-06-17 19:09:09 -04:00
|
|
|
def deployArtifact = deploy.targets.systemcore.artifacts.frcCpp
|
2023-06-21 08:38:30 -07:00
|
|
|
|
|
|
|
|
// Set this to true to enable desktop support.
|
|
|
|
|
def includeDesktopSupport = true
|
|
|
|
|
|
|
|
|
|
// Set to true to run simulation in debug mode
|
|
|
|
|
wpi.cpp.debugSimulation = false
|
|
|
|
|
|
|
|
|
|
// Default enable simgui
|
|
|
|
|
wpi.sim.addGui().defaultEnabled = true
|
|
|
|
|
// Enable DS but not by default
|
|
|
|
|
wpi.sim.addDriverstation()
|
|
|
|
|
|
|
|
|
|
model {
|
|
|
|
|
components {
|
|
|
|
|
frcUserProgram(NativeExecutableSpec) {
|
2025-06-17 19:09:09 -04:00
|
|
|
targetPlatform wpi.platforms.systemcore
|
2024-09-14 23:10:02 -05:00
|
|
|
if (includeDesktopSupport) {
|
|
|
|
|
targetPlatform wpi.platforms.desktop
|
|
|
|
|
}
|
2023-06-21 08:38:30 -07:00
|
|
|
|
|
|
|
|
sources.cpp {
|
|
|
|
|
source {
|
|
|
|
|
srcDir 'src/main/cpp'
|
2024-09-14 23:10:02 -05:00
|
|
|
include '**/*.cpp', '**/*.cc'
|
2023-06-21 08:38:30 -07:00
|
|
|
}
|
|
|
|
|
exportedHeaders {
|
|
|
|
|
srcDir 'src/main/include'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-14 23:10:02 -05:00
|
|
|
// Set deploy task to deploy this component
|
2023-06-21 08:38:30 -07:00
|
|
|
deployArtifact.component = it
|
2024-09-14 23:10:02 -05:00
|
|
|
|
|
|
|
|
// Enable run tasks for this component
|
2023-06-21 08:38:30 -07:00
|
|
|
wpi.cpp.enableExternalTasks(it)
|
|
|
|
|
|
2024-09-14 23:10:02 -05:00
|
|
|
// Enable simulation for this component
|
2023-06-21 08:38:30 -07:00
|
|
|
wpi.sim.enable(it)
|
|
|
|
|
// Defining my dependencies. In this case, WPILib (+ friends), and vendor libraries.
|
|
|
|
|
wpi.cpp.vendor.cpp(it)
|
|
|
|
|
wpi.cpp.deps.wpilib(it)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
testSuites {
|
|
|
|
|
frcUserProgramTest(GoogleTestTestSuiteSpec) {
|
|
|
|
|
testing $.components.frcUserProgram
|
|
|
|
|
|
|
|
|
|
sources.cpp {
|
|
|
|
|
source {
|
|
|
|
|
srcDir 'src/test/cpp'
|
|
|
|
|
include '**/*.cpp'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2024-09-14 23:10:02 -05:00
|
|
|
// Enable run tasks for this component
|
2023-06-21 08:38:30 -07:00
|
|
|
wpi.cpp.enableExternalTasks(it)
|
|
|
|
|
|
|
|
|
|
wpi.cpp.vendor.cpp(it)
|
|
|
|
|
wpi.cpp.deps.wpilib(it)
|
|
|
|
|
wpi.cpp.deps.googleTest(it)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|