https://github.com/zolyfarkas/schema-parent-pom
This a parent pom for schema projects.
https://github.com/zolyfarkas/schema-parent-pom
avro schema-design schema-registry schema-validation
Last synced: 5 months ago
JSON representation
This a parent pom for schema projects.
- Host: GitHub
- URL: https://github.com/zolyfarkas/schema-parent-pom
- Owner: zolyfarkas
- Created: 2018-12-13T11:20:01.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-10T18:41:06.000Z (over 2 years ago)
- Last Synced: 2025-07-29T16:37:09.820Z (11 months ago)
- Topics: avro, schema-design, schema-registry, schema-validation
- Size: 124 KB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# schema-parent-pom
This a parent pom for schema projects.
This parent pom implements the following:
* Compose data models using maven dependency framework. Use the maven to re-use, version, release and publish avro data models. (test-schema -> test-schema-common)
* Validate avro schemas:
* documentation.
* naming.
* compatibility with previously released versions. (to avoid production issues [like](https://www.theregister.co.uk/2020/05/08/facebook_sdk_snafu_ios/))
* [extensible](http://www.spf4j.org/spf4j-avro-components/maven-avro-schema-plugin/avro-validate-mojo.html).
* Add a unique ID to the schemas (mvnId = "group:artifact:version:id")
* Easy to use, flexible resolvers to resolve schema IDs (pick the one that fits your dependencies best):
[jaxrs based](https://github.com/zolyfarkas/spf4j-jaxrs/blob/master/spf4j-jaxrs-client/src/main/java/org/spf4j/avro/SchemaClient.java)
or [aether based](https://github.com/zolyfarkas/spf4j/blob/master/spf4j-maven-schema-resolver/src/main/java/org/spf4j/maven/MavenSchemaResolver.java)
* Generate and publish java classes along with javadoc. (publishing for other languages can se set up) (@Imutable support, @Nullable/@Nonnull) [see](https://bintray.com/zolyfarkas/core/download_file?file_path=org%2Fspf4j%2Favro%2Fexamples%2Ftest-schema%2F1.1%2Ftest-schema-1.1.jar)
* Generate package and publish the avro schemas, [see](https://bintray.com/zolyfarkas/core/download_file?file_path=org%2Fspf4j%2Favro%2Fexamples%2Ftest-schema%2F1.1%2Ftest-schema-1.1-avsc.jar).
* Generate and publish avrodoc, [see](https://bintray.com/zolyfarkas/core/download_file?file_path=org%2Fspf4j%2Favro%2Fexamples%2Ftest-schema%2F1.1%2Ftest-schema-1.1-avrodoc.jar) for maven repo publish
[or](https://zolyfarkas.github.io/fred-schema/) for gh-pages doc publish.
Latest Version: [](https://maven-badges.herokuapp.com/maven-central/org.spf4j.avro/schema-parent-pom/)
Here is how a schema project that uses this parent will look like:
4.0.0
org.spf4j.avro.examples
test-schema
jar
MY_VERSION
${project.artifactId}-${project.version}
Avro schema example
org.spf4j.avro
schema-parent-pom
LATEST
org.spf4j.avro.examples
test-schema-common
1.5
for an example please see [core-schema](https://github.com/zolyfarkas/core-schema)