From 25e9abaaae647024d9380cf1d425276bd7e88127 Mon Sep 17 00:00:00 2001 From: Isaac Turner Date: Thu, 29 Feb 2024 23:22:10 +0800 Subject: [PATCH 1/3] Specify vendordep json file format --- VendordepJsonSpecification.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 VendordepJsonSpecification.md diff --git a/VendordepJsonSpecification.md b/VendordepJsonSpecification.md new file mode 100644 index 00000000..d3623a6d --- /dev/null +++ b/VendordepJsonSpecification.md @@ -0,0 +1,28 @@ +WPILib Vendor Dependency JSON File Format Specification +=== + +- version: 1.0 + +Types +--- +| Typename | JSON description | +--- +| JavaArtifact | `{ groupId: String, ArtifactId: String, version: String }` | +| JniArtifact | `{ groupId: String, ArtifactId: String, version: String, skipInvalidPlatforms: Boolean, isJar: Boolean, validPlatforms: String[] }` | +| CppArtifact | `{ groupId: String, ArtifactId: String, version: String, libName: String, headerClassifier: String, sharedLibrary: Boolean, skipInvalidPlatforms: Boolean, binaryPlatforms: String[] }` | + +Keys +--- +| Name | Type | Description | Optional | +--- +| name | String | The name of the vendordep. | No. | +| version | String | The version of the vendordep. | No. | +| uuid | String | The unique identifier for the vendordep. Used to avoid replicating vendordeps in projects. | No. | +| mavenUrls | String[] | An array of urls pointing to the root of the maven repository storing the vendordep. | No. | +| extraGroupIds | String[] | | Yes. | +| jsonUrl | String | The URL that the vendordep json file can be found at. | No. | +| fileName | String | The name of the file this vendordep should be found in. | No. | +| frcYear | String | The FRC year that this project should be compatible with | No. | +| javaDependencies | JavaArtifact[] | +| jniDependencies | JniArtifact[] | +| cppDependencies | CppArtifact[] | From c08a3ca1e7928e402c60848406a27ee4e0549ce5 Mon Sep 17 00:00:00 2001 From: Isaac Turner Date: Thu, 29 Feb 2024 23:28:14 +0800 Subject: [PATCH 2/3] missed some stuff --- VendordepJsonSpecification.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/VendordepJsonSpecification.md b/VendordepJsonSpecification.md index d3623a6d..a46d1789 100644 --- a/VendordepJsonSpecification.md +++ b/VendordepJsonSpecification.md @@ -23,6 +23,6 @@ Keys | jsonUrl | String | The URL that the vendordep json file can be found at. | No. | | fileName | String | The name of the file this vendordep should be found in. | No. | | frcYear | String | The FRC year that this project should be compatible with | No. | -| javaDependencies | JavaArtifact[] | -| jniDependencies | JniArtifact[] | -| cppDependencies | CppArtifact[] | +| javaDependencies | JavaArtifact[] | The Java artifacts that the project exports. | No. | +| jniDependencies | JniArtifact[] | The JNI Artifacts that the project exports. | No. | +| cppDependencies | CppArtifact[] | The C++ Artifacts that the project exports. | No. | From 9ba4be0d6e7b67eb7d6aae83b8b19bdb9bc21182 Mon Sep 17 00:00:00 2001 From: Isaac Turner Date: Mon, 4 Mar 2024 20:47:04 +0800 Subject: [PATCH 3/3] update spec to treat jsonUrl as optional --- VendordepJsonSpecification.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VendordepJsonSpecification.md b/VendordepJsonSpecification.md index a46d1789..93cf29bc 100644 --- a/VendordepJsonSpecification.md +++ b/VendordepJsonSpecification.md @@ -20,7 +20,7 @@ Keys | uuid | String | The unique identifier for the vendordep. Used to avoid replicating vendordeps in projects. | No. | | mavenUrls | String[] | An array of urls pointing to the root of the maven repository storing the vendordep. | No. | | extraGroupIds | String[] | | Yes. | -| jsonUrl | String | The URL that the vendordep json file can be found at. | No. | +| jsonUrl | String | The URL that the vendordep json file can be found at. | Yes. | | fileName | String | The name of the file this vendordep should be found in. | No. | | frcYear | String | The FRC year that this project should be compatible with | No. | | javaDependencies | JavaArtifact[] | The Java artifacts that the project exports. | No. |