exe c -maven-плагин эквивалент / альтернатива - PullRequest
0 голосов
/ 30 апреля 2020

В Maven мы можем использовать exec-maven-plugin для выполнения bash команд в сборке.

Какой плагин Центрального репозитория может выполнять ту же задачу?

Я спрашиваю, потому что я необходимо выполнить команду bash после другого плагина, который должен выполняться в той же фазе только после exe c -maven-plugin, поэтому я не могу сделать это непосредственно внутри exe c -maven-plugin.

Команда bash, которую я хочу выполнить в сборке Maven, выглядит следующим образом:

cat file1 >> file2 

Заранее спасибо.

1 Ответ

0 голосов
/ 30 апреля 2020

Мне удалось решить проблему с помощью 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...