Skip to content
This repository was archived by the owner on Feb 23, 2026. It is now read-only.

πŸš€ Aether Generators v1.1.0 – Improved Code Generation with JavaPoet

Choose a tag to compare

@Splatcrafter Splatcrafter released this 01 Sep 13:58
· 11 commits to main since this release

πŸš€ Aether Generators v1.1.0 – Improved Code Generation with JavaPoet

This release focuses on a refactored, more maintainable DTO generator with deterministic output and clearer diagnostics. It is a drop‑in upgrade for users of the 1.0.x line.

✨ Highlights in 1.1.0:

  • βœ… Refactored: Processor code modularized into struct and utils packages
  • βœ… Stability: Deterministic serialVersionUID generation via SHA‑256 hashing
  • βœ… Ordering: Stable field ordering by @Dto(order) with declaration order as tiebreaker
  • βœ… Annotation mirroring: Copies all field annotations from the source (excluding @Dto)
  • βœ… DTO quality: Consistent toString(), equals(), and hashCode()
  • βœ… Docs: Generated Javadoc references original fields; internal Javadocs added across the processor
  • βœ… Convenience: Trailing block comment with change(..) / build(..) examples appended to each DTO

πŸ“¦ Installation

Tip

πŸŽ‰ All Aether products are available on Maven Central – no extra repository required!

Maven (BOM + modules)

<!-- pom.xml -->
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>de.splatgames.aether</groupId>
            <artifactId>aether-generators-bom</artifactId>
            <version>1.1.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

<dependencies>
    <!-- DTO generator modules -->
    <dependency>
        <groupId>de.splatgames.aether</groupId>
        <artifactId>aether-generators-dto-annotations</artifactId>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <annotationProcessorPaths>
                    <path>
                        <groupId>de.splatgames.aether</groupId>
                        <artifactId>aether-generators-dto-processor</artifactId>
                        <version>1.1.0</version>
                    </path>
                </annotationProcessorPaths>
            </configuration>
        </plugin>
    </plugins>
</build>

Gradle (BOM + modules)

dependencies {
    implementation platform('de.splatgames.aether:aether-generators-bom:1.1.0')
    implementation 'de.splatgames.aether:aether-generators-dto-annotations'
    annotationProcessor 'de.splatgames.aether:aether-generators-dto-processor:1.1.0'
}

πŸ› οΈ Upgrade Notes

  • No breaking API changes in generated DTOs.
  • If you pinned 1.0.x in your annotation processor paths, update to 1.1.0.
  • The 1.0.x line is considered legacy; use 1.1.0 for continued improvements.

πŸ“ Changelog

Enhancements

  • Modularized processor code into struct and utils packages.
  • Deterministic serialVersionUID computation for DTOs.
  • Stable field ordering by order, with declaration order as a secondary key.
  • Copied source field annotations to DTO fields (excluding @Dto).
  • Appended recommended change(..) and build(..) methods as a trailing comment in each DTO.
  • Added comprehensive internal Javadocs and clearer compiler diagnostics.

Bug Fixes

  • Fixed missing semicolon in generated toString() methods.
  • Corrected declaration index handling for consistent ordering.

πŸ“œ License

This project is licensed under the MIT License. See LICENSE for details and NOTICE for third‑party attributions.