diff --git a/wpilibcExamples/build.gradle b/wpilibcExamples/build.gradle index 5ba7444f73..d0b66496c3 100644 --- a/wpilibcExamples/build.gradle +++ b/wpilibcExamples/build.gradle @@ -110,4 +110,5 @@ if (!project.hasProperty('skipAthena')) { } } } + apply from: 'publish.gradle' } diff --git a/wpilibcExamples/publish.gradle b/wpilibcExamples/publish.gradle new file mode 100644 index 0000000000..16ca7002f4 --- /dev/null +++ b/wpilibcExamples/publish.gradle @@ -0,0 +1,70 @@ +apply plugin: 'maven-publish' +apply plugin: 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' + +if (!hasProperty('releaseType')) { + WPILibVersion { + releaseType = 'dev' + } +} + +def pubVersion +if (project.hasProperty("publishVersion")) { + pubVersion = project.publishVersion +} else { + pubVersion = WPILibVersion.version +} + +def baseExamplesArtifactId = 'examples' +def baseTemplatesArtifactId = 'templates' +def artifactGroupId = 'edu.wpi.first.wpilibc' + +def outputsFolder = file("$project.buildDir/outputs") + +task cppExamplesZip(type: Zip) { + destinationDir = outputsFolder + baseName = 'examples' + + from(licenseFile) { + into '/' + } + + from('src/main/cpp/examples') { + into 'examples' + } +} + +task cppTemplatesZip(type: Zip) { + destinationDir = outputsFolder + baseName = 'templates' + + from(licenseFile) { + into '/' + } + + from('src/main/cpp/templates') { + into 'templates' + } +} + +build.dependsOn cppTemplatesZip +build.dependsOn cppExamplesZip + +publishing { + publications { + examples(MavenPublication) { + artifact cppExamplesZip + + artifactId = baseExamplesArtifactId + groupId artifactGroupId + version pubVersion + } + + templates(MavenPublication) { + artifact cppTemplatesZip + + artifactId = baseTemplatesArtifactId + groupId artifactGroupId + version pubVersion + } + } +} diff --git a/wpilibjExamples/build.gradle b/wpilibjExamples/build.gradle index 7fdb90b9c5..9149a12df4 100644 --- a/wpilibjExamples/build.gradle +++ b/wpilibjExamples/build.gradle @@ -26,3 +26,5 @@ gradle.projectsEvaluated { options.compilerArgs << "-Xlint:unchecked" << "-Xlint:deprecation" << "-Werror" } } + +apply from: 'publish.gradle' diff --git a/wpilibjExamples/publish.gradle b/wpilibjExamples/publish.gradle new file mode 100644 index 0000000000..d0e4f3244b --- /dev/null +++ b/wpilibjExamples/publish.gradle @@ -0,0 +1,70 @@ +apply plugin: 'maven-publish' +apply plugin: 'edu.wpi.first.wpilib.versioning.WPILibVersioningPlugin' + +if (!hasProperty('releaseType')) { + WPILibVersion { + releaseType = 'dev' + } +} + +def pubVersion +if (project.hasProperty("publishVersion")) { + pubVersion = project.publishVersion +} else { + pubVersion = WPILibVersion.version +} + +def baseExamplesArtifactId = 'examples' +def baseTemplatesArtifactId = 'templates' +def artifactGroupId = 'edu.wpi.first.wpilibj' + +def outputsFolder = file("$project.buildDir/outputs") + +task javaExamplesZip(type: Zip) { + destinationDir = outputsFolder + baseName = 'examples' + + from(licenseFile) { + into '/' + } + + from('src/main/java/edu/wpi/first/wpilibj/examples') { + into 'examples' + } +} + +task javaTemplatesZip(type: Zip) { + destinationDir = outputsFolder + baseName = 'templates' + + from(licenseFile) { + into '/' + } + + from('src/main/java/edu/wpi/first/wpilibj/templates') { + into 'templates' + } +} + +build.dependsOn javaTemplatesZip +build.dependsOn javaExamplesZip + +publishing { + publications { + examples(MavenPublication) { + artifact javaExamplesZip + + artifactId = baseExamplesArtifactId + groupId artifactGroupId + version pubVersion + } + + templates(MavenPublication) { + artifact javaTemplatesZip + + artifactId = baseTemplatesArtifactId + groupId artifactGroupId + version pubVersion + } + } +}