blob: d49f157e81689cc12bc16c1b4e6ce3a5ae13c9ee [file] [log] [blame]
Brian Silverman8fce7482020-01-05 13:18:21 -08001apply plugin: 'maven-publish'
2
3def baseArtifactId = 'wpilibc-cpp'
4def artifactGroupId = 'edu.wpi.first.wpilibc'
5def zipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_wpilibc-cpp_CLS'
6
7def outputsFolder = file("$project.buildDir/outputs")
8
9task cppSourcesZip(type: Zip) {
10 destinationDirectory = outputsFolder
11 archiveBaseName = zipBaseName
12 classifier = "sources"
13
14 from(licenseFile) {
15 into '/'
16 }
17
18 from('src/main/native/cpp') {
19 into '/'
20 }
21 from("$buildDir/generated/cpp") {
22 into '/'
23 }
24}
25
26cppSourcesZip.dependsOn generateCppVersion
27
28task cppHeadersZip(type: Zip) {
29 destinationDirectory = outputsFolder
30 archiveBaseName = zipBaseName
31 classifier = "headers"
32
33 from(licenseFile) {
34 into '/'
35 }
36
Austin Schuh812d0d12021-11-04 20:16:48 -070037 ext.includeDirs = [
38 project.file('src/main/native/include')
39 ]
40
41 ext.includeDirs.each {
42 from(it) {
43 into '/'
44 }
Brian Silverman8fce7482020-01-05 13:18:21 -080045 }
46}
47
48build.dependsOn cppHeadersZip
49build.dependsOn cppSourcesZip
50
51addTaskToCopyAllOutputs(cppHeadersZip)
52addTaskToCopyAllOutputs(cppSourcesZip)
53
54model {
55 publishing {
56 def wpilibCTaskList = createComponentZipTasks($.components, ['wpilibc'], zipBaseName, Zip, project, includeStandardZipFormat)
57
58 publications {
59 cpp(MavenPublication) {
60 wpilibCTaskList.each {
61 artifact it
62 }
63
64 artifact cppHeadersZip
65 artifact cppSourcesZip
66
67 artifactId = baseArtifactId
68 groupId artifactGroupId
69 version wpilibVersioning.version.get()
70 }
71 }
72 }
73}