title: Tycho: Dependencies to other plugins of the project cannot be resolved when building plugins separately
body: <p>I have a Eclipse RCP application that builds with Maven using the Tycho plugin. There is a master POM that contains all the plugins and features as modules.</p>
  
  <p>If I <strong>install the master POM</strong> with Maven, the resulting reactor build works fine. All modules are build and the <strong>installation succeeds</strong>.</p>
  
  <p><strong>However</strong>, if I build one of the Eclipse <strong>plugins separately</strong>, its <strong>dependencies</strong> to the other plugins of the application <strong>cannot be resolved</strong>. </p>
  
  <p>Dependencies to <strong>third-party libraries</strong> (e.g. the Eclipse platform) seem to <strong>work fine</strong>. Eclipse plugins of our application with only that type of dependencies build successfully.</p>
  
  <p>The console output is the following:</p>
  
  <pre><code>[INFO] Resolving dependencies of MavenProject: com.mycompany.myproduct:com.mycompany.myproduct.gui.editors:1.8.15-SNAPSHOT @ /&lt;path&gt;/com.mycompany.myproduct.gui.editors/pom.xml
  [INFO] Cannot complete the request.  Generating details.
  [INFO] Cannot complete the request.  Generating details.
  [INFO] {osgi.ws=gtk, osgi.os=linux, osgi.arch=x86, org.eclipse.update.install.features=true}
  [ERROR] Cannot resolve project dependencies:
  [ERROR]   Software being installed: com.mycompany.myproduct.gui.editors 1.8.15.qualifier
  [ERROR]   Missing requirement: com.mycompany.myproduct.gui.editors 1.8.15.qualifier requires 'bundle com.mycompany.myproduct.preferences 1.8.15' but it could not be found
  [ERROR] 
  [ERROR] Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from com.mycompany.myproduct.gui.editors 1.8.15.qualifier to bundle com.mycompany.myproduct.preferences 1.8.15.", "Unable to satisfy dependency from com.mycompany.myproduct.gui.editors 1.8.15.qualifier to bundle com.mycompany.myproduct.gui.utils 1.8.15.", "No solution found because the problem is unsatisfiable."] -&gt; [Help 1]
  org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: "No solution found because the problem is unsatisfiable.": ["Unable to satisfy dependency from com.mycompany.myproduct.gui.editors 1.8.15.qualifier to bundle com.mycompany.myproduct.preferences 1.8.15.", "Unable to satisfy dependency from com.mycompany.myproduct.gui.editors 1.8.15.qualifier to bundle com.mycompany.myproduct.gui.utils 1.8.15.", "No solution found because the problem is unsatisfiable."]
          at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
          ...
  </code></pre>
  
  <p>Due to the successful reactor build, <strong>all plugin builds are in our company repository</strong> (we use Artifactory). In the Artifactory web app I clearly see a 1.8.15-SNAPSHOT build of the <code>preferences</code> plugin present. This repository does not seem to be accessed however.</p>
  
  <p>The repository information is specified in <code>settings.xml</code> file. Note the parent POM is successfully retrieved from that repository:</p>
  
  <pre><code>[INFO] Scanning for projects...
  Downloading: http://artifactory.buildnet.mycompany.com/artifactory/libs-snapshot-local/com/mycompany/myproduct/gui.parent/1.0-SNAPSHOT/maven-metadata.xml
  Downloaded: http://artifactory.buildnet.mycompany.com/artifactory/libs-snapshot-local/com/mycompany/myproduct/gui.parent/1.0-SNAPSHOT/maven-metadata.xml (594 B at 3.3 KB/sec)
  </code></pre>
  
  <p>The content of the settings file is:</p>
  
  <pre><code>&lt;settings&gt;
    &lt;servers&gt;
      ... (only relevant for deploy)
    &lt;/servers&gt;
    &lt;mirrors&gt;
      &lt;mirror&gt;
        &lt;id&gt;mycompany-remote-mirror&lt;/id&gt;
        &lt;name&gt;mycompany remote repositories mirror&lt;/name&gt;
        &lt;url&gt;http://artifactory.buildnet.mycompany.com/artifactory/remote-repos&lt;/url&gt;
        &lt;mirrorOf&gt;*,!eclipse*,!mycompany-snapshots,!mycompany-releases&lt;/mirrorOf&gt;
      &lt;/mirror&gt;
    &lt;/mirrors&gt;
    &lt;profiles&gt;
      &lt;profile&gt;
        &lt;id&gt;mycompany-default&lt;/id&gt;
        &lt;repositories&gt;
          &lt;repository&gt;
            &lt;id&gt;mycompany-snapshots&lt;/id&gt;
            &lt;name&gt;MyCompany snapshots repository&lt;/name&gt;
            &lt;releases&gt;
              &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
              &lt;checksumPolicy&gt;warn&lt;/checksumPolicy&gt;
            &lt;/releases&gt;
            &lt;snapshots&gt;
              &lt;enabled&gt;true&lt;/enabled&gt;
              &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
              &lt;checksumPolicy&gt;fail&lt;/checksumPolicy&gt;
            &lt;/snapshots&gt;
            &lt;url&gt;http://artifactory.buildnet.mycompany.com/artifactory/libs-snapshot-local&lt;/url&gt;
            &lt;layout&gt;default&lt;/layout&gt;
          &lt;/repository&gt;
          &lt;repository&gt;
            &lt;id&gt;mycompany-releases&lt;/id&gt;
            &lt;name&gt;MyCompany releases repository&lt;/name&gt;
            &lt;releases&gt;
              &lt;enabled&gt;true&lt;/enabled&gt;
              &lt;updatePolicy&gt;always&lt;/updatePolicy&gt;
              &lt;checksumPolicy&gt;warn&lt;/checksumPolicy&gt;
            &lt;/releases&gt;
            &lt;snapshots&gt;
              &lt;enabled&gt;false&lt;/enabled&gt;
              &lt;updatePolicy&gt;never&lt;/updatePolicy&gt;
              &lt;checksumPolicy&gt;fail&lt;/checksumPolicy&gt;
            &lt;/snapshots&gt;
            &lt;url&gt;http://artifactory.buildnet.mycompany.com/artifactory/libs-release-local&lt;/url&gt;
            &lt;layout&gt;default&lt;/layout&gt;
          &lt;/repository&gt;
        &lt;/repositories&gt;
      &lt;/profile&gt;
    &lt;/profiles&gt;
    &lt;activeProfiles&gt;
      &lt;activeProfile&gt;mycompany-default&lt;/activeProfile&gt;
    &lt;/activeProfiles&gt;
  &lt;/settings&gt;
  </code></pre>
  
  <p>This is the parent POM (note that in our project it is separated from the master POM that contains the modules):</p>
  
  <pre><code>&lt;project ...&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;com.mycompany.myproduct&lt;/groupId&gt;
    &lt;artifactId&gt;gui.parent&lt;/artifactId&gt;
    &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
    &lt;packaging&gt;pom&lt;/packaging&gt;
  
    &lt;properties&gt;
      &lt;product-id&gt;MyProduct&lt;/product-id&gt;
      &lt;tycho.version&gt;0.17.0&lt;/tycho.version&gt;
      &lt;tycho-extras.version&gt;0.17.0&lt;/tycho-extras.version&gt;
      &lt;eclipse.version&gt;juno&lt;/eclipse.version&gt;
      &lt;eclipse.repo&gt;http://download.eclipse.org/releases/${eclipse-version}&lt;/eclipse.repo&gt;
    &lt;/properties&gt;
  
    &lt;distributionManagement&gt;
      ...
    &lt;/distributionManagement&gt;
  
    &lt;repositories&gt;
      &lt;repository&gt;
        &lt;id&gt;eclipse&lt;/id&gt;
        &lt;url&gt;${eclipse.repo}&lt;/url&gt;
        &lt;layout&gt;p2&lt;/layout&gt;
      &lt;/repository&gt;
    &lt;/repositories&gt;
  
    &lt;build&gt;
      &lt;plugins&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
          &lt;artifactId&gt;tycho-maven-plugin&lt;/artifactId&gt;
        &lt;/plugin&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
          &lt;artifactId&gt;target-platform-configuration&lt;/artifactId&gt;
        &lt;/plugin&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
          &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
        &lt;/plugin&gt;
        &lt;plugin&gt;  
          &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;  
          &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;  
        &lt;/plugin&gt;
        &lt;plugin&gt;
          &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
          &lt;artifactId&gt;maven-release-plugin&lt;/artifactId&gt;
        &lt;/plugin&gt;
      &lt;/plugins&gt;
  
      &lt;pluginManagement&gt;
        &lt;plugins&gt;
          &lt;!-- PARENT PLUGINS --&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
            &lt;artifactId&gt;tycho-maven-plugin&lt;/artifactId&gt;
            &lt;version&gt;${tycho.version}&lt;/version&gt;
            &lt;extensions&gt;true&lt;/extensions&gt;
          &lt;/plugin&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
            &lt;artifactId&gt;target-platform-configuration&lt;/artifactId&gt;
            &lt;version&gt;${tycho.version}&lt;/version&gt;
            &lt;configuration&gt;
              ...
            &lt;/configuration&gt;
          &lt;/plugin&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
            &lt;artifactId&gt;tycho-source-plugin&lt;/artifactId&gt;
            &lt;version&gt;${tycho.version}&lt;/version&gt;
            ...
          &lt;plugin&gt;  
            &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;  
            &lt;artifactId&gt;tycho-versions-plugin&lt;/artifactId&gt;  
            &lt;version&gt;${tycho.version}&lt;/version&gt;
          &lt;/plugin&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
            &lt;artifactId&gt;maven-release-plugin&lt;/artifactId&gt;
            &lt;version&gt;2.4.1&lt;/version&gt;
          &lt;/plugin&gt;
          &lt;!-- END OF PARENT PLUGINS --&gt;
  
          &lt;!-- DEFAULT PLUGINS --&gt;
          &lt;plugin&gt;
            &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
            &lt;artifactId&gt;tycho-compiler-plugin&lt;/artifactId&gt;
            &lt;version&gt;${tycho.version}&lt;/version&gt;
            &lt;configuration&gt;
              &lt;compilerArguments&gt;
                &lt;inlineJSR/&gt;
                &lt;enableJavadoc/&gt;
                &lt;encoding&gt;ISO-8859-1&lt;/encoding&gt;
              &lt;/compilerArguments&gt;
            &lt;/configuration&gt;
          &lt;/plugin&gt;
          &lt;!-- END OF DEFAULT PLUGINS --&gt;
  
          &lt;!-- OTHER PLUGINS --&gt;
          ... (maven-resources, tycho-surefire, tycho-p2, tycho-p2-director,
               tycho-p2-repository, ...)
          &lt;!-- END OF OTHER PLUGINS --&gt;
        &lt;/plugins&gt;
      &lt;/pluginManagement&gt;
    &lt;/build&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>The POM.xml of a plugin with dependencies on others is as follows:</p>
  
  <pre><code>&lt;project ...&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;parent&gt;
      &lt;groupId&gt;com.mycompany.myproduct&lt;/groupId&gt;
      &lt;artifactId&gt;gui.parent&lt;/artifactId&gt;
      &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
    &lt;/parent&gt;
    &lt;artifactId&gt;com.mycompany.myproduct.gui.editors&lt;/artifactId&gt;
    &lt;version&gt;1.8.15-SNAPSHOT&lt;/version&gt;
    &lt;packaging&gt;eclipse-plugin&lt;/packaging&gt;
  &lt;/project&gt;
  </code></pre>
  
  <p>And the MANIFEST.MF file of that same plugin is as follows:</p>
  
  <pre><code>Manifest-Version: 1.0
  Bundle-ManifestVersion: 2
  Bundle-Name: MyProduct Editors Plug-in
  Bundle-SymbolicName: com.mycompany.myproduct.gui.editors;singleton:=true
  Bundle-Version: 1.8.15.qualifier
  Bundle-Activator: com.mycompany.myproduct.gui.editors.Activator
  Bundle-ActivationPolicy: lazy
  Export-Package: com.mycompany.myproduct.gui.editors,
   com.mycompany.myproduct.gui.editors.logger,
   com.mycompany.myproduct.gui.editors.report
  Bundle-Vendor: MyCompany
  Bundle-RequiredExecutionEnvironment: JavaSE-1.6
  Require-Bundle: org.eclipse.ui.workbench;bundle-version="3.104.0",
   org.eclipse.core.runtime;bundle-version="3.8.0",
   org.eclipse.jface;bundle-version="3.8.0",
   com.mycompany.myproduct.preferences;bundle-version="1.8.15",
   com.mycompany.myproduct.gui.utils;bundle-version="1.8.15",
   org.eclipse.ui.workbench;bundle-version="3.104.0"
  </code></pre>