mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-21 01:01:43 +00:00
126 lines
3.4 KiB
Groovy
126 lines
3.4 KiB
Groovy
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
|
|
}
|
|
|
|
def baseArtifactId = 'hal'
|
|
def artifactGroupId = 'edu.wpi.first.hal'
|
|
|
|
def outputsFolder = file("$project.buildDir/outputs")
|
|
|
|
task cppSourcesZip(type: Zip) {
|
|
destinationDir = outputsFolder
|
|
baseName = 'hal'
|
|
classifier = "sources"
|
|
|
|
from(licenseFile) {
|
|
into '/'
|
|
}
|
|
|
|
from('src/main/native/athena') {
|
|
into '/athena'
|
|
}
|
|
|
|
from('src/main/native/sim') {
|
|
into '/sim'
|
|
}
|
|
|
|
from('src/main/native/shared') {
|
|
into '/shared'
|
|
}
|
|
}
|
|
|
|
task cppHeadersZip(type: Zip) {
|
|
destinationDir = outputsFolder
|
|
baseName = 'hal'
|
|
classifier = "headers"
|
|
|
|
from(licenseFile) {
|
|
into '/'
|
|
}
|
|
|
|
from('src/main/native/include') {
|
|
into '/'
|
|
}
|
|
}
|
|
|
|
build.dependsOn cppHeadersZip
|
|
build.dependsOn cppSourcesZip
|
|
|
|
|
|
model {
|
|
publishing {
|
|
def halAthenaTaskList = []
|
|
if (!project.hasProperty('skipAthena')) {
|
|
halAthenaTaskList = createComponentZipTasks($.components, 'halAthena', 'zipcpp', Zip, project, includeStandardZipFormat)
|
|
}
|
|
def halSimTaskList = []
|
|
if (!project.hasProperty('onlyAthena')) {
|
|
halSimTaskList = createComponentZipTasks($.components, 'halSim', 'zipcpp', Zip, project, includeStandardZipFormat)
|
|
}
|
|
|
|
def allTask
|
|
if (!project.hasProperty('jenkinsBuild')) {
|
|
def combinedList = []
|
|
halAthenaTaskList.each {
|
|
combinedList.add(it)
|
|
}
|
|
halSimTaskList.each {
|
|
combinedList.add(it)
|
|
}
|
|
allTask = createAllCombined(combinedList, 'hal', 'zipcpp', Zip, project)
|
|
}
|
|
|
|
def halSimStaticDepsTaskList = []
|
|
if (project.hasProperty('buildHalStaticDeps')) {
|
|
halSimStaticDepsTaskList = createComponentZipTasks($.components, 'halSimStaticDeps', 'zipcpp', Zip, project, includeStandardZipFormat)
|
|
if (!project.hasProperty('jenkinsBuild')) {
|
|
def staticAllTask = createAllCombined(halSimStaticDepsTaskList, 'halSimStaticDeps', 'zipcpp', Zip, project)
|
|
halSimStaticDepsTaskList.add(staticAllTask)
|
|
}
|
|
}
|
|
|
|
publications {
|
|
cpp(MavenPublication) {
|
|
halAthenaTaskList.each {
|
|
artifact it
|
|
}
|
|
halSimTaskList.each {
|
|
artifact it
|
|
}
|
|
if (!project.hasProperty('jenkinsBuild')) {
|
|
artifact allTask
|
|
}
|
|
artifact cppHeadersZip
|
|
artifact cppSourcesZip
|
|
|
|
artifactId = baseArtifactId
|
|
groupId artifactGroupId
|
|
version pubVersion
|
|
}
|
|
if (project.hasProperty('buildHalStaticDeps')) {
|
|
cppStaticDeps(MavenPublication) {
|
|
halSimStaticDepsTaskList.each {
|
|
artifact it
|
|
}
|
|
|
|
artifactId = baseArtifactId + 'StaticDeps'
|
|
groupId artifactGroupId
|
|
version pubVersion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|