Class ReadPropertiesMojo

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

    @Mojo(name="read-project-properties",
          defaultPhase=NONE,
          requiresProject=true,
          threadSafe=true)
    public class ReadPropertiesMojo
    extends org.apache.maven.plugin.AbstractMojo
    The read-project-properties goal reads property files and URLs and stores the properties as project properties. It serves as an alternate to specifying properties in pom.xml. It is especially useful when making properties defined in a runtime resource available at build time.
    Version:
    $Id$
    • Field Detail

      • project

        @Parameter(defaultValue="${project}",
                   readonly=true,
                   required=true)
        private org.apache.maven.project.MavenProject project
      • files

        @Parameter
        private java.io.File[] files
        The properties files that will be used when reading properties.
      • urls

        @Parameter
        private java.lang.String[] urls
        The URLs that will be used when reading properties. These may be non-standard URLs of the form classpath:com/company/resource.properties. Note that the type is not URL for this reason and therefore will be explicitly checked by this Mojo.
      • quiet

        @Parameter(defaultValue="false")
        private boolean quiet
        If the plugin should be quiet if any of the files was not found
      • resolver

        private final PropertyResolver resolver
        Used for resolving property placeholders.
    • Constructor Detail

      • ReadPropertiesMojo

        public ReadPropertiesMojo()
    • Method Detail

      • setFiles

        public void setFiles​(java.io.File[] files)
        Parameters:
        files - The files to set for tests.
      • setUrls

        public void setUrls​(java.lang.String[] urls)
        Default scope for test access.
        Parameters:
        urls - The URLs to set for tests.
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • checkParameters

        private void checkParameters()
                              throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • loadFiles

        private void loadFiles()
                        throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • loadUrls

        private void loadUrls()
                       throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • load

        private void load​(ReadPropertiesMojo.Resource resource)
                   throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • loadProperties

        private void loadProperties​(ReadPropertiesMojo.Resource resource)
                             throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • missing

        private void missing​(ReadPropertiesMojo.Resource resource)
                      throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • resolveProperties

        private void resolveProperties()
                                throws org.apache.maven.plugin.MojoExecutionException,
                                       org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • loadSystemEnvironmentPropertiesWhenDefined

        private java.util.Properties loadSystemEnvironmentPropertiesWhenDefined()
                                                                         throws org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
      • getPropertyValue

        private java.lang.String getPropertyValue​(java.lang.String k,
                                                  java.util.Properties p,
                                                  java.util.Properties environment)
                                           throws org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoFailureException
      • getSystemEnvVars

        java.util.Properties getSystemEnvVars()
                                       throws java.io.IOException
        Override-able for test purposes.
        Returns:
        The shell environment variables, can be empty but never null.
        Throws:
        java.io.IOException - If the environment variables could not be queried from the shell.
      • setQuiet

        void setQuiet​(boolean quiet)
        Default scope for test access.
        Parameters:
        quiet - Set to true if missing files can be skipped.
      • setProject

        void setProject​(org.apache.maven.project.MavenProject project)
        Default scope for test access.
        Parameters:
        project - The test project.