Как развернуть результаты сборки хранилища tycho p2 в месте в локальной файловой системе или в локально поддерживаемом хранилище p2 - PullRequest
2 голосов
/ 08 ноября 2011

У меня есть рабочая сборка Tycho, которая создает рабочий репозиторий p2. Мой текущий рабочий процесс заключается в том, чтобы вручную перетаскивать результаты этой сборки из целевого каталога проекта на веб-сервер, на котором размещается репозиторий p2. Результаты моей сборки Tycho выглядят нормально:

${projectBaseDir}/target/repository
     - features
          - com.my.product.feature.201111071414.jar
     - plugins
          - com.my.product.plugins
     - artifacts.jar
     - content.jar

Итак, что является «отраслевым стандартом» для переноса результатов этой сборки в каталог репозитория и размещения их на веб-сервере.

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

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

Моя задача кажется простой, и я понимаю, что существует множество вариантов копирования файлов, но я ищу "maven way" или, еще лучше, "tycho way" для этого. Если такой стандарт существует.

спасибо, TW

Ответы [ 3 ]

2 голосов
/ 11 ноября 2011

Вы можете достичь желаемого с помощью плагина antrun . Он позволяет вам использовать задачи / цели ant (например, копирование файлов) для выполнения действий во время сборки Maven.

Я ожидаю, что что-то вроде следующего будет работать для вас:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <version>1.6</version>
    <executions>
        <execution>
        <id>configFix</id>
        <phase>package</phase>
        <configuration>
            <target name="configFix">
                <copy file="${project.build.directory}/p2/some.file" todir="C:\My\Directory" overwrite="true">
                </copy>
            </target>
        </configuration>
        <goals>
            <goal>run</goal>
        </goals>
        </execution>
    </executions>
</plugin>
1 голос
/ 09 ноября 2011

Существует пример Минервы, как публиковать хранилище.

0 голосов
/ 25 декабря 2013

Я только что закончил плагин для этого: http://download.ralph -schuster.eu / eu.ralph-schuster.uploadfiles-maven-plugin / STABLE / . Он обеспечивает даже способы выполнения команд на сервере хранилища, например чтобы удалить старые файлы до или объединить артефакты после развертывания.

Надеюсь, это решит проблему развертывания. :)

...