X-Git-Url: http://juplo.de/gitweb/?p=hibernate4-maven-plugin;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate4%2FHbm2DdlMojo.java;h=36a5aca4b4d57058e500f3ff062556a60678bfe9;hp=7cae92f88b1455b8653d003a4c3b5f9928dd6a33;hb=b6ac188a40136102edc51b6824875dfb07c89955;hpb=bcf07578452d7c31dc97410bc495c73bd0f87748 diff --git a/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java b/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java index 7cae92f8..36a5aca4 100644 --- a/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java +++ b/src/main/java/de/juplo/plugins/hibernate4/Hbm2DdlMojo.java @@ -53,6 +53,7 @@ import org.apache.maven.plugin.MojoExecutionException; import org.apache.maven.plugin.MojoFailureException; import org.apache.maven.project.MavenProject; import org.hibernate.cfg.Configuration; +import org.hibernate.cfg.NamingStrategy; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.tool.hbm2ddl.SchemaExport.Type; import org.hibernate.tool.hbm2ddl.Target; @@ -77,13 +78,16 @@ public class Hbm2DdlMojo extends AbstractMojo public final static String USERNAME = "hibernate.connection.username"; public final static String PASSWORD = "hibernate.connection.password"; public final static String DIALECT = "hibernate.dialect"; + public final static String NAMING_STRATEGY="hibernate.ejb.naming_strategy"; private final static String MD5S = "schema.md5s"; /** * The maven project. + *
+ * Only needed internally. * - * @parameter expression="${project}" + * @parameter property="project" * @required * @readonly */ @@ -91,22 +95,60 @@ public class Hbm2DdlMojo extends AbstractMojo /** * Build-directory. + *
+ * Only needed internally. * - * @parameter expression="${project.build.directory}" + * @parameter property="project.build.directory" + * @required + * @readonly */ private String buildDirectory; /** - * Class-directory to scan. + * Classes-Directory to scan. + *
+ * This parameter defaults to the maven build-output-directory for classes. + * Additonally, all dependencies are scanned for annotated classes. * - * @parameter expression="${project.build.outputDirectory}" + * @parameter property="project.build.outputDirectory" */ private String outputDirectory; + /** + * Wether to scan test-classes too, or not. + *
+ * If this parameter is set to true
the test-classes of the
+ * artifact will be scanned for hibernate-annotated classes additionally.
+ *
+ * @parameter property="hibernate.export.scan_testclasses" default-value="false"
+ */
+ private boolean scanTestClasses;
+
+ /**
+ * Test-Classes-Directory to scan.
+ *
+ * This parameter defaults to the maven build-output-directory for + * test-classes. + *
+ * This parameter is only used, when scanTestClasses
is set
+ * to true
!
+ *
+ * @parameter property="project.build.testOutputDirectory"
+ */
+ private String testOutputDirectory;
+
/**
* Skip execution
+ *
+ * If set to true
, the execution is skipped.
+ *
+ * A skipped excecution is signaled via the maven-property
+ * ${hibernate.export.skipped}
.
+ *
+ * The excecution is skipped automatically, if no modified or newly added + * annotated classes are found and the dialect was not changed. * - * @parameter expression="${maven.test.skip}" default-value="false" + * @parameter property="maven.test.skip" default-value="false" */ private boolean skip; @@ -114,47 +156,56 @@ public class Hbm2DdlMojo extends AbstractMojo * Force execution *
* Force execution, even if no modified or newly added annotated classes
- * where found. skip
takes precedence over force
.
+ * where found and the dialect was not changed.
+ *
+ * skip
takes precedence over force
.
*
- * @parameter expression="${hibernate.export.force}" default-value="false"
+ * @parameter property="hibernate.export.force" default-value="false"
*/
private boolean force;
/**
* SQL-Driver name.
*
- * @parameter expression="${hibernate.connection.driver_class}
+ * @parameter property="hibernate.connection.driver_class"
*/
private String driverClassName;
/**
* Database URL.
*
- * @parameter expression="${hibernate.connection.url}"
+ * @parameter property="hibernate.connection.url"
*/
private String url;
/**
* Database username
*
- * @parameter expression="${hibernate.connection.username}"
+ * @parameter property="hibernate.connection.username"
*/
private String username;
/**
* Database password
*
- * @parameter expression="${hibernate.connection.password}"
+ * @parameter property="hibernate.connection.password"
*/
private String password;
/**
* Hibernate dialect.
*
- * @parameter expression="${hibernate.dialect}"
+ * @parameter property="hibernate.dialect"
*/
private String hibernateDialect;
+ /**
+ * Hibernate Naming Strategy
+ * @parameter property="hibernate.ejb.naming_strategy"
+ * @author nicus
+ */
+ private String hibernateNamingStrategy;
+
/**
* Path to Hibernate configuration file.
*
@@ -165,45 +216,47 @@ public class Hbm2DdlMojo extends AbstractMojo
/**
* Target of execution:
*