Skip to content

Commit

Permalink
Vendordep Templating. (#41)
Browse files Browse the repository at this point in the history
* Added templating to the vendordep json.

* Fixed driver reference

* Moved copy to an artifact.

* Moved vendordep generation to `$buildDir/repos/` and added zip task. Maven publication commented out.

* Fixed zip function, uncommented maven publishing for vendordep.

* Update publish.gradle

* Change basename of vendordepJson

Added deps fix.

---------

Co-authored-by: thenetworkgrinch <[email protected]>
  • Loading branch information
thenetworkgrinch and thenetworkgrinch authored Dec 3, 2024
1 parent 136fdda commit 93767cf
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 13 deletions.
26 changes: 13 additions & 13 deletions ExampleVendorJson.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"fileName": "ExampleVendorJson.json",
"name": "ExampleVendorDep",
"version": "0.0.1",
"version": "${version}",
"frcYear": "2025",
"uuid": "Generate A Unique GUID https://guidgenerator.com/online-guid-generator.aspx and insert it here", This line is to purposely make this fail to parse
"mavenUrls": [
Expand All @@ -10,16 +10,16 @@
"jsonUrl": "InsertSomeUrlHere",
"javaDependencies": [
{
"groupId": "com.vendor.frc",
"artifactId": "Vendor-java",
"version": "0.0.1"
"groupId": "${groupId}",
"artifactId": "${artifactId}-java",
"version": "${version}"
}
],
"jniDependencies": [
{
"groupId": "com.vendor.frc",
"artifactId": "Vendor-driver",
"version": "0.0.1",
"groupId": "${groupId}",
"artifactId": "${artifactId}-driver",
"version": "${version}",
"skipInvalidPlatforms": true,
"isJar": false,
"validPlatforms": [
Expand All @@ -35,9 +35,9 @@
],
"cppDependencies": [
{
"groupId": "com.vendor.frc",
"artifactId": "Vendor-cpp",
"version": "0.0.1",
"groupId": "${groupId}",
"artifactId": "${artifactId}-cpp",
"version": "${version}",
"libName": "Vendor",
"headerClassifier": "headers",
"sharedLibrary": false,
Expand All @@ -53,9 +53,9 @@
]
},
{
"groupId": "com.vendor.frc",
"artifactId": "Vendor-driver",
"version": "0.0.1",
"groupId": "${groupId}",
"artifactId": "${artifactId}-driver",
"version": "${version}",
"libName": "VendorDriver",
"headerClassifier": "headers",
"sharedLibrary": false,
Expand Down
41 changes: 41 additions & 0 deletions publish.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,12 @@
import org.apache.tools.ant.filters.FixCrLfFilter
import org.apache.tools.ant.filters.ReplaceTokens

apply plugin: 'maven-publish'

ext.licenseFile = files("$rootDir/LICENSE.txt")

def templateVendorFile = "ExampleVendorJson.json"

def pubVersion = '0.0.1'

def outputsFolder = file("$buildDir/outputs")
Expand Down Expand Up @@ -127,6 +132,32 @@ task outputJavadocJar(type: Jar, dependsOn: javadoc) {
from javadoc.destinationDir
}

// Apply template variables from the vendordep file.
// Replaces ${VARIABLE} with VARIABLE: value in expand()
task vendordepJson() {
description = 'Builds the vendordep json file.'
group = 'Build'
outputs.file("$buildDir/repos/$templateVendorFile")

copy {
from templateVendorFile
into "$buildDir/repos/"
expand(version: pubVersion,
groupId: artifactGroupId,
artifactId: baseArtifactId)
}
}

task vendordepJsonZip(type: Zip) {
destinationDirectory = outputsFolder
archiveBaseName = "vendordepJson"

from("$buildDir/repos/$templateVendorFile") {
into '/'
}
dependsOn vendordepJson
}

artifacts {
archives sourcesJar
archives javadocJar
Expand All @@ -138,10 +169,12 @@ artifacts {
addTaskToCopyAllOutputs(outputSourcesJar)
addTaskToCopyAllOutputs(outputJavadocJar)
addTaskToCopyAllOutputs(outputJar)
addTaskToCopyAllOutputs(vendordepJsonZip)

build.dependsOn outputSourcesJar
build.dependsOn outputJavadocJar
build.dependsOn outputJar
build.dependsOn vendordepJsonZip

libraryBuild.dependsOn build

Expand Down Expand Up @@ -200,6 +233,14 @@ model {
groupId artifactGroupId
version pubVersion
}

vendordep(MavenPublication) {
artifact vendordepJsonZip

artifactId = "${baseArtifactId}-vendordep"
groupId artifactGroupId
version pubVersion
}
}
}
}

0 comments on commit 93767cf

Please sign in to comment.