From 99234b06ee8f6f12fe05bd96eb3646aa29677183 Mon Sep 17 00:00:00 2001 From: Thad House Date: Fri, 18 Oct 2024 15:04:38 -0700 Subject: [PATCH] Add ntcoreffi headers zip --- ntcoreffi/build.gradle | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/ntcoreffi/build.gradle b/ntcoreffi/build.gradle index 98ffeaa6744..15740557c59 100644 --- a/ntcoreffi/build.gradle +++ b/ntcoreffi/build.gradle @@ -84,6 +84,46 @@ def nativeName = 'ntcoreffi' def baseArtifactId = nativeName def artifactGroupId = "edu.wpi.first.${nativeName}" def zipBaseName = "_GROUP_edu_wpi_first_${nativeName}_ID_${nativeName}-cpp_CLS" +def outputsFolder = file("$project.buildDir/outputs") + +evaluationDependsOn(':ntcore') +evaluationDependsOn(':wpiutil') + +def cppProjectZips = [] +cppProjectZips.add(project(':ntcore').cppHeadersZip) +cppProjectZips.add(project(':wpiutil').cppHeadersZip) + +task cppHeadersZip(type: Zip) { + destinationDirectory = outputsFolder + archiveBaseName = zipBaseName + archiveClassifier = "headers" + duplicatesStrategy = 'exclude' + + from(licenseFile) { + into '/' + } + + ext.includeDirs = [ + project.file('src/main/native/include'), + ] + + ext.includeDirs.each { + from(it) { + into '/' + } + } + + cppProjectZips.each { + dependsOn it + from zipTree(it.archiveFile) + } +} + +artifacts { + archives cppHeadersZip +} + +addTaskToCopyAllOutputs(cppHeadersZip) model { publishing { @@ -94,6 +134,7 @@ model { taskList.each { artifact it } + artifact cppHeadersZip artifactId = "${baseArtifactId}-cpp" groupId artifactGroupId