Files
allwpilib/gtest/publish.gradle

99 lines
2.4 KiB
Groovy
Raw Normal View History

apply plugin: 'maven-publish'
apply plugin: 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin'
if (!hasProperty('releaseType')) {
WPILibVersion {
releaseType = 'dev'
}
}
def pubVersion = ''
if (project.hasProperty("publishVersion")) {
pubVersion = project.publishVersion
} else {
pubVersion = WPILibVersion.version
}
2018-04-29 13:29:07 -07:00
def baseArtifactId = 'gtest'
def artifactGroupId = 'edu.wpi.first.gtest'
def zipBaseName = '_GROUP_edu_wpi_first_gtest_ID_gtest_CLS'
def outputsFolder = file("$project.buildDir/outputs")
task cppSourcesZip(type: Zip) {
destinationDir = outputsFolder
2018-04-29 13:29:07 -07:00
baseName = zipBaseName
classifier = "sources"
2018-04-29 13:29:07 -07:00
from("$projectDir/LICENSE") {
into '/'
}
from('src/main/native/cpp') {
into '/'
}
}
task cppHeadersZip(type: Zip) {
destinationDir = outputsFolder
2018-04-29 13:29:07 -07:00
baseName = zipBaseName
classifier = "headers"
2018-04-29 13:29:07 -07:00
from("$projectDir/LICENSE") {
into '/'
}
from('src/main/native/include') {
into '/'
}
}
build.dependsOn cppHeadersZip
2018-04-29 13:29:07 -07:00
build.dependsOn cppSourcesZip
2018-04-29 13:29:07 -07:00
addTaskToCopyAllOutputs(cppHeadersZip)
addTaskToCopyAllOutputs(cppSourcesZip)
model {
publishing {
2018-04-29 13:29:07 -07:00
def taskList = createComponentZipTasks($.components, 'gtest', zipBaseName, Zip, project, { task, value ->
task.from("$projectDir/LICENSE") {
into '/'
}
value.each { binary ->
if (binary.buildable) {
2018-04-29 13:29:07 -07:00
if (binary instanceof StaticLibraryBinarySpec) {
task.dependsOn binary.buildTask
2018-04-29 13:29:07 -07:00
task.from(binary.staticLibraryFile) {
into getPlatformPath(binary) + '/static'
}
}
}
}
})
def allTask
if (!project.hasProperty('jenkinsBuild')) {
2018-04-29 13:29:07 -07:00
allTask = createAllCombined(taskList, 'gtest', zipBaseName, Zip, project)
}
publications {
cpp(MavenPublication) {
2018-04-29 13:29:07 -07:00
taskList.each {
artifact it
}
2018-04-29 13:29:07 -07:00
artifact cppHeadersZip
artifact cppSourcesZip
if (!project.hasProperty('jenkinsBuild')) {
artifact allTask
}
2018-04-29 13:29:07 -07:00
artifactId = "${baseArtifactId}-cpp"
groupId artifactGroupId
version pubVersion
}
}
}
}