Files
allwpilib/wpilibj/simulation.gradle

71 lines
2.2 KiB
Groovy

sourceSets {
sim
}
dependencies {
simCompile sourceSets.shared.output
simCompile project(':simulation:JavaGazebo')
simCompile 'edu.wpi.first.wpilib.networktables.java:NetworkTables:3.0.0-SNAPSHOT:desktop'
simRuntime "edu.wpi.first.wpilib.networktables.java:NetworkTables:3.0.0-SNAPSHOT:desktop"
}
task wpilibjSimJar(type: Jar, dependsOn: simClasses) {
description = 'Creates the WPILibJSimulation Jar'
group = 'WPILib Simulation'
duplicatesStrategy = 'exclude'
def addClasspath = { classpath ->
classpath.files.findAll { it.exists() }.each {
if (file(it).directory) {
from it
} else {
from zipTree(it.path)
}
}
}
addClasspath sourceSets.shared.runtimeClasspath
addClasspath sourceSets.sim.runtimeClasspath
from sourceSets.sim.output.classesDir
from sourceSets.shared.output.classesDir
baseName 'wpilibjSimulation'
}
task wpilibjSimSources(type: Jar, dependsOn: simClasses) {
description = 'Creates the wpilibjSimulation sources jar for the maven publishing routine'
group = 'WPILib'
classifier = 'sources'
duplicatesStrategy = 'exclude'
from sourceSets.sim.allJava
from sourceSets.shared.allJava
}
task wpilibjSimJavadoc(type: Javadoc) {
description = 'Generates javadoc for the simulation components'
group = 'WPILib'
source sourceSets.sim.allJava, sourceSets.shared.allJava
destinationDir = file("$buildDir/docs/java-simulation")
classpath = files([sourceSets.sim.compileClasspath, sourceSets.shared.compileClasspath])
}
task wpilibjSimJavadocJar(type: Jar, dependsOn: wpilibjSimJavadoc) {
description = 'Creates the wpilibjSimulation javadoc jar for the maven publishing routine'
group = 'WPILib'
classifier = 'javadoc'
duplicatesStrategy = 'exclude'
from wpilibjSimJavadoc.destinationDir
}
//we need to move the simulation jars to the install directory
task copyJars(type: Copy, dependsOn: wpilibjSimJar) {
description = 'copy wpilibj simulation jar to make simulation zip'
group = 'WPILib Simulation'
from wpilibjSimJar.archivePath
into "$simulationInstallDir/jar"
}
build.dependsOn wpilibjSimJar