JModel

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

License

License

Categories

Categories

Ant Build Tools
GroupId

GroupId

com.github.carlopantaleo
ArtifactId

ArtifactId

jmodel
Last Version

Last Version

0.1.5
Release Date

Release Date

Type

Type

pom
Description

Description

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

Project URL

https://github.com/carlopantaleo/jmodel-maven-plugin
Source Code Management

Source Code Management

https://github.com/carlopantaleo/jmodel-maven-plugin

Download jmodel

Filename Size
jmodel-0.1.5.pom 8 KB
Browse

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.carlopantaleo/jmodel/ -->
<dependency>
    <groupId>com.github.carlopantaleo</groupId>
    <artifactId>jmodel</artifactId>
    <version>0.1.5</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/com.github.carlopantaleo/jmodel/
implementation 'com.github.carlopantaleo:jmodel:0.1.5'
// https://jarcasting.com/artifacts/com.github.carlopantaleo/jmodel/
implementation ("com.github.carlopantaleo:jmodel:0.1.5")
'com.github.carlopantaleo:jmodel:pom:0.1.5'
<dependency org="com.github.carlopantaleo" name="jmodel" rev="0.1.5">
  <artifact name="jmodel" type="pom" />
</dependency>
@Grapes(
@Grab(group='com.github.carlopantaleo', module='jmodel', version='0.1.5')
)
libraryDependencies += "com.github.carlopantaleo" % "jmodel" % "0.1.5"
[com.github.carlopantaleo/jmodel "0.1.5"]

Dependencies

test (1)

Group / Artifact Type Version
junit : junit jar 4.12

Project Modules

  • jmodel-maven-plugin
  • jmodel-sample-project
  • jmodel-base-dao

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