Class ProbeMojo

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

    @Mojo(name="probe",
          defaultPhase=PROCESS_SOURCES,
          threadSafe=true)
    public final class ProbeMojo
    extends org.apache.maven.plugin.AbstractMojo
    Go through all `probe` metas in XMIR files, try to locate the objects pointed by `probe` in Objectionary, and if found, register them in the catalog. More about the purpose of this Mojo is in this issue.
    Since:
    0.28.11
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected File cache
      EO cache directory.
      protected File classesDir
      Directory where classes are stored in target.
      protected File foreign
      File with foreign "tojos".
      protected String foreignFormat
      Format of "foreign" file ("json" or "csv").
      protected Map<String,​? extends CommitHash> hashes
      Commit hashes.
      protected org.apache.maven.plugin.BuildPluginManager manager
      Maven plugin manager.
      protected boolean offline
      If we are offline and not able to download anything from the internet.
      protected File placed
      The path to a text file where paths of all added .class (and maybe others) files are placed.
      protected String placedFormat
      Format of "placed" file ("json" or "csv").
      protected PlacedTojos placedTojos
      Placed tojos.
      protected org.apache.maven.plugin.descriptor.PluginDescriptor plugin
      The current version of eo-maven-plugin.
      protected org.apache.maven.project.MavenProject project
      Maven project.
      protected boolean rewriteBinaries
      Rewrite binaries in output directory or not.
      protected String scope
      Current scope (either "compile" or "test").
      protected org.apache.maven.execution.MavenSession session
      Maven session.
      protected File targetDir
      Target directory.
      protected Integer timeout
      Mojo execution timeout in seconds.
      protected File transpiled
      The path to a text file where paths of generated java files per EO program.
      protected String transpiledFormat
      Format of "transpiled" file ("json" or "csv").
      protected TranspiledTojos transpiledTojos
      Cached transpiled tojos.
      protected boolean unrollExitError
      If set to TRUE, the exception on exit will be printed in details to the log.
      protected boolean withVersions
      Used for object versioning implementation.
      protected File xslMeasures
      The path of the file where XSL measurements (time of execution in milliseconds) will be stored.
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Constructor Summary

      Constructors 
      Constructor Description
      ProbeMojo()  
    • Field Detail

      • project

        @Parameter(defaultValue="${project}",
                   readonly=true)
        protected org.apache.maven.project.MavenProject project
        Maven project.
      • session

        @Parameter(defaultValue="${session}",
                   readonly=true)
        protected org.apache.maven.execution.MavenSession session
        Maven session.
      • manager

        @Component
        protected org.apache.maven.plugin.BuildPluginManager manager
        Maven plugin manager.
      • classesDir

        @Parameter(defaultValue="${project.build.directory}/classes",
                   readonly=true,
                   required=true)
        protected File classesDir
        Directory where classes are stored in target.
      • foreign

        @Parameter(property="eo.foreign",
                   required=true,
                   defaultValue="${project.build.directory}/eo-foreign.csv")
        protected File foreign
        File with foreign "tojos".
      • foreignFormat

        @Parameter(property="eo.foreignFormat",
                   required=true,
                   defaultValue="csv")
        protected String foreignFormat
        Format of "foreign" file ("json" or "csv").
      • targetDir

        @Parameter(property="eo.targetDir",
                   required=true,
                   defaultValue="${project.build.directory}/eo")
        protected File targetDir
        Target directory.
      • scope

        @Parameter(property="eo.scope")
        protected String scope
        Current scope (either "compile" or "test").
      • placed

        @Parameter(property="eo.placed",
                   required=true,
                   defaultValue="${project.build.directory}/eo-placed.csv")
        protected File placed
        The path to a text file where paths of all added .class (and maybe others) files are placed.
        Since:
        0.11.0
      • placedFormat

        @Parameter(property="eo.placedFormat",
                   required=true,
                   defaultValue="json")
        protected String placedFormat
        Format of "placed" file ("json" or "csv").
      • transpiled

        @Parameter(property="eo.transpiled",
                   required=true,
                   defaultValue="${project.build.directory}/eo-transpiled.csv")
        protected File transpiled
        The path to a text file where paths of generated java files per EO program.
        Since:
        0.11.0
      • xslMeasures

        @Parameter(property="eo.xslMeasuresFile",
                   required=true,
                   defaultValue="${project.build.directory}/eo/xsl-measures.csv")
        protected File xslMeasures
        The path of the file where XSL measurements (time of execution in milliseconds) will be stored.
        Since:
        0.41.0
      • timeout

        @Parameter(property="eo.timeout")
        protected Integer timeout
        Mojo execution timeout in seconds.
        Since:
        0.28.12
      • transpiledFormat

        @Parameter(property="eo.transpiledFormat",
                   required=true,
                   defaultValue="csv")
        protected String transpiledFormat
        Format of "transpiled" file ("json" or "csv").
      • unrollExitError

        @Parameter(property="eo.unrollExitError")
        protected boolean unrollExitError
        If set to TRUE, the exception on exit will be printed in details to the log.
        Since:
        0.29.0
      • cache

        @Parameter(property="eo.cache")
        protected File cache
        EO cache directory.
      • withVersions

        @Parameter(property="eo.withVersions",
                   defaultValue="false")
        protected boolean withVersions
        Used for object versioning implementation. If set to TRUE - objects are parsed, stored in tojos and processed as versioned.
      • rewriteBinaries

        @Parameter(property="eo.rewriteBinaries",
                   defaultValue="true")
        protected boolean rewriteBinaries
        Rewrite binaries in output directory or not.
        Since:
        0.32.0
      • offline

        @Parameter(property="eo.offline",
                   required=true,
                   defaultValue="false")
        protected boolean offline
        If we are offline and not able to download anything from the internet.
        Since:
        0.32.0
      • plugin

        @Parameter(defaultValue="${plugin}",
                   readonly=true)
        protected org.apache.maven.plugin.descriptor.PluginDescriptor plugin
        The current version of eo-maven-plugin. Maven 3 only. You can read more about that property here.
      • placedTojos

        protected final PlacedTojos placedTojos
        Placed tojos.
      • transpiledTojos

        protected final TranspiledTojos transpiledTojos
        Cached transpiled tojos.
    • Constructor Detail

      • ProbeMojo

        public ProbeMojo()
    • Method Detail

      • execute

        public final void execute()
                           throws org.apache.maven.plugin.MojoFailureException
        Execute it.
        Throws:
        org.apache.maven.plugin.MojoFailureException - If fails during build
      • scopedTojos

        protected final ForeignTojos scopedTojos()
        Tojos to use, in my scope only.
        Returns:
        Tojos to use
      • measured

        protected final com.yegor256.xsline.Train<com.yegor256.xsline.Shift> measured​(com.yegor256.xsline.Train<com.yegor256.xsline.Shift> train)
        Make a measured train from another train.
        Parameters:
        train - The train
        Returns:
        Measured train