2017-10-18 02:27:55 -05:00
|
|
|
apply plugin: 'maven-publish'
|
|
|
|
|
|
2018-04-29 13:29:07 -07:00
|
|
|
def baseArtifactId = pluginName
|
2017-10-18 02:27:55 -05:00
|
|
|
def artifactGroupId = 'edu.wpi.first.halsim'
|
2018-04-29 13:29:07 -07:00
|
|
|
def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${pluginName}_CLS"
|
2017-10-18 02:27:55 -05:00
|
|
|
|
2017-11-10 19:26:33 -08:00
|
|
|
def outputsFolder = file("$project.buildDir/outputs")
|
|
|
|
|
|
|
|
|
|
task cppSourcesZip(type: Zip) {
|
2019-11-12 17:14:04 -08:00
|
|
|
destinationDirectory = outputsFolder
|
|
|
|
|
archiveBaseName = zipBaseName
|
2017-11-10 19:26:33 -08:00
|
|
|
classifier = "sources"
|
|
|
|
|
|
|
|
|
|
from(licenseFile) {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
from('src/main/native/cpp') {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
task cppHeadersZip(type: Zip) {
|
2019-11-12 17:14:04 -08:00
|
|
|
destinationDirectory = outputsFolder
|
|
|
|
|
archiveBaseName = zipBaseName
|
2017-11-10 19:26:33 -08:00
|
|
|
classifier = "headers"
|
|
|
|
|
|
|
|
|
|
from(licenseFile) {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
from('src/main/native/include') {
|
|
|
|
|
into '/'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
2017-12-02 22:30:54 -08:00
|
|
|
build.dependsOn cppSourcesZip
|
|
|
|
|
build.dependsOn cppHeadersZip
|
|
|
|
|
|
2018-04-29 13:29:07 -07:00
|
|
|
addTaskToCopyAllOutputs(cppSourcesZip)
|
|
|
|
|
addTaskToCopyAllOutputs(cppHeadersZip)
|
|
|
|
|
|
2017-10-18 02:27:55 -05:00
|
|
|
|
|
|
|
|
model {
|
|
|
|
|
publishing {
|
2018-10-27 00:19:38 -07:00
|
|
|
def pluginTaskList = createComponentZipTasks($.components, [pluginName], zipBaseName, Zip, project, { task, value ->
|
2018-04-29 13:29:07 -07:00
|
|
|
value.each { binary ->
|
2017-11-10 19:26:33 -08:00
|
|
|
if (binary.buildable) {
|
|
|
|
|
if (binary instanceof SharedLibraryBinarySpec) {
|
|
|
|
|
task.dependsOn binary.buildTask
|
2018-04-29 13:29:07 -07:00
|
|
|
task.from(binary.sharedLibraryFile) {
|
2019-06-28 14:09:10 -07:00
|
|
|
into nativeUtils.getPlatformPath(binary) + '/shared'
|
2017-11-10 19:26:33 -08:00
|
|
|
}
|
2017-10-18 02:27:55 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
2017-11-10 19:26:33 -08:00
|
|
|
})
|
|
|
|
|
|
2017-10-18 02:27:55 -05:00
|
|
|
publications {
|
|
|
|
|
cpp(MavenPublication) {
|
2017-11-10 19:26:33 -08:00
|
|
|
pluginTaskList.each {
|
|
|
|
|
artifact it
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
artifact cppHeadersZip
|
|
|
|
|
artifact cppSourcesZip
|
|
|
|
|
|
|
|
|
|
|
2017-10-18 02:27:55 -05:00
|
|
|
artifactId = baseArtifactId
|
|
|
|
|
groupId artifactGroupId
|
2019-08-22 21:48:43 -07:00
|
|
|
version wpilibVersioning.version.get()
|
2017-10-18 02:27:55 -05:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|