title: Different io packaging operation by os using tycho create-distributions?
body: <p>My eclipse product need to be packaged (zip,tar.gz,app) for three os (win, linux, mac) using tycho maven plugin. </p>
  
  <p>My parent pom which contain the env filtering used by tycho to produce the different version of product during package phase : </p>
  
  <pre><code>    &lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;groupId&gt;msi.gama&lt;/groupId&gt;
    &lt;artifactId&gt;msi.gama.parent&lt;/artifactId&gt;
    &lt;version&gt;1.7.0-SNAPSHOT&lt;/version&gt;
    &lt;packaging&gt;pom&lt;/packaging&gt;
  &lt;build&gt;
  &lt;plugins&gt;
     &lt;plugin&gt;
           &lt;!-- You can see the effect of Execution Environnement here : https://wiki.eclipse.org/Tycho/Execution_Environments : 
           Tycho ensures that package imports may only be matched against the selected execution environment , 
           b) Tycho hides packages which are not provided by the configured execution environment. --&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;filters&gt;
              &lt;!-- FIX the JDT core due to bug in tycho https://www.eclipse.org/forums/index.php/t/1068443/ --&gt;
                       &lt;filter&gt;
                          &lt;type&gt;eclipse-plugin&lt;/type&gt;
                              &lt;id&gt;org.eclipse.jdt.core&lt;/id&gt;
                              &lt;restrictTo&gt;
                                  &lt;version&gt;3.11.2.v20160128-0629&lt;/version&gt;
                                  &lt;!--&lt;version&gt;3.4.0.v20150518-1201&lt;/version&gt;--&gt;
                              &lt;/restrictTo&gt;
                      &lt;/filter&gt;
                      &lt;!-- work around Equinox bug 348045 --&gt;
                      &lt;filter&gt;
                          &lt;type&gt;p2-installable-unit&lt;/type&gt;
                              &lt;id&gt;org.eclipse.equinox.servletbridge.extensionbundle&lt;/id&gt;
                              &lt;removeAll /&gt;
                      &lt;/filter&gt;
                      &lt;/filters&gt;
              &lt;resolver&gt;p2&lt;/resolver&gt;
              &lt;pomDependencies&gt;consider&lt;/pomDependencies&gt;
                      &lt;environments&gt;
                          &lt;environment&gt;
                              &lt;os&gt;linux&lt;/os&gt;
                              &lt;ws&gt;gtk&lt;/ws&gt;
                              &lt;arch&gt;x86&lt;/arch&gt;
                          &lt;/environment&gt;
                          &lt;environment&gt;
                              &lt;os&gt;linux&lt;/os&gt;
                              &lt;ws&gt;gtk&lt;/ws&gt;
                              &lt;arch&gt;x86_64&lt;/arch&gt;
                          &lt;/environment&gt;
                          &lt;environment&gt;
                              &lt;os&gt;win32&lt;/os&gt;
                              &lt;ws&gt;win32&lt;/ws&gt;
                              &lt;arch&gt;x86&lt;/arch&gt;
                          &lt;/environment&gt;
                          &lt;environment&gt;
                              &lt;os&gt;win32&lt;/os&gt;
                              &lt;ws&gt;win32&lt;/ws&gt;
                              &lt;arch&gt;x86_64&lt;/arch&gt;
                          &lt;/environment&gt;
                          &lt;environment&gt;
                              &lt;os&gt;macosx&lt;/os&gt;
                              &lt;ws&gt;cocoa&lt;/ws&gt;
                              &lt;arch&gt;x86_64&lt;/arch&gt;
                          &lt;/environment&gt;
                      &lt;/environments&gt;
                  &lt;/configuration&gt;
                  &lt;/plugin&gt;
              &lt;plugin&gt;
                &lt;groupId&gt;org.apache.maven.plugins&lt;/groupId&gt;
                &lt;artifactId&gt;maven-resources-plugin&lt;/artifactId&gt;
                &lt;version&gt;2.5&lt;/version&gt;
                &lt;configuration&gt;
                  &lt;encoding&gt;UTF-8&lt;/encoding&gt;
                &lt;/configuration&gt;
              &lt;/plugin&gt;
  
       &lt;/plugins&gt;
            &lt;/build&gt;
          &lt;/project&gt;
  </code></pre>
  
  <p>My pom.xml for product folder :</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;
    &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
    &lt;parent&gt;
      &lt;groupId&gt;msi.gama&lt;/groupId&gt;
      &lt;artifactId&gt;msi.gama.parent&lt;/artifactId&gt;
      &lt;version&gt;1.7.0-SNAPSHOT&lt;/version&gt;
      &lt;relativePath&gt;../msi.gama.parent/&lt;/relativePath&gt;
    &lt;/parent&gt;
    &lt;artifactId&gt;msi.gama.application.product&lt;/artifactId&gt;
    &lt;packaging&gt;eclipse-repository&lt;/packaging&gt;
      &lt;build&gt;
          &lt;plugins&gt;
              &lt;plugin&gt;
                  &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
                  &lt;artifactId&gt;tycho-p2-repository-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${tycho.version}&lt;/version&gt;
                  &lt;configuration&gt;
                      &lt;includeAllDependencies&gt;true&lt;/includeAllDependencies&gt;
                  &lt;/configuration&gt;
              &lt;/plugin&gt;
              &lt;!-- If the project contains more than one product file ... --&gt;
               &lt;plugin&gt;
                  &lt;groupId&gt;org.eclipse.tycho&lt;/groupId&gt;
                  &lt;artifactId&gt;tycho-p2-director-plugin&lt;/artifactId&gt;
                  &lt;version&gt;${tycho.version}&lt;/version&gt;
                  &lt;executions&gt;
                      &lt;execution&gt;
                          &lt;id&gt;create-distributions&lt;/id&gt;
                          &lt;goals&gt;
                              &lt;goal&gt;materialize-products&lt;/goal&gt;
                              &lt;goal&gt;archive-products&lt;/goal&gt;
                          &lt;/goals&gt;
                      &lt;/execution&gt;
                  &lt;/executions&gt;
              &lt;/plugin&gt; 
            &lt;/build&gt;
          &lt;/project&gt;
  </code></pre>
  
  <p>The result in folder : </p>
  
  <pre><code>➜  products git:(master) ls
  msi.gama.application.product                       msi.gama.application.product-linux.gtk.x86.zip        msi.gama.application.product-win32.win32.x86_64.zip
  msi.gama.application.product-linux.gtk.x86_64.zip  msi.gama.application.product-macosx.cocoa.x86_64.zip  msi.gama.application.product-win32.win32.x86.zip
  
  ➜  products git:(master) cd msi.gama.application.product 
  ➜  msi.gama.application.product git:(master) ls
  linux  macosx  win32
  </code></pre>
  
  <p>My problem is that some specific operation need to be for each OS.</p>
  
  <p>For example, for MACOS packaging, i need to recopy some folders and files to build the metadata of .app application.</p>
  
  <p>Is there a way to specify copy, filter IO operations using tycho, or i need to use something like maven-resource-plugin ? </p>
  
  <p>If this is the case, how can i specify to maven-resource-plugin operation by os at this step of packaging in tycho ?</p>