apply plugin: 'maven-publish' def pubVersion if (project.hasProperty("publishVersion")) { pubVersion = project.publishVersion } else { pubVersion = WPILibVersion.version } def baseExamplesArtifactId = 'examples' def baseTemplatesArtifactId = 'templates' def baseCommandsArtifactId = 'commands' def artifactGroupId = 'edu.wpi.first.wpilibj' def outputsFolder = file("$project.buildDir/outputs") task javaExamplesZip(type: Zip) { destinationDir = outputsFolder baseName = 'wpilibj-examples' from(licenseFile) { into '/' } from('src/main/java/edu/wpi/first/wpilibj/examples') { into 'examples' } } task javaTemplatesZip(type: Zip) { destinationDir = outputsFolder baseName = 'wpilibj-templates' from(licenseFile) { into '/' } from('src/main/java/edu/wpi/first/wpilibj/templates') { into 'templates' } } task javaCommandsZip(type: Zip) { destinationDir = outputsFolder baseName = 'wpilibj-commands' from(licenseFile) { into '/' } from('src/main/java/edu/wpi/first/wpilibj/commands') { into 'commands' } } build.dependsOn javaTemplatesZip build.dependsOn javaExamplesZip build.dependsOn javaCommandsZip publishing { publications { examples(MavenPublication) { artifact javaExamplesZip artifactId = baseExamplesArtifactId groupId artifactGroupId version pubVersion } templates(MavenPublication) { artifact javaTemplatesZip artifactId = baseTemplatesArtifactId groupId artifactGroupId version pubVersion } commands(MavenPublication) { artifact javaCommandsZip artifactId = baseCommandsArtifactId groupId artifactGroupId version pubVersion } } }