diff --git a/build.gradle b/build.gradle index 4b41189f4..4cc69e588 100644 --- a/build.gradle +++ b/build.gradle @@ -5,6 +5,7 @@ plugins { id "edu.wpi.first.GradleRIO" version "2025.2.1" id 'com.diffplug.spotless' version '6.22.0' id 'com.google.protobuf' version '0.8.19' + id "com.peterabeles.gversion" version "1.10" } @@ -23,6 +24,7 @@ sourceSets { // NOTE(rcahoon, 2022-10-16): Gradle doesn't need this, but VSCode seems // to not automatically add generated classes to the classpath. srcDirs 'build/generated/source/proto/main/java' + srcDirs 'build/generated/source/main/java' } } } @@ -142,6 +144,16 @@ dependencies { testImplementation("org.assertj:assertj-core:3.26.3") } +project.compileJava.dependsOn(createVersionFile) +gversion { + srcDir = "build/generated/source/main/java/" + classPackage = "com.team766" + className = "BuildConstants" + dateFormat = "yyyy-MM-dd HH:mm:ss z" + timeZone = "America/Los_Angeles" + indent = " " +} + javadoc { source = sourceSets.main.allJava } diff --git a/src/main/java/com/team766/hal/wpilib/RobotMain.java b/src/main/java/com/team766/hal/wpilib/RobotMain.java index 035752e49..71addf664 100755 --- a/src/main/java/com/team766/hal/wpilib/RobotMain.java +++ b/src/main/java/com/team766/hal/wpilib/RobotMain.java @@ -1,5 +1,6 @@ package com.team766.hal.wpilib; +import com.team766.BuildConstants; import com.team766.config.ConfigFileReader; import com.team766.hal.CanivPoller; import com.team766.hal.GenericRobotMainBase; @@ -115,6 +116,10 @@ public void robotInit() { // TODO: add support for simulation logging/replay } + Logger.recordMetadata("GitSHA", BuildConstants.GIT_SHA); + Logger.recordMetadata("GitDirty", BuildConstants.DIRTY != 0 ? "Yes" : "No"); + Logger.recordMetadata("BuildDate", BuildConstants.BUILD_DATE); + Logger.start(); robot.robotInit();