Apache Avro meta-framework that coordinates data serialization implementations across multiple programming languages
npx @tessl/cli install tessl/maven-org-apache-avro--avro-toplevel@1.12.0Apache Avro Toplevel is a meta-framework that coordinates the entire Apache Avro data serialization ecosystem across multiple programming languages. It provides shared schemas, build coordination, and cross-language compatibility standards for the comprehensive Avro data serialization system.
mvn dependency:get -Dartifact=org.apache.avro:avro-toplevel:1.12.0This meta-framework doesn't provide direct programming APIs. Instead, it coordinates language-specific implementations:
<!-- Maven POM dependency for build coordination -->
<dependency>
<groupId>org.apache.avro</groupId>
<artifactId>avro-toplevel</artifactId>
<version>1.12.0</version>
<type>pom</type>
</dependency>The Avro Toplevel project is primarily used for:
# Clone and build entire Avro ecosystem
git clone https://github.com/apache/avro.git
cd avro
./build.sh
# Access shared schemas and specifications
ls share/schemas/org/apache/avro/Apache Avro Toplevel serves as the central orchestrator for a comprehensive data serialization ecosystem:
Central coordination and build management for the entire Apache Avro ecosystem, supporting multi-language implementations and cross-platform compatibility.
<!-- Maven coordinates for the framework coordinator -->
<groupId>org.apache.avro</groupId>
<artifactId>avro-toplevel</artifactId>
<version>1.12.0</version>
<packaging>pom</packaging>Core Avro schemas used across all language implementations for serialization, RPC communication, and data interchange protocols.
// Example: IPC Handshake Request Schema Structure
{
"type": "record",
"name": "HandshakeRequest",
"namespace": "org.apache.avro.ipc",
"fields": [
{"name": "clientHash", "type": {"type": "fixed", "name": "MD5", "size": 16}},
{"name": "clientProtocol", "type": ["null", "string"], "default": null},
{"name": "serverHash", "type": "MD5"},
{"name": "meta", "type": ["null", {"type": "map", "values": "bytes"}], "default": null}
]
}References and coordination for language-specific Avro implementations across C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, and Rust.
# Supported Language Implementations
implementations:
- language: java
location: lang/java
artifacts: [avro, avro-compiler, avro-ipc, avro-tools]
- language: python
location: lang/py
package: avro-python3
- language: javascript
location: lang/js
package: avro-js
- language: csharp
location: lang/csharp
package: Apache.AvroComprehensive build system and development infrastructure for cross-platform development and testing of the Avro ecosystem.
# Build system interface
./build.sh # Build all language implementations
./build.sh test # Run cross-language compatibility tests
./build.sh clean # Clean all build artifacts
./build.sh doc # Generate documentation for all languages# Project Structure Types
AvroToplevelProject:
groupId: "org.apache.avro"
artifactId: "avro-toplevel"
version: string
packaging: "pom"
modules: LanguageImplementation[]
LanguageImplementation:
language: string
location: string
buildSystem: string
mainArtifacts: string[]
SchemaDefinition:
name: string
namespace: string
type: "record" | "enum" | "array" | "map" | "union" | "fixed"
location: string
description: string
BuildConfiguration:
script: string
commands: string[]
environment: map[string, string]
dependencies: string[]