impex:datasql

Full name:

org.kuali.maven.plugins:maven-impex-plugin:1.1.0-SNAPSHOT:datasql

Description:

Generates platform specific SQL from database agnostic XML files. Each SQL file created by this goal contains data for a single table. The database platform to generate SQL for is determined by ${targetDatabase}. See also impex:schemasql

Attributes:

  • Requires a Maven project to be executed.
  • Binds by default to the lifecycle phase: generate-sources.

Required Parameters

Name Type Since Description
dataDTD File - The DTD for the data XML files
Default value is: ${project.build.directory}/generated-impex/${project.artifactId}.dtd.
dataXMLDir File - The directory containing data XML files
Default value is: ${basedir}/src/main/impex.
dataXMLIncludes String - The default set of files in that directory to include (ant style notation)
Default value is: *.xml.
outputDir String - The directory in which the SQL will be generated.
Default value is: ${project.build.directory}/classes/sql.
forceMojoExecution boolean - Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
Default value is: false.
runOnlyOnChange boolean - Only run this mojo if the data or schema has changed since the last run
Default value is: true.
schemaDir String - The path to the directory where the schema XML files are located
Default value is: ${basedir}/src/main/impex.
schemaIncludes String - The schema files from that directory which should be included (ant-style notation).
Default value is: ${project.artifactId}.xml.
schemaXMLFile File - The XML file describing the database schema
Default value is: ${basedir}/src/main/impex/${project.artifactId}.xml.

Optional Parameters

Name Type Since Description
dataXMLExcludes String - The default set of files in that directory to exclude (ant style notation)
Default value is: ${project.artifactId}.xml.
reportFile String - The location where the SQL file will be generated.
Default value is: ../../../reports/report.${project.artifactId}-data.sql.
contextPropertiesPath String - The location where the context property file for velocity will be generated.
Default value is: ${project.build.directory}/reports/context.datasql.properties.
encoding String - The encoding to use when reading/writing files. If not specified this defaults to the platform specific encoding of whatever machine the build is running on.
Default value is: ${project.build.sourceEncoding}.
runOnlyOnSchemaChange boolean - Determines if this task should run only if the schema has changed
Default value is: true.
skip boolean - When true, skip the execution of this mojo
Default value is: false.
sqlDbMap String - The path to the properties file containing the mapping sql file -> target database.
Default value is: ${project.build.directory}/reports/sqldbmap.properties.
startMavenLogger boolean - When true, redirect logging from Log4j and Jakarta Commons Logging to the Maven logging system
Default value is: true.
targetDatabase String - The type of database we are targeting (eg oracle, mysql). This is optional if url is supplied as the database type will be automatically detected based on the url. If targetDatabase is explicitly supplied it will override the type selected by the automatic detection logic.
targetPackage String - The target package for the generated classes.
Default value is: impex.generated.
templatePath String - The base path where the templates are read from, if they are not read from the classpath.
Default value is: ${basedir}/src/main/impex/templates.
url String - Database URL.
useClasspath boolean - Whether the templates should be loaded from the classpath.
Default value is: true.
userContextProperties Map - A map where all user-defined context properties can be set. Overrides all other mojo configuration settings which are mapped to context properties.

Parameter Details

dataDTD:

The DTD for the data XML files
  • Type: java.io.File
  • Required: Yes
  • Expression: ${dataDTD}
  • Default: ${project.build.directory}/generated-impex/${project.artifactId}.dtd

dataXMLDir:

The directory containing data XML files
  • Type: java.io.File
  • Required: Yes
  • Expression: ${dataXMLDir}
  • Default: ${basedir}/src/main/impex

dataXMLExcludes:

The default set of files in that directory to exclude (ant style notation)
  • Type: java.lang.String
  • Required: No
  • Expression: ${dataXMLExcludes}
  • Default: ${project.artifactId}.xml

dataXMLIncludes:

The default set of files in that directory to include (ant style notation)
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${dataXMLIncludes}
  • Default: *.xml

outputDir:

The directory in which the SQL will be generated.
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${outputDir}
  • Default: ${project.build.directory}/classes/sql

reportFile:

The location where the SQL file will be generated.
  • Type: java.lang.String
  • Required: No
  • Expression: ${reportFile}
  • Default: ../../../reports/report.${project.artifactId}-data.sql

contextPropertiesPath:

The location where the context property file for velocity will be generated.
  • Type: java.lang.String
  • Required: No
  • Expression: ${contextPropertiesPath}
  • Default: ${project.build.directory}/reports/context.datasql.properties

encoding:

The encoding to use when reading/writing files. If not specified this defaults to the platform specific encoding of whatever machine the build is running on.
  • Type: java.lang.String
  • Required: No
  • Expression: ${encoding}
  • Default: ${project.build.sourceEncoding}

forceMojoExecution:

Setting this parameter to true will force the execution of this mojo, even if it would get skipped usually.
  • Type: boolean
  • Required: Yes
  • Expression: ${forceMojoExecution}
  • Default: false

runOnlyOnChange:

Only run this mojo if the data or schema has changed since the last run
  • Type: boolean
  • Required: Yes
  • Expression: ${runOnlyOnChange}
  • Default: true

runOnlyOnSchemaChange:

Determines if this task should run only if the schema has changed
  • Type: boolean
  • Required: No
  • Expression: ${runOnlyOnSchemaChange}
  • Default: true

schemaDir:

The path to the directory where the schema XML files are located
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${schemaDir}
  • Default: ${basedir}/src/main/impex

schemaIncludes:

The schema files from that directory which should be included (ant-style notation).
  • Type: java.lang.String
  • Required: Yes
  • Expression: ${schemaIncludes}
  • Default: ${project.artifactId}.xml

schemaXMLFile:

The XML file describing the database schema
  • Type: java.io.File
  • Required: Yes
  • Expression: ${schemaXMLFile}
  • Default: ${basedir}/src/main/impex/${project.artifactId}.xml

skip:

When true, skip the execution of this mojo
  • Type: boolean
  • Required: No
  • Default: false

sqlDbMap:

The path to the properties file containing the mapping sql file -> target database.
  • Type: java.lang.String
  • Required: No
  • Expression: ${sqlDbMap}
  • Default: ${project.build.directory}/reports/sqldbmap.properties

startMavenLogger:

When true, redirect logging from Log4j and Jakarta Commons Logging to the Maven logging system
  • Type: boolean
  • Required: No
  • Expression: ${startMavenLogger}
  • Default: true

targetDatabase:

The type of database we are targeting (eg oracle, mysql). This is optional if url is supplied as the database type will be automatically detected based on the url. If targetDatabase is explicitly supplied it will override the type selected by the automatic detection logic.
  • Type: java.lang.String
  • Required: No
  • Expression: ${targetDatabase}

targetPackage:

The target package for the generated classes.
  • Type: java.lang.String
  • Required: No
  • Expression: ${targetPackage}
  • Default: impex.generated

templatePath:

The base path where the templates are read from, if they are not read from the classpath.
  • Type: java.lang.String
  • Required: No
  • Expression: ${templatePath}
  • Default: ${basedir}/src/main/impex/templates

url:

Database URL.
  • Type: java.lang.String
  • Required: No
  • Expression: ${url}

useClasspath:

Whether the templates should be loaded from the classpath.
  • Type: boolean
  • Required: No
  • Expression: ${useClasspath}
  • Default: true

userContextProperties:

A map where all user-defined context properties can be set. Overrides all other mojo configuration settings which are mapped to context properties.
  • Type: java.util.Map
  • Required: No