| apply plugin: 'maven-publish' |
| |
| def pubVersion = '' |
| if (project.hasProperty("publishVersion")) { |
| pubVersion = project.publishVersion |
| } else { |
| pubVersion = WPILibVersion.version |
| } |
| |
| def baseArtifactId = 'wpilibc-cpp' |
| def artifactGroupId = 'edu.wpi.first.wpilibc' |
| def zipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_wpilibc-cpp_CLS' |
| |
| def outputsFolder = file("$project.buildDir/outputs") |
| |
| task cppSourcesZip(type: Zip) { |
| destinationDir = outputsFolder |
| baseName = zipBaseName |
| classifier = "sources" |
| |
| from(licenseFile) { |
| into '/' |
| } |
| |
| from('src/main/native/cpp') { |
| into '/' |
| } |
| from("$buildDir/generated/cpp") { |
| into '/' |
| } |
| } |
| |
| cppSourcesZip.dependsOn generateCppVersion |
| |
| task cppHeadersZip(type: Zip) { |
| destinationDir = outputsFolder |
| baseName = zipBaseName |
| classifier = "headers" |
| |
| from(licenseFile) { |
| into '/' |
| } |
| |
| from('src/main/native/include') { |
| into '/' |
| } |
| } |
| |
| build.dependsOn cppHeadersZip |
| build.dependsOn cppSourcesZip |
| |
| addTaskToCopyAllOutputs(cppHeadersZip) |
| addTaskToCopyAllOutputs(cppSourcesZip) |
| |
| model { |
| publishing { |
| def wpilibCTaskList = createComponentZipTasks($.components, ['wpilibc'], zipBaseName, Zip, project, includeStandardZipFormat) |
| |
| publications { |
| cpp(MavenPublication) { |
| wpilibCTaskList.each { |
| artifact it |
| } |
| |
| artifact cppHeadersZip |
| artifact cppSourcesZip |
| |
| artifactId = baseArtifactId |
| groupId artifactGroupId |
| version pubVersion |
| } |
| } |
| } |
| } |