apply plugin: 'maven-publish' def baseExamplesArtifactId = 'examples' def baseTemplatesArtifactId = 'templates' def baseCommandsArtifactId = 'commands' def artifactGroupId = 'edu.wpi.first.wpilibc' def examplesZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_examples_CLS' def templatesZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_templates_CLS' def commandsZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_commands_CLS' def outputsFolder = file("$project.buildDir/outputs") task cppExamplesZip(type: Zip) { destinationDirectory = outputsFolder archiveBaseName = examplesZipBaseName from(licenseFile) { into '/' } from('src/main/cpp/examples') { into 'examples' } from('src/test/cpp/examples') { into 'examples_test' } } task cppTemplatesZip(type: Zip) { destinationDirectory = outputsFolder archiveBaseName = templatesZipBaseName from(licenseFile) { into '/' } from('src/main/cpp/templates') { into 'templates' } from('src/test/cpp/templates') { into 'templates_test' } } task cppCommandsZip(type: Zip) { destinationDirectory = outputsFolder archiveBaseName = commandsZipBaseName from(licenseFile) { into '/' } from('src/main/cpp/commands') { into 'commands' } from('src/test/cpp/commands') { into 'commands_test' } } build.dependsOn cppTemplatesZip build.dependsOn cppExamplesZip build.dependsOn cppCommandsZip addTaskToCopyAllOutputs(cppTemplatesZip) addTaskToCopyAllOutputs(cppExamplesZip) addTaskToCopyAllOutputs(cppCommandsZip) publishing { publications { examples(MavenPublication) { artifact cppExamplesZip artifactId = baseExamplesArtifactId groupId = artifactGroupId version = wpilibVersioning.version.get() } templates(MavenPublication) { artifact cppTemplatesZip artifactId = baseTemplatesArtifactId groupId = artifactGroupId version = wpilibVersioning.version.get() } commands(MavenPublication) { artifact cppCommandsZip artifactId = baseCommandsArtifactId groupId = artifactGroupId version = wpilibVersioning.version.get() } } }