maven - una - dar permisos a un usuario especifico en linux
Mantenga los permisos en archivos con recursos de Maven: testResources (2)
¿Es posible mantener los permisos archivados con los recursos de Maven: testResources? Mi caso de uso es un controlador binario de Selenium que instalé en / src / test / resources que me gustaría poder usar en mis pruebas. Mi -rwxr-xr-x sin embargo se cambia a -rw-r - r-- en target / test-classes
Agregué un perfil que se activa automáticamente cuando se ejecuta en una máquina Unix. Ejecuta un script de shell en línea para adoptar permisos de archivos de todos los archivos en una carpeta recursivamente a archivos del mismo nombre en otra carpeta (consulte las variables SRC y DST). El script requiere un /bin/sh
así como find
, xargs
y chmod
, que deberían existir en todos los sistemas modernos.
<profile>
<id>unix</id>
<activation>
<os>
<family>unix</family>
</os>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<executions>
<execution>
<id>fix-resource-permissions</id>
<goals>
<goal>exec</goal>
</goals>
<phase>process-test-resources</phase>
<configuration>
<executable>/bin/sh</executable>
<arguments>
<argument>-c</argument>
<argument>
set -x
SRC="${basedir}/src/test/resources"
DST="${project.build.directory}/test-classes"
find "$$SRC" -printf "%P/0" | xargs --verbose -0 -I {} chmod --reference="$$SRC/{}" -f "$$DST/{}"
</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
Esto parece ser un error en el complemento de recursos de Maven
Si está utilizando el complemento de ensamblaje de Maven, puede configurar los permisos de archivo allí.
Si no, puede considerar una solución. Puedes hacer esto a través de Ant haciendo algo como esto:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>process-test-classes</id>
<phase>process-test-classes</phase>
<configuration>
<target>
<chmod file="target/test-classes/test.sh" perm="755"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>