blob: 025c09d11406d40f4eea87310f44828be57a6e17 [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
37 from('src/main/native/include') {
38 into '/'
39 }
40}
41
42build.dependsOn cppHeadersZip
43build.dependsOn cppSourcesZip
44
45addTaskToCopyAllOutputs(cppHeadersZip)
46addTaskToCopyAllOutputs(cppSourcesZip)
47
48model {
49 publishing {
50 def wpilibCTaskList = createComponentZipTasks($.components, ['wpilibc'], zipBaseName, Zip, project, includeStandardZipFormat)
51
52 publications {
53 cpp(MavenPublication) {
54 wpilibCTaskList.each {
55 artifact it
56 }
57
58 artifact cppHeadersZip
59 artifact cppSourcesZip
60
61 artifactId = baseArtifactId
62 groupId artifactGroupId
63 version wpilibVersioning.version.get()
64 }
65 }
66 }
67}