Files
allwpilib/wpilibjExamples/publish.gradle
Thad House 44441daad7 [wpilib] Use reflection to load main class, remove main from templates (#8627)
#8626 needs to switch to using reflection to load the robot class. Do
that with this PR so it's separate.

Also, remove the duplicated main files from the template, and instead
fixup vscode to handle this properly.
2026-02-21 14:35:26 -08:00

110 lines
2.5 KiB
Groovy

apply plugin: 'maven-publish'
def baseExamplesArtifactId = 'examples'
def baseTemplatesArtifactId = 'templates'
def baseCommandsArtifactId = 'commands'
def artifactGroupId = 'org.wpilib.wpilibj'
def examplesZipBaseName = '_GROUP_org_wpilib_wpilibj_ID_examples_CLS'
def templatesZipBaseName = '_GROUP_org_wpilib_wpilibj_ID_templates_CLS'
def commandsZipBaseName = '_GROUP_org_wpilib_wpilibj_ID_commands_CLS'
def outputsFolder = file("$project.buildDir/outputs")
def mainFile = file("$projectDir/src/main/java/org/wpilib/Main.java")
task javaExamplesZip(type: Zip) {
destinationDirectory = outputsFolder
archiveBaseName = examplesZipBaseName
from(licenseFile) {
into '/'
}
from(mainFile) {
into '/'
}
from('src/main/java/org/wpilib/examples') {
into 'examples'
}
from('src/test/java/org/wpilib/examples') {
into 'examples_test'
}
}
task javaTemplatesZip(type: Zip) {
destinationDirectory = outputsFolder
archiveBaseName = templatesZipBaseName
from(licenseFile) {
into '/'
}
from(mainFile) {
into '/'
}
from('src/main/java/org/wpilib/templates') {
into 'templates'
}
from('src/test/java/org/wpilib/templates') {
into 'templates_test'
}
}
task javaCommandsZip(type: Zip) {
destinationDirectory = outputsFolder
archiveBaseName = commandsZipBaseName
from(licenseFile) {
into '/'
}
from('src/main/java/org/wpilib/commands') {
into 'commands'
}
from('src/test/java/org/wpilib/commands') {
into 'commands_test'
}
}
build.dependsOn javaTemplatesZip
build.dependsOn javaExamplesZip
build.dependsOn javaCommandsZip
addTaskToCopyAllOutputs(javaTemplatesZip)
addTaskToCopyAllOutputs(javaExamplesZip)
addTaskToCopyAllOutputs(javaCommandsZip)
publishing {
publications {
examples(MavenPublication) {
artifact javaExamplesZip
artifactId = baseExamplesArtifactId
groupId = artifactGroupId
version = wpilibVersioning.version.get()
}
templates(MavenPublication) {
artifact javaTemplatesZip
artifactId = baseTemplatesArtifactId
groupId = artifactGroupId
version = wpilibVersioning.version.get()
}
commands(MavenPublication) {
artifact javaCommandsZip
artifactId = baseCommandsArtifactId
groupId = artifactGroupId
version = wpilibVersioning.version.get()
}
}
}