maven exec exec, ссылки на скрипты в других jar - PullRequest
3 голосов
/ 13 февраля 2012

У меня проблемы с вызовом скрипта оболочки из плагина exec другого плагина, это вообще можно сделать?

У меня есть проект с именем scripts, упакованный как jar, в этот проект я хочу поместить все свои скрипты оболочки и вызывать их из различных проектов, например: я хочу вызвать s3sync из различных проектов, я добавил зависимость в другой проект к моему проекту сценариев, но я могу выполнить, я не получаю такой файл или каталог, моя конфигурация:

<plugin>
            <artifactId>exec-maven-plugin</artifactId>
            <groupId>org.codehaus.mojo</groupId>
            <version>1.2.1</version>
            <executions>
                <execution>
                    <id>PrepFIle</id>
                    <phase>test</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <skip>${aws.s3.deploy.skip}</skip>
                        <executable>chmod</executable>
                        <arguments>
                            <argument>777</argument>
                            <argument>s3sync.sh</argument>
                            <!--<argument>${project.build.outputDirectory}/s3sync.sh</argument>-->
                        </arguments>
                    </configuration>
                </execution>
                <execution>
                    <id>RunFile</id>
                    <phase>test</phase>
                    <goals>
                        <goal>exec</goal>
                    </goals>
                    <configuration>
                        <skip>${aws.s3.deploy.skip}</skip>
                        <workingDirectory>${project.build.outputDirectory}</workingDirectory>
                        <!--<executable>${project.build.outputDirectory}/s3sync.sh</executable>-->
                        <executable>s3sync.sh</executable>
                        <arguments>
                            <argument>${aws.s3.bucket.name}</argument>
                            <argument>${project.build.outputDirectory}</argument>
                        </arguments>
                    </configuration>
                </execution>
            </executions>
            <dependencies>
                <dependency>
                    <groupId>com.company</groupId>
                    <artifactId>scripts</artifactId>
                    <version>0.0.1</version>
                    <type>jar</type>
                </dependency>
            </dependencies>
        </plugin>

это вообще можно сделать? я перепробовал много вариантов ... я могу банку упаковывать со скриптами ... я знаю, что могу сделать это другими способами, но мне нужно выполнить это таким образом

1 Ответ

0 голосов
/ 17 июня 2012

Я думаю, что вы должны сначала распаковать сценарии оболочки из вашего jar-скрипта и выполнить распакованную версию вашего скрипта. Распаковку скиптов можно выполнить с помощью maven-dependency-plugin . Используйте цель upack . Вы можете найти пример здесь .

...