blob: ec645ae1982dd6342575356c23e239426ea879f4 [file] [log] [blame]
Brian Silverman41cdd3e2019-01-19 19:48:58 -08001apply plugin: 'maven-publish'
2
3def pubVersion
4if (project.hasProperty("publishVersion")) {
5 pubVersion = project.publishVersion
6} else {
7 pubVersion = WPILibVersion.version
8}
9
10def baseExamplesArtifactId = 'examples'
11def baseTemplatesArtifactId = 'templates'
12def baseCommandsArtifactId = 'commands'
13def artifactGroupId = 'edu.wpi.first.wpilibc'
14
15def examplesZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_examples_CLS'
16def templatesZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_templates_CLS'
17def commandsZipBaseName = '_GROUP_edu_wpi_first_wpilibc_ID_commands_CLS'
18
19def outputsFolder = file("$project.buildDir/outputs")
20
21task cppExamplesZip(type: Zip) {
22 destinationDir = outputsFolder
23 baseName = examplesZipBaseName
24
25 from(licenseFile) {
26 into '/'
27 }
28
29 from('src/main/cpp/examples') {
30 into 'examples'
31 }
32}
33
34task cppTemplatesZip(type: Zip) {
35 destinationDir = outputsFolder
36 baseName = templatesZipBaseName
37
38 from(licenseFile) {
39 into '/'
40 }
41
42 from('src/main/cpp/templates') {
43 into 'templates'
44 }
45}
46
47task cppCommandsZip(type: Zip) {
48 destinationDir = outputsFolder
49 baseName = commandsZipBaseName
50
51 from(licenseFile) {
52 into '/'
53 }
54
55 from('src/main/cpp/commands') {
56 into 'commands'
57 }
58}
59
60build.dependsOn cppTemplatesZip
61build.dependsOn cppExamplesZip
62build.dependsOn cppCommandsZip
63
64addTaskToCopyAllOutputs(cppTemplatesZip)
65addTaskToCopyAllOutputs(cppExamplesZip)
66addTaskToCopyAllOutputs(cppCommandsZip)
67
68publishing {
69 publications {
70 examples(MavenPublication) {
71 artifact cppExamplesZip
72
73 artifactId = baseExamplesArtifactId
74 groupId artifactGroupId
75 version pubVersion
76 }
77
78 templates(MavenPublication) {
79 artifact cppTemplatesZip
80
81 artifactId = baseTemplatesArtifactId
82 groupId artifactGroupId
83 version pubVersion
84 }
85
86 commands(MavenPublication) {
87 artifact cppCommandsZip
88
89 artifactId = baseCommandsArtifactId
90 groupId artifactGroupId
91 version pubVersion
92 }
93 }
94}