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)