Skip to content

Releases: enofex/taikai

0.3.0

10 Jun 19:13
Compare
Choose a tag to compare

What's Changed

🎉 New Features

  • Provide a new Java Rule checking equals and hashCode are implemented … by @mnhock in #14
  • Provide a new Java Rule for enforcing naming conventions for constants by @mnhock in #15

Full Changelog: v0.2.1...v0.3.0

0.2.1

08 Jun 14:48
Compare
Choose a tag to compare

What's Changed

🐞 Bug Fixes

  • Fix deprecation rule in order to find only the usage

Full Changelog: v0.2.0...v0.2.1

0.2.0

07 Jun 10:51
Compare
Choose a tag to compare

What's Changed

🎉 New Features

  • Add new Java rule noUsageOfDeprecatedAPIs()
  • Add new Java rule methodsShouldNotThrowGenericException()
  • Add new Java rule utilityClassesShouldBeFinalAndHavePrivateConstructor()

Full Changelog: v0.1.3...v0.2.0

0.1.3

07 Jun 05:41
Compare
Choose a tag to compare

What's Changed

Other Changes

  • SpringBootApplication annotation should not be checked for configuration rules

Full Changelog: v0.1.2...v0.1.3

0.1.2

06 Jun 19:27
ebb3557
Compare
Choose a tag to compare

What's Changed

🐞 Bug Fixes

  • Rule springBootApplicationShouldBeIn should not check for meta annota… by @mnhock in #9

New Contributors

  • @mnhock made their first contribution in #9

Full Changelog: v0.1.1...v0.1.2

0.1.1

06 Jun 17:31
Compare
Choose a tag to compare

What's Changed

🐞 Bug Fixes

  • Fix artifactId to taikai

0.1.0

06 Jun 16:43
6a09e52
Compare
Choose a tag to compare

🎉 Taikai 0.1.0 Release Notes 🎉

We are thrilled to announce the first official release of Taikai! Taikai is a wrapper around the awesome ArchUnit and provides a set of common rules for different technologies like Java, Spring and JUnit5, more will follow.

🚀 Key Features

1. Spring Configuration

  • No Autowired Fields: Enforce the use of constructor injection by ensuring no fields are annotated with @Autowired.
  • Spring Boot Application Placement: Ensure your @SpringBootApplication annotated classes are located in the correct package.
  • Configuration Class Naming: Ensure your configuration classes follow a consistent naming convention, ending with Configuration, or optionally matching a specific regex pattern.
  • Controller Annotations: Verify that your controller classes are properly annotated with @Controller or @RestController.
  • Controller Class Naming: Ensure controller class names end with Controller, or follow a specific regex pattern, do not depend on other controllers, and are package-private.
  • Service Class Naming: Ensure service class names end with Service or follow a specific regex pattern.
  • Repository Class Naming: Ensure repository class names end with Repository or follow a specific regex pattern.

2. Test Configuration

  • JUnit 5 Compliance: Ensure that your test classes and methods are not annotated with @Disabled.

3. Java Configuration

  • No Cyclic Dependencies: Maintain a clean architecture with no cyclic dependencies.
  • Restricted Imports: Prevent unwanted dependencies by restricting imports from specified packages such as ..shaded..

4. Naming Conventions

  • Class Naming: Enforce consistent naming conventions to avoid class names matching certain patterns, such as .*Impl.
  • Interface Naming: Ensure interfaces are not prefixed with 'I' for cleaner, more readable code.

💬 Feedback and Contributions

Your feedback is invaluable to us! Feel free to report issues, suggest features, or contribute to the project.

🎉 Join the Celebration

We are incredibly grateful to our contributors and the community for their support. Join us in celebrating this milestone and stay tuned for more exciting features and improvements in future releases.