<!DOCTYPE html>
<!--
 | Generated by Apache Maven Doxia Site Renderer 1.9.2 from target/generated-site/xdoc/eclipse-run-mojo.xml at 2020-08-03
 | Rendered using Apache Maven Fluido Skin 1.9
-->
<html xmlns="http://www.w3.org/1999/xhtml" lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="generator" content="Apache Maven Doxia Site Renderer 1.9.2" />
    <title>Tycho Eclipserun Plugin &#x2013; tycho-eclipserun:eclipse-run</title>
    <link rel="stylesheet" href="./css/apache-maven-fluido-1.9.min.css" />
    <link rel="stylesheet" href="./css/site.css" />
    <link rel="stylesheet" href="./css/print.css" media="print" />
    <script src="./js/apache-maven-fluido-1.9.min.js"></script>
  </head>
  <body class="topBarDisabled">
    <div class="container-fluid">
      <header>
        <div id="banner">
          <div class="pull-left"><div id="bannerLeft"><h2>Tycho Eclipserun Plugin</h2>
</div>
</div>
          <div class="pull-right"></div>
          <div class="clear"><hr/></div>
        </div>

        <div id="breadcrumbs">
          <ul class="breadcrumb">
        <li id="publishDate">Last Published: 2020-08-03<span class="divider">|</span>
</li>
          <li id="projectVersion">Version: 2.0.0</li>
          </ul>
        </div>
      </header>
      <div class="row-fluid">
        <header id="leftColumn" class="span2">
          <nav class="well sidebar-nav">
  <ul class="nav nav-list">
   <li class="nav-header">Tycho</li>
    <li><a href="../../index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../../tycho-compiler-plugin/plugin-info.html" title="Compiler Plugin"><span class="none"></span>Compiler Plugin</a></li>
    <li><a href="../../tycho-packaging-plugin/plugin-info.html" title="Packaging Plugin"><span class="none"></span>Packaging Plugin</a></li>
    <li><a href="../../tycho-surefire-plugin/plugin-info.html" title="Surefire Plugin"><span class="none"></span>Surefire Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-publisher-plugin/plugin-info.html" title="p2 Publisher Plugin"><span class="none"></span>p2 Publisher Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-repository-plugin/plugin-info.html" title="p2 Repository Plugin"><span class="none"></span>p2 Repository Plugin</a></li>
    <li><a href="../../tycho-p2/tycho-p2-director-plugin/plugin-info.html" title="p2 Director Plugin"><span class="none"></span>p2 Director Plugin</a></li>
    <li><a href="../../tycho-source-plugin/plugin-info.html" title="Source Plugin"><span class="none"></span>Source Plugin</a></li>
    <li><a href="../../tycho-release/tycho-versions-plugin/plugin-info.html" title="Versions Plugin"><span class="none"></span>Versions Plugin</a></li>
    <li><a href="../../tycho-pomgenerator-plugin/plugin-info.html" title="POM Generator Plugin"><span class="none"></span>POM Generator Plugin</a></li>
    <li><a href="" title="Properties"><span class="icon-chevron-down"></span>Properties</a>
     <ul class="nav nav-list">
      <li><a href="../../BuildProperties.html" title="Build Properties"><span class="none"></span>Build Properties</a></li>
      <li><a href="../../TychoProperties.html" title="Tycho Properties"><span class="none"></span>Tycho Properties</a></li>
     </ul></li>
   <li class="nav-header">Tycho Extras</li>
    <li><a href="../../tycho-extras/index.html" title="Introduction"><span class="none"></span>Introduction</a></li>
    <li><a href="../../tycho-extras/tycho-p2-extras-plugin/plugin-info.html" title="P2 Extras Plugin"><span class="none"></span>P2 Extras Plugin</a></li>
    <li><a href="../../tycho-extras/target-platform-validation-plugin/plugin-info.html" title="Target Platform Validation Plugin"><span class="none"></span>Target Platform Validation Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-eclipserun-plugin/plugin-info.html" title="Eclipserun Plugin"><span class="none"></span>Eclipserun Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-document-bundle-plugin/plugin-info.html" title="Document Bundle Plugin"><span class="none"></span>Document Bundle Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-source-feature-plugin/plugin-info.html" title="Source Feature Generation Plugin"><span class="none"></span>Source Feature Generation Plugin</a></li>
    <li><a href="../../tycho-extras/tycho-pack200/index.html" title="Pack200 Plugins"><span class="icon-chevron-down"></span>Pack200 Plugins</a>
     <ul class="nav nav-list">
      <li><a href="../../tycho-extras/tycho-pack200/tycho-pack200a-plugin/plugin-info.html" title="Normalization Plugin"><span class="none"></span>Normalization Plugin</a></li>
      <li><a href="../../tycho-extras/tycho-pack200/tycho-pack200b-plugin/plugin-info.html" title="Pack Plugin"><span class="none"></span>Pack Plugin</a></li>
     </ul></li>
  </ul>
          </nav>
          <div class="well sidebar-nav">
            <hr />
            <div id="poweredBy">
              <div class="clear"></div>
              <div class="clear"></div>
              <div class="clear"></div>
<a href="http://maven.apache.org/" title="Built by Maven" class="poweredBy"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
            </div>
          </div>
        </header>
        <main id="bodyColumn"  class="span10" >

  
    <section>
<h2><a name="tycho-eclipserun:eclipse-run"></a>tycho-eclipserun:eclipse-run</h2>
      
<p><b>Full name</b>:</p>
      
<p>org.eclipse.tycho.extras:tycho-eclipserun-plugin:2.0.0:eclipse-run</p>
      
<p><b>Description</b>:</p>
      
<div>Launch an eclipse process with arbitrary commandline arguments. The
eclipse installation is defined by the dependencies to bundles
specified.</div>
      
<p><b>Attributes</b>:</p>
      
<ul>
        
<li>Requires a Maven project to be executed.</li>
      </ul>
      <section>
<h3><a name="Required_Parameters"></a>Required Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td><code><a href="#repositories">&lt;repositories&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>-</code></td>
            
<td>p2 repositories which will be used to resolve dependencies.
Example: 

<div>
<pre>
&lt;repositories&gt;
 &lt;repository&gt;
  &lt;id&gt;juno&lt;/id&gt;
  &lt;layout&gt;p2&lt;/layout&gt;
  &lt;url&gt;https://download.eclipse.org/releases/juno&lt;/url&gt;
 &lt;/repository&gt;
&lt;/repositories&gt;
</pre></div><br /></td>
          </tr>
        </table>
      </section>
      <section>
<h3><a name="Optional_Parameters"></a>Optional Parameters</h3>
        
<table class="table table-striped" border="0">
          
<tr class="a">
            
<th>Name</th>
            
<th>Type</th>
            
<th>Since</th>
            
<th>Description</th>
          </tr>
          
<tr class="b">
            
<td><code><a href="#addDefaultDependencies">&lt;addDefaultDependencies&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to add default dependencies to bundles
org.eclipse.equinox.launcher, org.eclipse.osgi and
org.eclipse.core.runtime.<br /><b>Default value is</b>: <code>true</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#appArgLine">&lt;appArgLine&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td><b>Deprecated.</b> use <code>applicationsArgs</code> instead.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#applicationsArgs">&lt;applicationsArgs&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>0.24.0</code></td>
            
<td>List of applications arguments set on the command line. Example: 

<div>
<pre>
&lt;applicationsArgs&gt;
  &lt;args&gt;-buildfile&lt;/args&gt;
  &lt;args&gt;build-test.xml&lt;/args&gt;
&lt;/applicationsArgs&gt;
</pre></div><br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#argLine">&lt;argLine&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td><b>Deprecated.</b> use <code>jvmArgs</code> instead.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#dependencies">&lt;dependencies&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>-</code></td>
            
<td>Dependencies which will be resolved transitively to make up the
eclipse runtime. Example: 

<div>
<pre>
&lt;dependencies&gt;
 &lt;dependency&gt;
  &lt;artifactId&gt;org.eclipse.ant.core&lt;/artifactId&gt;
  &lt;type&gt;eclipse-plugin&lt;/type&gt;
 &lt;/dependency&gt;
&lt;/dependencies&gt;
</pre></div><br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#environmentVariables">&lt;environmentVariables&gt;</a></code></td>
            
<td><code>Map</code></td>
            
<td><code>-</code></td>
            
<td>Additional environments to set for the forked JVM.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#executionEnvironment">&lt;executionEnvironment&gt;</a></code></td>
            
<td><code>String</code></td>
            
<td><code>-</code></td>
            
<td>Execution environment profile name used to resolve dependencies.<br /><b>Default value is</b>: <code>JavaSE-11</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#forkedProcessTimeoutInSeconds">&lt;forkedProcessTimeoutInSeconds&gt;</a></code></td>
            
<td><code>int</code></td>
            
<td><code>-</code></td>
            
<td>Kill the forked process after a certain number of seconds. If set
to 0, wait forever for the process, never timing out.<br /><b>User property is</b>: <code>eclipserun.timeout</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#jvmArgs">&lt;jvmArgs&gt;</a></code></td>
            
<td><code>List</code></td>
            
<td><code>0.25.0</code></td>
            
<td>List of JVM arguments set on the command line. Example: 

<div>
<pre>
&lt;jvmArgs&gt;
  &lt;args&gt;-Xdebug&lt;/args&gt;
  &lt;args&gt;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044&lt;/args&gt;
&lt;/jvmArgs&gt;
</pre></div><br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#project">&lt;project&gt;</a></code></td>
            
<td><code>MavenProject</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>User property is</b>: <code>project</code>.<br /></td>
          </tr>
          
<tr class="b">
            
<td><code><a href="#skip">&lt;skip&gt;</a></code></td>
            
<td><code>boolean</code></td>
            
<td><code>-</code></td>
            
<td>Whether to skip mojo execution.<br /><b>Default value is</b>: <code>false</code>.<br /><b>User property is</b>: <code>eclipserun.skip</code>.<br /></td>
          </tr>
          
<tr class="a">
            
<td><code><a href="#work">&lt;work&gt;</a></code></td>
            
<td><code>File</code></td>
            
<td><code>-</code></td>
            
<td>(no description)<br /><b>Default value is</b>: <code>${project.build.directory}/eclipserun-work</code>.<br /></td>
          </tr>
        </table>
      </section>
      <section>
<h3><a name="Parameter_Details"></a>Parameter Details</h3>
        <section>
<h4><a name="a.3CaddDefaultDependencies.3E"></a><b><a name="addDefaultDependencies">&lt;addDefaultDependencies&gt;</a></b></h4>
        
<div>Whether to add default dependencies to bundles
org.eclipse.equinox.launcher, org.eclipse.osgi and
org.eclipse.core.runtime.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>true</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CappArgLine.3E"></a><b><a name="appArgLine">&lt;appArgLine&gt;</a></b></h4>
        
<div><b>Deprecated.</b> use <code>applicationsArgs</code> instead.</div>
        
<div>Arbitrary applications arguments to set on the command line.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CapplicationsArgs.3E"></a><b><a name="applicationsArgs">&lt;applicationsArgs&gt;</a></b></h4>
        
<div>List of applications arguments set on the command line. Example: 

<div>
<pre>
&lt;applicationsArgs&gt;
  &lt;args&gt;-buildfile&lt;/args&gt;
  &lt;args&gt;build-test.xml&lt;/args&gt;
&lt;/applicationsArgs&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Since</b>: <code>0.24.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CargLine.3E"></a><b><a name="argLine">&lt;argLine&gt;</a></b></h4>
        
<div><b>Deprecated.</b> use <code>jvmArgs</code> instead.</div>
        
<div>Arbitrary JVM options to set on the command line.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cdependencies.3E"></a><b><a name="dependencies">&lt;dependencies&gt;</a></b></h4>
        
<div>Dependencies which will be resolved transitively to make up the
eclipse runtime. Example: 

<div>
<pre>
&lt;dependencies&gt;
 &lt;dependency&gt;
  &lt;artifactId&gt;org.eclipse.ant.core&lt;/artifactId&gt;
  &lt;type&gt;eclipse-plugin&lt;/type&gt;
 &lt;/dependency&gt;
&lt;/dependencies&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CenvironmentVariables.3E"></a><b><a name="environmentVariables">&lt;environmentVariables&gt;</a></b></h4>
        
<div>Additional environments to set for the forked JVM.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.Map</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CexecutionEnvironment.3E"></a><b><a name="executionEnvironment">&lt;executionEnvironment&gt;</a></b></h4>
        
<div>Execution environment profile name used to resolve dependencies.</div>
        
<ul>
          
<li><b>Type</b>: <code>java.lang.String</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>JavaSE-11</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CforkedProcessTimeoutInSeconds.3E"></a><b><a name="forkedProcessTimeoutInSeconds">&lt;forkedProcessTimeoutInSeconds&gt;</a></b></h4>
        
<div>Kill the forked process after a certain number of seconds. If set
to 0, wait forever for the process, never timing out.</div>
        
<ul>
          
<li><b>Type</b>: <code>int</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>eclipserun.timeout</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3CjvmArgs.3E"></a><b><a name="jvmArgs">&lt;jvmArgs&gt;</a></b></h4>
        
<div>List of JVM arguments set on the command line. Example: 

<div>
<pre>
&lt;jvmArgs&gt;
  &lt;args&gt;-Xdebug&lt;/args&gt;
  &lt;args&gt;-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=1044&lt;/args&gt;
&lt;/jvmArgs&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Since</b>: <code>0.25.0</code></li>
          
<li><b>Required</b>: <code>No</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cproject.3E"></a><b><a name="project">&lt;project&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>org.apache.maven.project.MavenProject</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>project</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Crepositories.3E"></a><b><a name="repositories">&lt;repositories&gt;</a></b></h4>
        
<div>p2 repositories which will be used to resolve dependencies.
Example: 

<div>
<pre>
&lt;repositories&gt;
 &lt;repository&gt;
  &lt;id&gt;juno&lt;/id&gt;
  &lt;layout&gt;p2&lt;/layout&gt;
  &lt;url&gt;https://download.eclipse.org/releases/juno&lt;/url&gt;
 &lt;/repository&gt;
&lt;/repositories&gt;
</pre></div></div>
        
<ul>
          
<li><b>Type</b>: <code>java.util.List</code></li>
          
<li><b>Required</b>: <code>Yes</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cskip.3E"></a><b><a name="skip">&lt;skip&gt;</a></b></h4>
        
<div>Whether to skip mojo execution.</div>
        
<ul>
          
<li><b>Type</b>: <code>boolean</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>User Property</b>: <code>eclipserun.skip</code></li>
          
<li><b>Default</b>: <code>false</code></li>
        </ul><hr /></section><section>
<h4><a name="a.3Cwork.3E"></a><b><a name="work">&lt;work&gt;</a></b></h4>
        
<div>(no description)</div>
        
<ul>
          
<li><b>Type</b>: <code>java.io.File</code></li>
          
<li><b>Required</b>: <code>No</code></li>
          
<li><b>Default</b>: <code>${project.build.directory}/eclipserun-work</code></li>
        </ul>
      </section></section>
    </section>
  

        </main>
      </div>
    </div>
    <hr/>
    <footer>
      <div class="container-fluid">
        <div class="row-fluid">
            <p>&#169;      2008&#x2013;2020
<a href="http://www.eclipse.org/">Eclipse Foundation</a>
</p>
        </div>
      </div>
    </footer>
  </body>
</html>
