несколько результатов сборки - PullRequest
0 голосов
/ 28 марта 2011

Мне нужно сохранить статус, созданный во время обработки артефакта.Так что у меня есть идея объединить эти состояния в собственный zip-файл и распаковать его на этапе подготовки.Дополнительным должен быть действительный результат, также развернутый.Этот результат представляет собой набор созданных файлов, ценный в следующем артефакте.

Я пытаюсь создать два архива результатов, но во время развертывания имя второй сборки игнорируется и всегда развертывается myArtifact-version.zip.

Что не так?

Спасибозаранее, Свен

мой пом выглядит так:

<project ...>
  <artifactId>myArtifact</artifactId>
  <groupId>de.myGroup</groupId>
  <packaging>pom</packaging>
  ...
  <dependencies>
    <dependency>
      <groupId>de.myGroup</groupId>
      <artifactId>gen-status</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
  <build>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>unpack-dependencies</goal>
                </goals>
                <configuration>
                    <outputDirectory>${project.build.directory}/config</outputDirectory>
                </configuration>
            </execution>
        </executions>
    </plugin>
    <plugin>
        ... proceeding generation
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
          <execution>
            <id>results</id>
            <phase>package</phase>
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bundle-gen-results.xml</descriptor>
              </descriptors>
            </configuration>
          </execution>
          <execution>
            <id>status</id>
            <phase>package</phase>
            <goals><goal>single</goal></goals>
            <configuration>
              <descriptors>
                <descriptor>src/assemble/bundle-gen-status.xml</descriptor>
              </descriptors>
              <finalName>gen-status-${project.version}</finalName>
            </configuration>
          </execution>
        </executions>
      </plugin>
  </build>
</project>

Сборки:

gen-results.xml:

<assembly ... >
    <id></id>
    <formats><format>zip</format></formats>
    <baseDirectory></baseDirectory>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/export</directory>
            <includes>
                <include>something.*/**/*.*</include>
            </includes>
        </fileSet>
    </fileSets>
</assembly>

bundle-gen-status.xml

<assembly ... >
    <id></id>
    <formats><format>zip</format></formats>
    <baseDirectory></baseDirectory>
    <includeBaseDirectory>false</includeBaseDirectory>
    <fileSets>
        <fileSet>
            <directory>${project.build.directory}/config</directory>
            <includes>
                <include>status.file</include>
            </includes>
            <outputDirectory>classes/scripts</outputDirectory>
        </fileSet>
    </fileSets>

</assembly>

Ответы [ 2 ]

0 голосов
/ 29 марта 2011

Это позволяет мне прикреплять файл статуса только к текущему артефакту. Но затем я получаю цикл зависимости, когда пытаюсь добавить артефакт статуса.

<project ...>
  <artifactId>myArtifact</artifactId>
  <groupId>de.myGroup</groupId>
  <packaging>pom</packaging>
  ...
  <dependencies>
    <dependency>
      <groupId>de.myGroup</groupId>
      <artifactId>myArtifact</artifactId>
      <classifier>status</classifier>
      <version>${project.version}</version>
    </dependency>
  </dependencies>
  ...
 <build>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-dependency-plugin</artifactId>
        <executions>
            <execution>
                <phase>package</phase>
                <goals>
                    <goal>unpack-dependencies</goal>
                </goals>
                <configuration>
                    <outputDirectory>${project.build.directory}/config</outputDirectory>
                    <includeClassifiers>status</includeClassifiers>
                </configuration>
            </execution>
        </executions>
    </plugin>
    ...
    exec
    ...
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <executions>
      <execution>
        <id>status</id>
        <phase>package</phase>
        <goals><goal>attach-artifact</goal></goals>
        <configuration>
        <artifacts>
               <artifact>
             <file>${project.build.directory}/config/status.file</file>
             <type>file</type>
                 <classifier>status</classifier>
           </artifact>
        </artifacts>
         </configuration>
         </execution>
       </executions>
     </plugin>
0 голосов
/ 28 марта 2011

Вы можете использовать attach-artifac t цель build helper maven plugin для достижения этой цели.

...