{"id":27248843,"url":"https://github.com/bakdata/gradle-avro-dependency-plugin","last_synced_at":"2026-03-04T03:32:02.260Z","repository":{"id":43173953,"uuid":"462290998","full_name":"bakdata/gradle-avro-dependency-plugin","owner":"bakdata","description":"A Gradle plugin that lets you compile Apache Avro schemas to Java classes and supports dependencies","archived":false,"fork":false,"pushed_at":"2025-03-11T13:10:33.000Z","size":210,"stargazers_count":3,"open_issues_count":1,"forks_count":0,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-10T23:48:12.072Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bakdata.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-22T12:37:13.000Z","updated_at":"2025-03-31T11:43:55.000Z","dependencies_parsed_at":"2024-01-16T17:55:48.011Z","dependency_job_id":"40bd994d-00fc-46f4-a48a-5519b6981ccb","html_url":"https://github.com/bakdata/gradle-avro-dependency-plugin","commit_stats":null,"previous_names":[],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fgradle-avro-dependency-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fgradle-avro-dependency-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fgradle-avro-dependency-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bakdata%2Fgradle-avro-dependency-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bakdata","download_url":"https://codeload.github.com/bakdata/gradle-avro-dependency-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248317727,"owners_count":21083528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-04-10T23:48:16.153Z","updated_at":"2026-03-04T03:32:02.215Z","avatar_url":"https://github.com/bakdata.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://dev.azure.com/bakdata/public/_apis/build/status/bakdata.gradle-avro-dependency-plugin?repoName=bakdata%2Fgradle-avro-dependency-plugin\u0026branchName=main)](https://dev.azure.com/bakdata/public/_build/latest?definitionId=29\u0026repoName=bakdata%2Fgradle-avro-dependency-plugin\u0026branchName=main)\n[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.bakdata.gradle%3Agradle-avro-dependency-plugin\u0026metric=alert_status)](https://sonarcloud.io/summary/new_code?id=com.bakdata.gradle%3Agradle-avro-dependency-plugin)\n[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.bakdata.gradle%3Agradle-avro-dependency-plugin\u0026metric=coverage)](https://sonarcloud.io/summary/new_code?id=com.bakdata.gradle%3Agradle-avro-dependency-plugin)\n\n# gradle-avro-dependency-plugin\nA Gradle plugin that lets you compile Apache Avro schemas to Java classes and supports dependencies.\n\nIt is available on the [Gradle Plugin Portal](https://plugins.gradle.org/plugin/com.bakdata.avro).\n\nThis plugin applies the [gradle-avro-plugin](https://github.com/davidmc24/gradle-avro-plugin)\nand adds the capability to reference external Avro schemas in your schema files using dependencies.\nThis plugin adds the configurations `avroImplementation` and `testAvroImplementation` to your Gradle project.\nThereby, you can include external .avsc files without copying them to the project.\nThe .avsc files need to be present in the referenced artifact.\nIf the java-library plugin is also present, .avsc files will be added to the jar publication,\nthus making it usable as a dependency for the aforementioned configurations.\nThe java-library plugin also adds the `avroApi` configuration.\n\n## Example\nWith the following `build.gradle.kts` file\n```\nplugins {\n    java\n    id(\"com.bakdata.avro\") version \"1.0.0\"\n}\nrepositories {\n    mavenCentral()\n}\ndependencies {\n    avroImplementation(group = \"com.bakdata.kafka\", name = \"error-handling\", version = \"1.2.2\")\n}\n```\nyou are able to compile the following Avro schema when placing it in `src/main/avro`\n```\n{\n  \"type\": \"record\",\n  \"name\": \"Record\",\n  \"namespace\": \"com.bakdata\",\n  \"fields\": [\n    {\n      \"name\": \"dead_letter\",\n      \"type\": \"com.bakdata.kafka.DeadLetter\"\n    }\n  ]\n}\n```\n\nBy just using the gradle-avro-plugin, you would not be able to compile the schema\nbecause the schema for `com.bakdata.kafka.DeadLetter` is not present in the project.\nIt is located in the `com.bakdata.kafka:error-handling` dependency\nand our plugin adds it to the classpath of the Avro compiler.\n\n## Development\n\nSnapshot versions of these plugins are published to Sonatype.\nYou can use them in your project by adding the following snippet to your `settings.gradle.kts`\n\n```\npluginManagement {\n    repositories {\n        gradlePluginPortal()\n        maven(url = \"https://s01.oss.sonatype.org/content/repositories/snapshots\")\n    }\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fgradle-avro-dependency-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbakdata%2Fgradle-avro-dependency-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbakdata%2Fgradle-avro-dependency-plugin/lists"}