* Restructuring to a Maven multi-module project.
- Renamed directories to match artifact ids.
- Added parent POM.
- Added developers to parent POM.
- Added dependency management and plugin management. No expectation that the build or release process is fully functional.
- Extracted versions into properties like other projects.
* Fixed file paths for workflow and documentation.
- Added junit to j2html-codegen module.
* Temporarily setting packaging for j2html-codegen to pom, to allow workflow to complete.
* Removed copied configuration of maven-jar-plugin from parent POM.
* Integrating code generation into the main build process.
- j2html-codegen is now supplying a Maven plugin that can read a model file and generate corresponding attribute and tag classes as part of the project build.
- j2html classes that would conflict with the generated classes have been removed.
* Targeting LTS versions only.
- JDK 9 & 10 support ended in 2018
- The maven-enforcer-plugin had an API incompatibility that might be fixed with a version upgrade.
- Several other plugins were out-of-date, and worth upgrading.
- Some plugins were not upgraded out of concern that they might break the build.
* Foundational components for reading/processing Wattsi files into classes.
* Introducing tests for compliance with wattsi definitions.
- Several elements have been found to be missing from the code generator.
- A long-term strategy for dealing with obsolete elements will be needed. Should we remove and change the API? Or should we deprecate and leave in-place?
- Found one element that was accidentally added to the code generator but never used. Hopefully.
- Fixes will be applied in following commits.
* Added newer elements/tags and cleaned up invalid Tag class.
- Added DataTag.
- Added SlotTag and TemplateTag to support web components.
- Added global attributes to support web components.
- Removed GenerateTag. Accidentally introduced by string replacement in code generator.
* Upgrading revapi and maven plugin. Configured revapi to ignore removal of GenerateTag.
- The GenerateTag class was created accidentally. It does not have any representation in the HTML standard is should not be provided in this library.
- move all generated tag classes from j2html.tags.specialized.generated to j2html.tags.specialized
since they are now only generated tags and in the long run there should be no difference for a user of j2html whether the classes have been generated or not
* Enables the new render capabilities also for content that was constructed with
- TagCreator.each(Map, Function) and
- TagCreator.each(Map, BiFunction)
* Adds convenience method TagCreator.each(DomContent...)
* add compiler flag -Xlint:all, resolve all warnings about unchecked or raw generics
* rename IInstance.get() to IInstance.self() because it better reflects its intention
* move MainTag from manual to generated tags
* remove unnecessary type casts in TagCreator
* Extracted rendering functionality into implementations of HtmlBuilder.
- Two HtmlBuilders are implemented, FlatHtml and IndentedHtml. Each offers the equivalent output as ContainerTag.render() and ContainerTag.renderFormatted.
- Existing implementations of DomContent/Renderable were updated to support HtmlBuilder where possible.
- Attribute was altered to support the use of TagBuilder.
- Config was altered to allow instances to be created, which can be passed into factory methods for the HtmlBuilders. Config.defaults() can be used for library defaults, while Config.global() can be used for current static configuration.
- Retained compatibility with previous library version as much as possible. See RenderingCompatabilityTest.
* Fixing unchecked or unsafe operations
* Removing unnecessary @param from javadoc.
* Improving casting of HtmlBuilders in implementations of DomContent (tags, text, etc.).
* Preventing NPEs when text is null.
Co-authored-by: Oliver Becker <ob@obqo.de>
* split the project in 2, to make it easier to iterate on the code generation without breaking the build. This could also help reduce the compiled size of the library.
* update CONTRIBUTING.md
* try to fix github workflow
* create HtmlTag, BodyTag, HeadTag. hopefully without too large diffs this time.
* add some forgotten variants
* remove 'final' on some methods changed during the last 2 commits, to make it more consistent with the rest of the code
* remove <head>,<body>,<html> from TagCreatorCodeGenerator