blob: 9a3204e3fe78e45a8b63d40824594bc24ba9db7b [file] [log] [blame]
Brian Silverman41cdd3e2019-01-19 19:48:58 -08001apply plugin: 'maven-publish'
2
Brian Silverman41cdd3e2019-01-19 19:48:58 -08003def 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 destinationDir = outputsFolder
11 baseName = 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 destinationDir = outputsFolder
25 baseName = 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
James Kuszmaul4f3ad3c2019-12-01 16:35:21 -080060 version wpilibVersioning.version.get()
Brian Silverman41cdd3e2019-01-19 19:48:58 -080061 }
62 }
63 }
64}