Class DirectorMojo

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

    @Mojo(name="materialize-products",
          defaultPhase=PACKAGE,
          threadSafe=true)
    public final class DirectorMojo
    extends AbstractProductMojo

    Creates product installations for the products defined in the project.

    • Field Detail

      • LOCK

        private static final java.lang.Object LOCK
      • profile

        @Parameter(defaultValue="DefaultProfile")
        private java.lang.String profile

        The name of the p2 profile to be created.

      • profileNames

        @Parameter
        private java.util.List<ProfileName> profileNames
      • installFeatures

        @Parameter(defaultValue="true")
        private boolean installFeatures

        Include the feature JARs in installation. (Technically, this sets the property org.eclipse.update.install.features to true in the p2 profile.)

      • source

        @Parameter(defaultValue="targetPlatform")
        private DirectorMojo.InstallationSource source

        Source repositories to be used in the director calls. Can be

        • targetPlatform - to use the target platform as source (default)
        • repository - to use the p2 repository in target/repository/ as source. With this option, the build implicitly verifies that it would also be possible to install the product from that repository with an external director application.
      • directorRuntime

        @Parameter(defaultValue="internal")
        private DirectorMojo.DirectorRuntimeType directorRuntime

        Runtime in which the director application is executed. Can be

        • internal - to use the director application from Tycho's embedded OSGi runtime (default)
        • standalone - to create and use a stand-alone installation of the director application. This option is needed if the product to be installed includes artifacts with meta-requirements (e.g. to a non-standard touchpoint action). Requires that the source parameter is set to repository.
    • Constructor Detail

      • DirectorMojo

        public DirectorMojo()
    • Method Detail

      • 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
      • getDirectorRuntime

        private DirectorRuntime getDirectorRuntime()
                                            throws org.apache.maven.plugin.MojoFailureException,
                                                   org.apache.maven.plugin.MojoExecutionException
        Throws:
        org.apache.maven.plugin.MojoFailureException
        org.apache.maven.plugin.MojoExecutionException
      • getSourceRepositories

        private RepositoryReferences getSourceRepositories()
                                                    throws org.apache.maven.plugin.MojoExecutionException,
                                                           org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • getTargetPlatformRepositories

        private RepositoryReferences getTargetPlatformRepositories()
                                                            throws org.apache.maven.plugin.MojoExecutionException,
                                                                   org.apache.maven.plugin.MojoFailureException
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException