Tadukooverse Releases Since Last Update
The blog kind of died off after the last post about Tadukoo Database's Alpha v.0.3 Release. Since then, there have been more changes and releases to the Tadukooverse projects. The entire history of Tadukooverse up until now was discussed in a YouTube video by Tadukoo: Tadukoo Util & Tadukoo Engine (& Related Projects) History
January 8, 2022
On this day, Tadukoo Combos was started as a project. Its single module is Tadukoo Ultimate Pojo. The idea here is that it’s a combination of Form, DatabasePojo, and JSONOrderedClass. Each of these is pojos that hold field values, but the Form provides logic for displaying the fields in a form, DatabasePojo provides logic for retrieving and storing the fields in a database, and JSONOrderedClass can be used to save or load the fields from a JSON file.
January 9, 2022
Tadukoo JUnit was moved into Tadukoo Util. The JUnit module will no longer appear in future diagrams because it’s simpler to exclude it and it’s just used for testing and not for regular code.
May 29, 2022
On May 27, 2022, the Tadukoo Web Parsing project was started. At this point the module was called Tadukoo Web Parsing as well, but it got renamed to Tadukoo HTML on May 29th. The idea here was to be able to parse and generate HTML code (and then later CSS and markdown) to be able to do stuff with web pages. The idea behind this project was related to generating pages used on the github pages about the projects and releases.
February 3, 2023
Tadukoo View was split into 3 projects. The View and Components modules were kept in the base View project as the more basic view-related utilities. Tadukoo Form was moved to its own project and split into multiple modules. Basically Tadukoo Form Fields is the basic form fields such as Boolean and String, Tadukoo Form is for actual forms (which there are several versions of form for use with tabbed views or for using as a main view, etc.), and Tadukoo Form Components is used for Form Fields that are made of Forms. The primary example of this is a DateFormField, which is made as a form containing a month dropdown, a numeric day picker, and a numeric year picker. Tadukoo Look & Feel also became its own project at this point.
March 25, 2023
Tadukoo Maven had its Alpha v.0.4 and Alpha v.0.4.1 releases. Alpha v.0.4 saw the addition of the JUnit, Form, and EngineBase POMs. JUnit POM is basically the maven base POM but also including the JUnit dependency, intended for projects that want to use that dependency but not the rest of Tadukoo Util. Form POM exists for the purpose of projects making use of Tadukoo Form, and then Engine Base POM is extending it to also provide Look & Feel and GitHub dependencies.
Alpha v.0.4.1 had to be released because I already pushed Alpha v.0.4 before finding and fixing incorrect information for the Form project in the Form POM.
March 26, 2023
On March 26, 2023, I had started thinking of making a new project called Ultimate Power. It ultimately wasn’t started until around April 9, 2023, but then hasn’t been pushed to GitHub yet, so it isn’t displayed in this diagram.
There’s an existing Java library called Lombok that provides some annotations that will generate some basic boilerplate Java code in classes that use them. The main example I think of is that it has annotations to generate get and set methods in pojos. So if you have a pojo with 50 fields it saves you from typing out those 100 methods to have a get and set method for each field. So I wondered, is it possible to make annotations that generate more complicated Java code, for example give it the information for my JSON fields and generate a JSONClass pojo for me, or do something similar with the Form or DatabasePojo. The answer is no, lombok only provides specific annotations, you can’t make custom ones. So then the question was can I make my own custom ones. I learned that Java’s default annotation system doesn’t allow this and Lombok basically inserts itself into Eclipse’s compiler and does similar stuff with IntelliJ and Maven too. But I figured out how I could make a Maven plugin to handle custom annotations of my own and at least part of how Lombok works with IntelliJ to handle code hinting and not erroring for methods that “don’t exist” because the annotations generate them. So the idea with Ultimate Power is you’d be able to create your own annotations to generate common code as needed. I’ll probably explain it in more detail in its own video at some point with examples.
But in order to be able to make Ultimate Power, there has to be Java parsing and code generation, which I could do with the Tadukoo Java module I had been working on in the past. Because of this, I started focusing on Tadukoo Java again. The idea with Ultimate Power is that most of my projects would be able to use it, so I wanted it to sit high on the hierarchy of projects. It would have to sit under Java for sure since it needs that, but with Java being in Code Parsing under Parsing, making custom annotations with JSON wouldn’t be possible. So Tadukoo Java moved to depend on only Tadukoo Util’s project instead and the project got renamed from Tadukoo Code Parsing to Tadukoo Java.
April 15, 2023
Tadukoo Java Alpha v.0.4 was released. It didn’t contain Java parsing at this time yet, and it really should’ve been released using a release of Util instead of relying on a Util snapshot as it does here. But it did have a lot of the necessary code generation logic at this time.
August 31, 2023
Tadukoo Maven Alpha v.0.4.2 and Tadukoo Util Beta v.0.6 were released. Tadukoo Maven added the Plugin POM for use in projects with Maven plugins (this being Ultimate Power which isn’t displayed yet), along with updating some dependencies and moving some more settings into the base POM. Tadukoo Util had various changes, this was the first release with Tadukoo JUnit in it and it added parallel utilities.
August 30, 2024
Tadukoo Maven Beta v.0.5 and Tadukoo Util Beta v.0.6.1 were released. Tadukoo Maven renamed every base POM to no longer have “Maven” in the name and added an archetype for each base POM to be able to generate a basic project using each base POM. It also removed Plugin POM and Engine Base POM. Plugin POM is covered by the Base POM now and Engine Base is removed in favor of the Engine using Form POM and then just specifying the Look & Feel and GitHub dependencies itself. Library POM is now for projects to use Ultimate Power instead of projects using Util. Util POM and Java POM were created for projects that use Util and Java, respectively. So Util POM is used by Tadukoo Java and Java POM is used by Ultimate Power, which is still not displayed here yet.
Tadukoo Util was updated to use the Base POM for Maven Beta v.0.5 and have the Util module depend on Functions so that other modules can just depend on Util and get all 3 modules (Lang, Functions, and Util).
November 26, 2024
Tadukoo Java had its Beta v.0.5 release. This release introduced Java parsing to the project and it also included minor updates to the existing code pojos.
December 18, 2024
Tadukoo Maven had its Beta v.0.5.1 release. This release updated a bunch of dependencies in the base POMs, mostly on Maven plugins.
January 9, 2025
Tadukoo Maven had its Beta v.0.5.2 release. This release was an update to the Maven plugin settings used by Ultimate Power in the Base POM.
Comments
Post a Comment