David Delbecq created MASSEMBLY-840:
---------------------------------------

             Summary: fileMode configuration is reset to 777 on subsequent 
fileSet
                 Key: MASSEMBLY-840
                 URL: https://issues.apache.org/jira/browse/MASSEMBLY-840
             Project: Maven Assembly Plugin
          Issue Type: Bug
    Affects Versions: 3.0.0, 2.6
            Reporter: David Delbecq


the documentation about fileSets->fileSet->fileMode states that default is 
"0644". But take the following example:

{code:xml}
                <fileSet>
                        <directory>etc/</directory>
                        <outputDirectory>/</outputDirectory>
                        <fileMode>775</fileMode>
                        <includes>
                          <include>cluster-setup.sh</include>
                          <include>database-setup.sh</include>
                          <include>diffcolors.sed</include>
                          <include>domain-master-setup.sh</include>
                          <include>domain-setup.sh</include>
                          <include>domain-slave-setup.sh</include>
                          <include>make-keystore.sh</include>
                          <include>process-getopt</include>
                        </includes>
                </fileSet>
                <fileSet>
                        <directory>etc/</directory>
                        <outputDirectory>/</outputDirectory>
                        <excludes>
                          <exclude>cluster-setup.sh</exclude>
                          <exclude>database-setup.sh</exclude>
                          <exclude>diffcolors.sed</exclude>
                          <exclude>domain-master-setup.sh</exclude>
                          <exclude>domain-setup.sh</exclude>
                          <exclude>domain-slave-setup.sh</exclude>
                          <exclude>make-keystore.sh</exclude>
                          <exclude>process-getopt</exclude>
                        </excludes>
                </fileSet>
{code}
the files generated by this assembly receive the following permissions:
{code}
775 cluster-setup.sh
777 common.sh
775 conf
775 database-setup.sh
777 deploy.sh
775 diffcolors.sed
775 doc
775 domain-master-setup.sh
775 domain-setup.sh
775 domain-slave-setup.sh
777 fleetworks.cnf
775 make-keystore.sh
775 process-getopt
777 standalone.xml
775 template
777 undeploy.sh
{code}
if you look at files like "standalone.xml", you see it's permission is set to 
0777 instead of  0644. Now invert positions of the fileset in assembly:
{code:xml}
                <fileSet>
                        <directory>etc/</directory>
                        <outputDirectory>/</outputDirectory>
                        <excludes>
                          <exclude>cluster-setup.sh</exclude>
                          <exclude>database-setup.sh</exclude>
                          <exclude>diffcolors.sed</exclude>
                          <exclude>domain-master-setup.sh</exclude>
                          <exclude>domain-setup.sh</exclude>
                          <exclude>domain-slave-setup.sh</exclude>
                          <exclude>make-keystore.sh</exclude>
                          <exclude>process-getopt</exclude>
                        </excludes>
                </fileSet>
                <fileSet>
                        <directory>etc/</directory>
                        <outputDirectory>/</outputDirectory>
                        <fileMode>775</fileMode>
                        <includes>
                          <include>cluster-setup.sh</include>
                          <include>database-setup.sh</include>
                          <include>diffcolors.sed</include>
                          <include>domain-master-setup.sh</include>
                          <include>domain-setup.sh</include>
                          <include>domain-slave-setup.sh</include>
                          <include>make-keystore.sh</include>
                          <include>process-getopt</include>
                        </includes>
                </fileSet>
{code}
Permissions are set as follow
{code}
775 cluster-setup.sh
644 common.sh
775 conf
775 database-setup.sh
644 deploy.sh
775 diffcolors.sed
775 doc
775 domain-master-setup.sh
775 domain-setup.sh
775 domain-slave-setup.sh
644 fleetworks.cnf
775 make-keystore.sh
775 process-getopt
644 standalone.xml
775 template
644 undeploy.sh
{code}
permissions are now correct. It seems whatever fileMode i set in first fileSet, 
subsequent fileSet are in fileMode 777.  If I don't specify any filemode in any 
fileset, second fileSet properly gets it's default 0644 behaviour.

A workaround  is to set explicitly fileMode to 0644 in all usbsequent fileset.

This problem happens with multiple fileSet after the first one.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to