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/
 
 Maven Plugin