JModel Maven Plugin

A Maven plugin to autogenerate a bunch of boilerplate code starting from a data model described in an XML file.

License

License

Categories

Categories

Maven Build Tools Ant
GroupId

GroupId

com.github.carlopantaleo
ArtifactId

ArtifactId

jmodel-maven-plugin
Last Version

Last Version

0.1.5
Release Date

Release Date

Type

Type

maven-plugin
Description

Description

JModel Maven Plugin
A Maven plugin to autogenerate a bunch of boilerplate code starting from a data model described in an XML file.

Download jmodel-maven-plugin

How to add to project

<plugin>
    <groupId>com.github.carlopantaleo</groupId>
    <artifactId>jmodel-maven-plugin</artifactId>
    <version>0.1.5</version>
</plugin>

Dependencies

compile (3)

Group / Artifact Type Version
org.apache.maven : maven-plugin-api jar 3.6.0
com.google.googlejavaformat : google-java-format jar 1.6
org.jtwig : jtwig-core jar 5.87.0.RELEASE

provided (1)

Group / Artifact Type Version
org.apache.maven.plugin-tools : maven-plugin-tools-annotations jar 3.6.0

test (2)

Group / Artifact Type Version
org.apache.maven.plugin-testing : maven-plugin-testing-harness jar 3.3.0
junit : junit jar 4.12

Project Modules

There are no modules declared in this project.

JModel Maven Plugin

Build Status codecov

A Maven plugin to autogenerate a bunch of boilerplate code starting from a data model described in an XML file.

It generates:

  • Java entity classes
  • TypeScript entity classes
  • Hibernate mapping files

Please note: this plugin is in early development: it has not been extensively tested and most features are missing. DO NOT USE in production until version 1.0.0 will be released.

Please note (2): until version 1.0.0, we won't use semantic versioning (i.e. every new minor version could break backward compatibility).

Anyways, any contribution is well welcomed.

How to use

  1. Include the jmodel-maven-plugin in the plugins section of your POM. Configure the path of your jmodel.xml and jmodel-configuration.xml files and the project directory. Set the goals you need.

    <plugins>
        <plugin>
            <groupId>com.github.carlopantaleo</groupId>
            <artifactId>jmodel-maven-plugin</artifactId>
            <version>0.1.3</version>
            <configuration>
                <configurationFileName>${project.basedir}/src/main/resources/jmodel-configuration.xml</configurationFileName>
                <jmodelFileName>${project.basedir}/src/main/resources/jmodel.xml</jmodelFileName>
                <projectDir>${project.basedir}</projectDir>
            </configuration>
            <executions>
                <execution>
                    <phase>generate-sources</phase>
                    <goals>
                        <goal>generate-java-model</goal>
                        <goal>generate-hbm-files</goal>
                        <goal>generate-typescript-model</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
  2. Run mvn compile.

You can have a look at a working sample project at https://github.com/carlopantaleo/jmodel-maven-plugin/tree/master/jmodel-sample-project

XSDs

The latest XSDs for jmodel.xml and jmodel-configuration.xml can be found at the following links:

It's best to always use the XSDs related to the version of the jmodel-maven-plugin. In order to do so, just replace the desired version in the link:

TODOs

Internals

  • Replace the TemplateEngine with Jtwig.

Versions

Version
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1