Class ValidateMojo

  • All Implemented Interfaces:
    org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo

    @Mojo(name="validate",
          requiresDependencyResolution=TEST,
          defaultPhase=PRE_INTEGRATION_TEST,
          threadSafe=true)
    public class ValidateMojo
    extends org.apache.maven.plugin.AbstractMojo

    Validate applied migrations against resolved ones (on the filesystem or classpath) to detect accidental changes that may prevent the schema(s) from being recreated exactly.

    Validation fails if

    • differences in migration names, types or checksums are found
    • versions have been applied that aren't resolved locally anymore
    • versions have been resolved that haven't been applied yet
    validate
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected java.lang.String driver
      The fully qualified classname of the JDBC driver to use to connect to the database.
      java.lang.Boolean failOnMissingLocations
      Whether to fail if a location specified in the flyway.locations option doesn't exist
      protected org.apache.maven.project.MavenProject mavenProject
      Reference to the current project that includes the Flyway Maven plugin.
      protected org.apache.maven.settings.Settings settings
      The link to the settings.xml
      protected boolean skip
      Whether to skip the execution of the Maven Plugin for this module.
      protected java.lang.String url
      The JDBC url to use to connect to the database.
      protected java.lang.String user
      The user to use to connect to the database.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      ValidateMojo()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void doExecute​(org.flywaydb.core.Flyway flyway)
      Executes this mojo.
      void execute()  
      protected boolean getBooleanProperty​(java.lang.String systemPropertyName, boolean mavenPropertyValue)
      Retrieves the value of this boolean property, based on the matching System property on the Maven property.
      java.util.Map<java.lang.String,​java.lang.String> getPluginConfiguration​(java.util.Map<java.lang.String,​java.lang.String> pluginConfiguration)  
      protected java.lang.String getProperty​(java.lang.String name)
      Retrieves this property from either the system or the maven properties.
      • Methods inherited from class org.apache.maven.plugin.AbstractMojo

        getLog, getPluginContext, setLog, setPluginContext
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • skip

        @Parameter(property="flyway.skip")
        protected boolean skip
        Whether to skip the execution of the Maven Plugin for this module.

        Also configurable with Maven or System Property: ${flyway.skip}

      • driver

        @Parameter(property="flyway.driver")
        protected java.lang.String driver
        The fully qualified classname of the JDBC driver to use to connect to the database. By default, the driver is autodetected based on the url.

        Also configurable with Maven or System Property: ${flyway.driver}

      • url

        @Parameter(property="flyway.url")
        protected java.lang.String url
        The JDBC url to use to connect to the database.

        Also configurable with Maven or System Property: ${flyway.url}

      • user

        @Parameter(property="flyway.user")
        protected java.lang.String user
        The user to use to connect to the database. (default: blank) The credentials can be specified by user/password or serverId from settings.xml

        Also configurable with Maven or System Property: ${flyway.user}

      • failOnMissingLocations

        @Parameter(property="flyway.failOnMissingLocations")
        public java.lang.Boolean failOnMissingLocations
        Whether to fail if a location specified in the flyway.locations option doesn't exist
      • settings

        @Parameter(defaultValue="${settings}",
                   readonly=true)
        protected org.apache.maven.settings.Settings settings
        The link to the settings.xml
      • mavenProject

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        protected org.apache.maven.project.MavenProject mavenProject
        Reference to the current project that includes the Flyway Maven plugin.
    • Constructor Detail

      • ValidateMojo

        public ValidateMojo()
    • Method Detail

      • doExecute

        protected void doExecute​(org.flywaydb.core.Flyway flyway)
        Executes this mojo.
        Parameters:
        flyway - The flyway instance to operate on.
      • getBooleanProperty

        protected boolean getBooleanProperty​(java.lang.String systemPropertyName,
                                             boolean mavenPropertyValue)
        Retrieves the value of this boolean property, based on the matching System property on the Maven property.
        Parameters:
        systemPropertyName - The name of the System property.
        mavenPropertyValue - The value of the Maven property.
      • execute

        public final void execute()
                           throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getPluginConfiguration

        public java.util.Map<java.lang.String,​java.lang.String> getPluginConfiguration​(java.util.Map<java.lang.String,​java.lang.String> pluginConfiguration)
      • getProperty

        protected java.lang.String getProperty​(java.lang.String name)
        Retrieves this property from either the system or the maven properties.
        Parameters:
        name - The name of the property to retrieve.
        Returns:
        The property value. null if not found.