blob: c137d7c579ed90c4f1e524e74f58703bb7c362cb [file] [log] [blame]
Austin Schuh1e69f942020-11-14 15:06:14 -08001apply plugin: 'maven-publish'
2
3def baseArtifactId = 'wpigui-cpp'
4def artifactGroupId = 'edu.wpi.first.wpigui'
5def zipBaseName = '_GROUP_edu_wpi_first_wpigui_ID_wpigui-cpp_CLS'
6
7def outputsFolder = file("$project.buildDir/outputs")
8
9task cppSourcesZip(type: Zip) {
10 destinationDirectory = outputsFolder
11 archiveBaseName = zipBaseName
James Kuszmaulb13e13f2023-11-22 20:44:04 -080012 archiveClassifier = "sources"
Austin Schuh1e69f942020-11-14 15:06:14 -080013
14 from(licenseFile) {
15 into '/'
16 }
17
18 from('src/main/native/cpp') {
19 into '/'
20 }
21 from('src/main/native/directx11') {
22 into '/'
23 }
24 from('src/main/native/metal') {
25 into '/'
26 }
27 from('src/main/native/opengl3') {
28 into '/'
29 }
30}
31
32task cppHeadersZip(type: Zip) {
33 destinationDirectory = outputsFolder
34 archiveBaseName = zipBaseName
James Kuszmaulb13e13f2023-11-22 20:44:04 -080035 archiveClassifier = "headers"
Austin Schuh1e69f942020-11-14 15:06:14 -080036
37 from(licenseFile) {
38 into '/'
39 }
40
41 from('src/main/native/include') {
42 into '/'
43 }
44}
45
46build.dependsOn cppHeadersZip
47build.dependsOn cppSourcesZip
48
49addTaskToCopyAllOutputs(cppHeadersZip)
50addTaskToCopyAllOutputs(cppSourcesZip)
51
52model {
53 publishing {
54 def wpiguiTaskList = createComponentZipTasks($.components, ['wpigui'], zipBaseName, Zip, project, includeStandardZipFormat)
55
56 publications {
57 cpp(MavenPublication) {
58 wpiguiTaskList.each {
59 artifact it
60 }
61
62 artifact cppHeadersZip
63 artifact cppSourcesZip
64
65 artifactId = baseArtifactId
66 groupId artifactGroupId
67 version wpilibVersioning.version.get()
68 }
69 }
70 }
71}