jsxm:compile-repast
Full name:
org.jsxm.maven.plugin:jsxm-maven-plugin:1.4.11-RC5:compile-repast
Description:
Goal that compiles the JSXM specifications and transforms them to Repast agents. The created java classes can be moved directly to the Repast project by providing the repastCopyDirectory property.
Attributes:
- Requires a Maven project to be executed.
- Since version: Version 1.0.
- Binds by default to the lifecycle phase: compile.
- Invokes the execution of this plugin's goal validate prior to executing itself.
Required Parameters
Name | Type | Since | Description |
---|---|---|---|
javaDirectoryRepast | File | Version 1.0 | Sets the implementation directory of the maven project. The default value is the src/main/java of the maven project Default value is: ${basedir}/src/main/java/. |
jsxmSpecRootDirRepast | String | Version 1.0 | Sets the directory for all the repast specifications. The default value is the spec directory under src-->src/spec. Default value is: ${basedir}/src/spec/. |
kInputRepast | String | Version 1.0 | Sets the k value that is going to be used in the generation of tests. The default value is 2. Default value is: 2. |
m2HomeRepast | String | Version 1.0 | Sets the maven local repository. By default the value is the default value set by maven. Default value is: ${settings.localRepository}. |
modeRepast | String | Version 1.0 | Sets the mode of the maven project. Verbose and overwrite are the available options. By default the mode is set to overwrite Default value is: overwrite. |
pdfReportFlag | boolean | Version 1.0 | Boolean for creating a pdf report of the log, system configuration and user settings. Default value is: true. |
projectName | String | Version 1.0 | The name of the project. Default value is: ${project.name}. |
repastCopyDirectory | String | Version 1.0 | Sets the directory which the [specName]SXM.java and [specName]SXM_base.java are going to be copied. There is no default value for this property. Omitting this property will cause build failure in the compile-repast goal. |
repastSxmBaseImports | String | Version 1.0 | JSXM imports for the SXM_base.java. The default imports are import org.jsxm.jsxmcore.core.*;\n import org.jsxm.spatial.SXMSpatial;\n Default value is: import org.jsxm.jsxmcore.core.*; import org.jsxm.jsxmcore.exceptions.*; import org.jsxm.spatial.SXMSpatial; . |
repastSxmBaseInheritance | String | Version 1.0 | The type that the SXM_base.java is inheriting. The default value is SXMSpatial Default value is: SXMSpatial. |
repastSxmImports | String | Version 1.0 | Repast imports for the SXM.java. The default imports are import org.jsxm.jsxmcore.core.*;\n import org.jsxm.jsxmcore.types.*;\n import java.util.*;\n import repast.simphony.engine.schedule.ScheduledMethod;\n import repast.simphony.random.*;\n import repast.simphony.query.space.grid.*;\n import repast.simphony.space.grid.*;\n import repast.simphony.space.*;\n import repast.simphony.context.*;\n import repast.simphony.util.*;\n" Default value is: import org.jsxm.jsxmcore.core.*; import org.jsxm.jsxmcore.types.*; import org.jsxm.jsxmcore.exceptions.*; import java.util.*; import repast.simphony.engine.schedule.ScheduledMethod; import repast.simphony.random.*; import repast.simphony.query.space.grid.*; import repast.simphony.space.grid.*; import repast.simphony.space.*; import repast.simphony.context.*; import repast.simphony.util.*; . |
tempTargetRepast | String | Version 1.0 | Sets the temp directory that temporary files from jsxm are going to be saved. The default value is inside the target directory of a maven project. Default value is: ${project.build.directory}. |
testDirectoryRepast | String | Version 1.0 | Sets the test directory of the maven project. The default value is the src/test/java of the maven project. Default value is: ${basedir}/src/test/java/. |
Optional Parameters
Name | Type | Since | Description |
---|---|---|---|
kList | Properties | Version 1.0 | List in order to provide different k for each specification. For example if a specification A needs k=2 and specification B k=4 kList must contain, <param></param> The kList is a list of properties that allows the execution of examples with a different k than the default. In case an example contains more than one specification, then there is the possibility to need a different k value for some of the specifications but at the same time not changing the general k value. In order to use this tag the following configuration must be followed. <kList> <property> <name></name> <value></value> </property> </kList> Consider the example Book_Borrower which contains 3 specifications. \The specifications Book, Borrower and Library will use the k value 2 in case none configuration is specified. On the other hand, if you would like to execute the Library specification with a k=4, and Book with k=5 then you should consider the following. <kList> <property> <name>Library</name> <value>4</value>> </property> <property> <name>Book</name> <value>5</value> </property> </kList> The above setting will override the default k and will use the specified instead. The Borrower specification will use k=2. The name tag must be identical with the specification name. |
Parameter Details
Sets the implementation directory of the maven project. The default value is the src/main/java of the maven project
- Type: java.io.File
- Since: Version 1.0
- Required: Yes
- Default: ${basedir}/src/main/java/
Sets the directory for all the repast specifications. The default value is the spec directory under src-->src/spec.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: ${basedir}/src/spec/
Sets the k value that is going to be used in the generation of tests. The default value is 2.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: 2
List in order to provide different k for each specification. For example if a specification A needs k=2 and specification B k=4 kList must contain, <param></param> The kList is a list of properties that allows the execution of examples with a different k than the default. In case an example contains more than one specification, then there is the possibility to need a different k value for some of the specifications but at the same time not changing the general k value. In order to use this tag the following configuration must be followed. <kList> <property> <name></name> <value></value> </property> </kList> Consider the example Book_Borrower which contains 3 specifications. \The specifications Book, Borrower and Library will use the k value 2 in case none configuration is specified. On the other hand, if you would like to execute the Library specification with a k=4, and Book with k=5 then you should consider the following. <kList> <property> <name>Library</name> <value>4</value>> </property> <property> <name>Book</name> <value>5</value> </property> </kList> The above setting will override the default k and will use the specified instead. The Borrower specification will use k=2. The name tag must be identical with the specification name.
- Type: java.util.Properties
- Since: Version 1.0
- Required: No
Sets the maven local repository. By default the value is the default value set by maven.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: ${settings.localRepository}
Sets the mode of the maven project. Verbose and overwrite are the available options. By default the mode is set to overwrite
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: overwrite
Boolean for creating a pdf report of the log, system configuration and user settings.
- Type: boolean
- Since: Version 1.0
- Required: Yes
- Default: true
The name of the project.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: ${project.name}
Sets the directory which the [specName]SXM.java and [specName]SXM_base.java are going to be copied. There is no default value for this property. Omitting this property will cause build failure in the compile-repast goal.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
JSXM imports for the SXM_base.java. The default imports are import org.jsxm.jsxmcore.core.*;\n import org.jsxm.spatial.SXMSpatial;\n
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: import org.jsxm.jsxmcore.core.*; import org.jsxm.jsxmcore.exceptions.*; import org.jsxm.spatial.SXMSpatial;
The type that the SXM_base.java is inheriting. The default value is SXMSpatial
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: SXMSpatial
Repast imports for the SXM.java. The default imports are import org.jsxm.jsxmcore.core.*;\n import org.jsxm.jsxmcore.types.*;\n import java.util.*;\n import repast.simphony.engine.schedule.ScheduledMethod;\n import repast.simphony.random.*;\n import repast.simphony.query.space.grid.*;\n import repast.simphony.space.grid.*;\n import repast.simphony.space.*;\n import repast.simphony.context.*;\n import repast.simphony.util.*;\n"
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: import org.jsxm.jsxmcore.core.*; import org.jsxm.jsxmcore.types.*; import org.jsxm.jsxmcore.exceptions.*; import java.util.*; import repast.simphony.engine.schedule.ScheduledMethod; import repast.simphony.random.*; import repast.simphony.query.space.grid.*; import repast.simphony.space.grid.*; import repast.simphony.space.*; import repast.simphony.context.*; import repast.simphony.util.*;
Sets the temp directory that temporary files from jsxm are going to be saved. The default value is inside the target directory of a maven project.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: ${project.build.directory}
Sets the test directory of the maven project. The default value is the src/test/java of the maven project.
- Type: java.lang.String
- Since: Version 1.0
- Required: Yes
- Default: ${basedir}/src/test/java/