blob: 140ae2078aa421b42ca165660f8e7bd0ab243045 [file] [log] [blame]
Brian Silverman8fce7482020-01-05 13:18:21 -08001apply plugin: 'maven-publish'
2
3def outputsFolder = file("$buildDir/outputs")
4
5def baseArtifactId = nativeName
6def artifactGroupId = "edu.wpi.first.${nativeName}"
7def zipBaseName = "_GROUP_edu_wpi_first_${nativeName}_ID_${nativeName}-cpp_CLS"
8
Austin Schuh1e69f942020-11-14 15:06:14 -08009def licenseFile = file("$rootDir/license.md")
Brian Silverman8fce7482020-01-05 13:18:21 -080010
11task cppSourcesZip(type: Zip) {
12 destinationDirectory = outputsFolder
13 archiveBaseName = zipBaseName
14 classifier = "sources"
15
16 from(licenseFile) {
17 into '/'
18 }
19
20 from('src/main/native/cpp') {
21 into '/'
22 }
23}
24
25task cppHeadersZip(type: Zip) {
26 destinationDirectory = outputsFolder
27 archiveBaseName = zipBaseName
28 classifier = "headers"
29
30 from(licenseFile) {
31 into '/'
32 }
33
34 from('src/main/native/include') {
35 into '/'
36 }
37}
38
39artifacts {
40 archives cppHeadersZip
41 archives cppSourcesZip
42}
43
44addTaskToCopyAllOutputs(cppSourcesZip)
45addTaskToCopyAllOutputs(cppHeadersZip)
46
47model {
48 publishing {
49 def taskList = createComponentZipTasks($.components, [nativeName], zipBaseName, Zip, project, includeStandardZipFormat)
50
51 publications {
52 cpp(MavenPublication) {
53 taskList.each {
54 artifact it
55 }
56 artifact cppHeadersZip
57 artifact cppSourcesZip
58
59 artifactId = "${baseArtifactId}-cpp"
60 groupId artifactGroupId
61 version wpilibVersioning.version.get()
62 }
63 }
64 }
65}