X-Git-Url: https://juplo.de/gitweb/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fde%2Fjuplo%2Fplugins%2Fhibernate%2FAbstractSchemaMojo.java;h=c9ef2c590c5bf35c3673e8d922cb7d43b7032e92;hb=9c3a3b7ece6dfdbe79dad9aa10ce09c2fd34ed42;hp=922b77db69fdab1bf77ad09f732f7cfebe88c1f7;hpb=c81cd2f66c77e823cf03591db42d50811706c0de;p=hibernate4-maven-plugin
diff --git a/src/main/java/de/juplo/plugins/hibernate/AbstractSchemaMojo.java b/src/main/java/de/juplo/plugins/hibernate/AbstractSchemaMojo.java
index 922b77db..c9ef2c59 100644
--- a/src/main/java/de/juplo/plugins/hibernate/AbstractSchemaMojo.java
+++ b/src/main/java/de/juplo/plugins/hibernate/AbstractSchemaMojo.java
@@ -10,6 +10,7 @@ import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.NoSuchAlgorithmException;
+import java.time.ZonedDateTime;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
@@ -88,13 +89,14 @@ import org.scannotation.AnnotationDB;
*/
public abstract class AbstractSchemaMojo extends AbstractMojo
{
- public final static String EXPORT = "hibernate.schema.export";
+ public final static String EXECUTE = "hibernate.schema.execute";
public final static String OUTPUTDIRECTORY = "project.build.outputDirectory";
public final static String SCAN_CLASSES = "hibernate.schema.scan.classes";
public final static String SCAN_DEPENDENCIES = "hibernate.schema.scan.dependencies";
public final static String SCAN_TESTCLASSES = "hibernate.schema.scan.test_classes";
public final static String TEST_OUTPUTDIRECTORY = "project.build.testOutputDirectory";
public final static String SKIPPED = "hibernate.schema.skipped";
+ public final static String SCRIPT = "hibernate.schema.script";
private final static Pattern SPLIT = Pattern.compile("[^,\\s]+");
@@ -127,7 +129,7 @@ public abstract class AbstractSchemaMojo extends AbstractMojo
/** Parameters to configure the genaration of the SQL *********************/
/**
- * Export the database-schma to the database.
+ * Excecute the generated SQL.
* If set to false
, only the SQL-script is created and the
* database is not touched.
*
@@ -137,10 +139,10 @@ public abstract class AbstractSchemaMojo extends AbstractMojo * it is not known by Hibernate nor JPA and, hence, not picked up from * their configuration! * - * @parameter property="hibernate.schema.export" default-value="true" + * @parameter property="hibernate.schema.execute" default-value="true" * @since 2.0 */ - private Boolean export; + private Boolean execute; /** * Skip execution @@ -165,10 +167,11 @@ public abstract class AbstractSchemaMojo extends AbstractMojo private boolean skip; /** - * Force execution + * Force generation/execution *
- * Force execution, even if no modified or newly added annotated classes - * where found and the dialect was not changed. + * Force the generation and (if configured) the execution of the SQL, even if + * no modified or newly added annotated classes where found and the + * configuration was not changed. *
* skip
takes precedence over force
.
*
@@ -503,6 +506,8 @@ public abstract class AbstractSchemaMojo extends AbstractMojo
/** Check, that the outputfile is writable */
final File output = getOutputFile(filename);
+ /** Check, if the outputfile is missing or was changed */
+ checkOutputFile(output, tracker);
/** Configure Hibernate */
final StandardServiceRegistry serviceRegistry =
@@ -627,11 +632,9 @@ public abstract class AbstractSchemaMojo extends AbstractMojo
/** Skip execution, if mapping and configuration is unchanged */
if (!tracker.modified())
{
- getLog().info(
- "Mapping and configuration unchanged."
- );
+ getLog().info("Mapping and configuration unchanged.");
if (force)
- getLog().info("Schema generation is forced!");
+ getLog().info("Generation/execution is forced!");
else
{
getLog().info("Skipping schema generation!");
@@ -696,7 +699,7 @@ public abstract class AbstractSchemaMojo extends AbstractMojo
SchemaManagementToolCoordinator
.buildExecutionOptions(settings, handler);
final EnumSet