blob: 1fa3aafbfcf300ef8bd81c09bc016a3dd8695cb9 [file] [log] [blame]
Brian Silverman8fce7482020-01-05 13:18:21 -08001apply plugin: 'maven-publish'
2
3def baseArtifactId = nativeName
4def artifactGroupId = 'edu.wpi.first.halsim'
5def zipBaseName = "_GROUP_edu_wpi_first_halsim_ID_${nativeName}_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}
22
23task cppHeadersZip(type: Zip) {
24 destinationDirectory = outputsFolder
25 archiveBaseName = zipBaseName
26 classifier = "headers"
27
28 from(licenseFile) {
29 into '/'
30 }
31
32 from('src/main/native/include') {
33 into '/'
34 }
35}
36
37build.dependsOn cppSourcesZip
38build.dependsOn cppHeadersZip
39
40addTaskToCopyAllOutputs(cppSourcesZip)
41addTaskToCopyAllOutputs(cppHeadersZip)
42
43
44model {
45 publishing {
46 def lowfiSimTaskList = createComponentZipTasks($.components, [nativeName], zipBaseName, Zip, project, includeStandardZipFormat)
47
48 publications {
49 cpp(MavenPublication) {
50 lowfiSimTaskList.each {
51 artifact it
52 }
53
54 artifact cppHeadersZip
55 artifact cppSourcesZip
56
57
58 artifactId = baseArtifactId
59 groupId artifactGroupId
60 version wpilibVersioning.version.get()
61 }
62 }
63 }
64}