Мне удалось решить проблему с помощью maven-antrun-plugin
с помощью задачи <concat>
:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.8</version>
<executions>
<execution>
<id>final step</id>
<phase>install</phase>
<configuration>
<target>
<concat destfile="${project.build.directory}/${project.artifactId}-${project.version}.sh" binary="yes">
<fileset file="${project.build.directory}/script/self-installer.sh" />
<fileset file="${project.build.directory}/${project.artifactId}-${project.version}.tar.gz" />
</concat>
<chmod file="${project.build.directory}/${project.artifactId}-${project.version}.sh" perm="+x"/>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
Это эквивалент команды bash cat.
Имейте в виду что если вы объединяете двоичный файл, вы должны установить binary="yes"
, в противном случае задача Ant повредит окончательный файл.
В любом случае, это все еще не решение на основе bash, это только трюк, использующий подпрограммы Ant, поэтому он не является реальным эквивалентом exec-maven-plugin