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 } // Maven publishing configuration publishing { publications { wpilibjSim(MavenPublication) { artifact wpilibjSimJar { classifier = 'simulation' } artifact(wpilibjSimSources) { classifier = 'sources-simulation' } artifact(wpilibjSimJavadocJar) { classifier 'javadoc-simulation' } groupId 'edu.wpi.first.wpilibj' artifactId 'wpilibJavaSim' version '0.1.0-SNAPSHOT' } } } //we need to move the simulation jars to the install directory task copyJars(type: Copy) { description = 'copy wpilibj simulation jar to make simulation zip' group = 'WPILib Simulation' from wpilibjSimJar.archivePath into "$simulationInstallDir/jar" } build.dependsOn wpilibjSimJar