blob: 56b94116b566adf2385818f3f19e9721d1ac32ef [file] [log] [blame]
Austin Schuh75263e32022-02-22 18:05:32 -08001apply plugin: 'maven-publish'
2
3def baseArtifactId = project.nativeName
4def artifactGroupId = project.groupId
5def cppZipBaseName = "_GROUP_edu_wpi_first_fieldIimages_ID_${baseArtifactId}-cpp_CLS"
6
7def outputsFolder = file("$project.buildDir/outputs")
8
9task cppSourcesZip(type: Zip) {
10 destinationDirectory = outputsFolder
11 archiveBaseName = cppZipBaseName
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
26task cppHeadersZip(type: Zip) {
27 destinationDirectory = outputsFolder
28 archiveBaseName = cppZipBaseName
29 classifier = "headers"
30
31 from(licenseFile) {
32 into '/'
33 }
34
35 ext.includeDirs = [
36 project.file('src/main/native/include')
37 ]
38
39 ext.includeDirs.each {
40 from(it) {
41 into '/'
42 }
43 }
44}
45
46build.dependsOn cppHeadersZip
47build.dependsOn cppSourcesZip
48
49addTaskToCopyAllOutputs(cppHeadersZip)
50addTaskToCopyAllOutputs(cppSourcesZip)
51
52model {
53 publishing {
54 def wpilibCTaskList = createComponentZipTasks($.components, ['fieldImages'], cppZipBaseName, Zip, project, includeStandardZipFormat)
55
56 publications {
57 cpp(MavenPublication) {
58 wpilibCTaskList.each {
59 artifact it
60 }
61
62 artifact cppHeadersZip
63 artifact cppSourcesZip
64
65 artifactId = "${baseArtifactId}-cpp"
66 groupId artifactGroupId
67 version wpilibVersioning.version.get()
68 }
69 }
70 }
71}