Currently MagicDraw UML is the recommend tool that works best with JEAF Generator for various reason. We assume that your MagicDraw UML project is ready to be used in combination with JEAF Generator as described in How to setup MagicDraw UML Projects.
As JEAF Generator requires an XMI Export of your UML model as input we now shortly want to describe how to do that.
Eclipse UML2 (v2.x) XMI File
to a directoryMagicDraw UML will write several files for your model to the directory that you have chosen.
The exported XMI files act as input for JEAF Generator. To make use of them you have the options:
First option is to package your model using Maven. In this case you define a dependency to the artifact with the XMI files using Maven
<dependencies> <!-- Dependency to packaged model artifact are required for code generation. It will not have any impact on runtime behavior as the package just contains XMI files but no code or resource files. --> <dependency> <groupId>com.anaptecs.jeaf.generator.sample</groupId> <artifactId>accounting-model</artifactId> <version>${project.version}</version> <type>zip</type> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>com.anaptecs.jeaf.generator</groupId> <artifactId>jeaf-generator-maven-plugin</artifactId> <version>${maven.jeaf-generator-plugin.version}</version> <executions> <execution> <goals> <goal>Generator</goal> </goals> <phase>generate-sources</phase> </execution> </executions> <configuration> <!-- Define where JEAF Generator will find XMI files as input. In this case here we take them from a Maven artifact. However it is also possible to directly read the files from some location on your disk. For further information please refer to: https://anaptecs.atlassian.net/l/c/Wwoxa8kg --> <modelArtifactGroupID>com.anaptecs.jeaf.generator.sample</modelArtifactGroupID> <modelArtifactArtifactID>accounting-model</modelArtifactArtifactID> <modelArtifactXMIPath>xmi</modelArtifactXMIPath> <umlModelFile>JEAF_Accounting_Sample.uml</umlModelFile> ... </configuration> </plugin> ... </plugins> <build> |
Another option is to store the XMI files in a resource directory of your project. JEAF Generator configuration will then point to that directory and use the files as input.
<configuration> <!-- Define input directory where XMI files are stored. --> <xmiDirectory>${project.basedir}/../jeaf-generator-test-model/xmi</xmiDirectory> <umlModelFile>JEAF_Test.uml</umlModelFile> ... </configuration> |
Recommendation In any case we recommend that the XMI files are under version control, so that JEAF Generator is not only executed in local development environment but also as part of the standard build process of your CI/CD. |