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' 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' 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' 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