Skip to main content

File Formats

This section explains the formats of the files needed to work with modules.

XML Files​

This section explains each file defined in XML.

About the Definition Format

The details of the tags defined in the XML files are shown according to the following format.

  • Overview: Shows an overview of the meaning the tag carries.
  • Constraints: The constraints that exist when defining the tag. The constraints are as follows.
    • Required: Indicates that the tag is always required when defining the target file or parent tag.
    • Multiple allowed: Indicates that the tag can be defined multiple times.
    • Internationalizable: Indicates that the tag can support internationalization by using placeholders.
  • Parent tag (tags only): Indicates the parent tag to which the tag belongs.
  • Owner tag (attributes only): Indicates the tag to which the attribute belongs.
  • Remarks: Shows other details of the tag as needed.

XML Files - Internationalization​

In XML files, those designated as internationalizable are realized within the module mechanism by using placeholders and the message property files that replace them.

When you use the placeholder ${placeholder.key} within an internationalizable XML tag, the internationalization message information associated with the placeholder.key defined inside the curly braces ({}) is retrieved from the message properties and substituted.

Note that even if you use this placeholder in a tag that is not internationalizable, the internationalization process (substitution process) is not performed.


Module Metadata (module.xml)​

This is a metadata file that defines a module's identification information, dependencies, and so on.

Constituent Elements​

This section explains the details of each element that makes up the module metadata.

<module>​

  • Overview: The root tag of the module metadata.
  • Constraints: Required
  • Parent tag: None

<id>​

  • Overview: A unique string for uniquely representing a module.
  • Constraints: Required
  • Parent tag: <module>
  • Remarks: Defined by a dot-separated string. Half-width alphanumeric characters, hyphens (-), underscores (_), and dots (.) can be used.

<version>​

  • Overview: A string for representing the versioning of the module.
  • Constraints: Required
  • Parent tag: <module>

<type>​

  • Overview: A string that indicates the type of the module to which this metadata is linked.
  • Constraints: Required
  • Parent tag: <module>
  • Remarks: Set module in this tag.

<name>​

  • Overview: A string for representing the name of the module.
  • Constraints: Internationalizable
  • Parent tag: <module>
  • Remarks: If this tag is omitted, the module name is set by default to a value in the format <id>@<version>.

<vendor>​

  • Overview: A string for representing the provider of the module.
  • Constraints: Internationalizable
  • Parent tag: <module>
  • Remarks: If this tag is omitted, the module provider is set by default to blank (empty).

<description>​

  • Overview: A string for representing the details of the module.
  • Constraints: Internationalizable
  • Parent tag: <module>
  • Remarks: If this tag is omitted, the module details are set by default to blank (empty).

<tags>​

  • Overview: The parent tag of <tag>. For details on this tag, see <tag>.
  • Constraints: None
  • Parent tag: <module>

<tags> - <tag>​

  • Overview: A string for representing a characteristic the module has.
  • Constraints: Required / Multiple allowed
  • Parent tag: <tags>
  • Remarks: intra-mart uses the following two values.
    • 3rd-party: A tag indicating that the module is primarily a third-party library.
    • immutable: A tag indicating that the module does not permit modification.

<dependencies>​

  • Overview: The parent tag of <dependency>. For details on this tag, see <dependency>.
  • Constraints: None
  • Parent tag: <module>

<dependencies> - <dependency>​

  • Overview: A tag that represents the dependency information this module has. Its child tags represent the details of the dependency information.
  • Constraints: Required / Multiple allowed
  • Parent tag: <dependencies>

<dependencies> - <dependency> - <module-id>​

  • Overview: A string that represents the ID of the module this module depends on.
  • Constraints: Required
  • Parent tag: <dependency>

<dependencies> - <dependency> - <verified-version>​

  • Overview: A string that represents the version of the module this module depends on. The version specified here is expected to be one whose behavior at that version has been verified.
  • Constraints: Required
  • Parent tag: <dependency>

<dependencies> - <dependency> - <verified-version> : max​

  • Overview: A string that represents the maximum allowed version for the module this module depends on.
  • Constraints: None
  • Owner tag: <verified-version>
  • Remarks: If this attribute is omitted, the value of verified-version is set as the default.

<dependencies> - <dependency> - <verified-version> : min​

  • Overview: A string that represents the minimum allowed version for the module this module depends on.
  • Constraints: None
  • Owner tag: <verified-version>
  • Remarks: If this attribute is omitted, the value of verified-version is set as the default.

Configuration Example (module.xml)​

<module xmlns="urn:intramart:jackling:module" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:conf="urn:intramart:jackling:toolkit:configurations"
xsi:schemaLocation="urn:intramart:jackling:module module.xsd"
conf:schemaLocation="urn:intramart:jackling:toolkit:configurations configurations.xsd">

<id>com.example.module.file</id>
<version>1.0.0</version>
<type>module</type>

<name>Module File</name>
<vendor>Example Inc.</vendor>
<description>This is Module File.</description>

<dependencies>
<dependency>
<module-id>jp.co.intra_mart.depend.on.module</module-id>
<verified-version min="1.0.0" max="3.0.0">2.0.0</verified-version>
</dependency>
</dependencies>
</module>

Repository Settings (settings.xml)​

The parent / BOM and each module are fetched from the Maven repository provided by intra-mart. Its reference configuration is defined in the settings.xml placed directly under the project. Because it is placed automatically when you create a project with the Accel CLI, you do not need to configure it manually under the user's home directory (such as ~/.m2/settings.xml).

<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<id>intra-mart</id>
<repositories>
<repository>
<id>intra-mart</id>
<url>https://maven.intra-mart.jp/</url>
</repository>
<repository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2/</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>intra-mart</id>
<url>https://maven.intra-mart.jp/</url>
</pluginRepository>
<pluginRepository>
<id>central</id>
<url>https://repo.maven.apache.org/maven2/</url>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<pluginGroups>
<pluginGroup>jp.co.intra_mart.harness</pluginGroup>
</pluginGroups>
<activeProfiles>
<activeProfile>intra-mart</activeProfile>
</activeProfiles>
</settings>
  • References the intra-mart Maven repository (https://maven.intra-mart.jp/) and Maven Central (https://repo.maven.apache.org/maven2/). The intra-mart repository can be used anonymously.
  • At build time, this settings.xml directly under the project is used.

Parent POM (parent)​

This is the common parent POM provided by intra-mart that the pom.xml of a module project generated with the Accel CLI inherits. It follows the Maven POM (pom.xml) format. It is composed of standard Maven elements.

The generated pom.xml specifies the parent POM as follows.

<parent>
<groupId>jp.co.intra_mart</groupId>
<artifactId>parent</artifactId>
<version>8.0.6-2026-spring</version>
</parent>
  • <groupId> / <artifactId> are fixed (jp.co.intra_mart:parent).
  • The suffix of <version> (for example, 2026-spring) represents the corresponding iAP update release.

Identification Information (GAV)​

ElementValue
groupIdjp.co.intra_mart (fixed)
artifactIdparent (fixed)
packagingpom
version8.0.x-{release-qualifier} (example: 8.0.6-2026-spring)

Constituent Elements​

  • <dependencyManagement>
    • Imports the module version management BOM (im_bom) with <scope>import</scope> and centrally manages the versions of the modules composing intra-mart Accel Platform.
    • Defines common build properties (such as source encoding).
  • <build><plugins>
    • Defines the common plugins required for module builds (such as lifecycle-plugin, build-helper-maven-plugin, maven-source-plugin, and maven-compiler-plugin).

Configuration Example (parent)​

<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
<modelVersion>4.0.0</modelVersion>

<groupId>jp.co.intra_mart</groupId>
<artifactId>parent</artifactId>
<packaging>pom</packaging>
<version>8.0.6-2026-spring</version>

<dependencyManagement>
<dependencies>
<!-- Module version management (import im_bom) -->
<dependency>
<groupId>jp.co.intra_mart</groupId>
<artifactId>im_bom</artifactId>
<version>8.0.0-2026-spring</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>

<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<build>
<plugins>
<!-- lifecycle-plugin / build-helper / source / compiler / jacoco, etc. -->
</plugins>
</build>
</project>

Version Scheme and Updates​

  • The qualifier of <version> (for example, 2026-spring) represents the corresponding iAP update release. By replacing the qualifier of <parent><version> in their own project's pom.xml, users update the versions of the dependent intra-mart modules all at once.
  • <groupId> / <artifactId> (jp.co.intra_mart:parent) are fixed.

Module Version Management BOM (im_bom)​

This is a BOM (Bill of Materials) that centrally defines the versions of the modules composing intra-mart Accel Platform. It follows the Maven POM format and, in principle, has only <dependencyManagement>. It is imported from the parent POM (parent) with the import scope.

Identification Information (GAV)​

ElementValue
groupIdjp.co.intra_mart (fixed)
artifactIdim_bom (fixed)
packagingpom
version8.0.0-{release-qualifier} (example: 8.0.0-2026-spring)

Constituent Elements​

  • <dependencyManagement><dependencies>
    • Enumerates the groupId / artifactId / version of each module composing iAP (jp.co.intra_mart:* and others).
    • Thanks to the versions managed here, users can reference intra-mart modules without writing <version> in the dependencies of pom.xml (the BOM resolves the version).

Configuration Example (im_bom)​

<project xmlns="http://maven.apache.org/POM/4.0.0" ...>
<modelVersion>4.0.0</modelVersion>
<groupId>jp.co.intra_mart</groupId>
<artifactId>im_bom</artifactId>
<packaging>pom</packaging>
<version>8.0.0-2026-spring</version>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>jp.co.intra_mart</groupId>
<artifactId>im_workflow</artifactId>
<version>8.0.39</version>
</dependency>
<dependency>
<groupId>jp.co.intra_mart</groupId>
<artifactId>im_jssp</artifactId>
<version>8.0.26</version>
</dependency>
<!-- ... enumerate the modules composing iAP ... -->
</dependencies>
</dependencyManagement>
</project>

Version Scheme and Updates​

  • The qualifier of <version> corresponds to an iAP update release. With each release, the included modules and their versions are updated.
  • Users do not reference im_bom directly; it is imported via the parent, so updating the parent's <version> also updates im_bom accordingly.