exec-maven-plugin эквивалент/альтернатива

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

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

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

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

cat file1 >> file2 

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


person Alessandro C    schedule 30.04.2020    source источник
comment
Я бы предложил написать плагин, который проще и чище будет интегрироваться в процесс сборки...   -  person khmarbaise    schedule 30.04.2020


Ответы (1)


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

person Alessandro C    schedule 30.04.2020