tecnologia - repositorio maven
mvn deploy: archivo a diferentes repositorios para instantáneas y versiones de lanzamiento (4)
¿Es posible de alguna manera decirle al implemento de Maven: el objetivo del archivo a desplegar en dos artefactos independientes en función de si la versión del proyecto es una instantánea / versión?
Espero que exista una propiedad que indique el hecho de que la versión tiene -SNAPSHOT antepuesta, o quizás el artefacto predeterminado para su implementación (que ya se ha resuelto en base al número de versión).
Pensé en usar dos perfiles diferentes y calcular si es una instantánea en ant. Analizando el archivo pom.xml, pero preferiría una solución más limpia si es posible.
Actualmente, mi complemento de implementación tiene el aspecto siguiente, pero esto solo se implementa en el artefacto de lanzamiento independientemente de la versión;
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-deploy-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>deploy-zip-created-by-ant-to-artifactory</id>
<phase>deploy</phase>
<goals>
<goal>deploy-file</goal>
</goals>
<configuration>
<repositoryId>${project.distributionManagement.repository.id}</repositoryId>
<url>${project.distributionManagement.repository.url}</url>
<file>${project.basedir}/Build/deploy/MyArtifact.zip</file>
<pomFile>${project.basedir}/MyArtifact-pom.xml</pomFile>
</configuration>
</execution>
</executions>
</plugin>
Muchas gracias
Esta es probablemente la manera Maven:
<distributionManagement>
<repository>
<id>release</id>
<url>http://my-releases</url>
</repository>
<snapshotRepository>
<id>snapshots</id>
<url>http://my-snapshots</url>
</snapshotRepository>
</distributionManagement>
Al realizar un despliegue de una versión de instantánea, irá al repositorio de instantáneas. Para un lanzamiento que no sea de instantáneas, se utilizará el repositorio regular.
Simplemente ejecute el despliegue y funcionará. :-)
Por here , usé el complemento GMaven para elegir el repositorio de la sección de administración de distributionManagement
del POM y almacenarlo en una propiedad.
El complemento de implementación puede usar esa propiedad.
Si definió sus repositorios dentro de su configuración.xml puede usar el
mvn deploy:deploy-file -DrepositoryId=releases -DartifactId=... -Durl=
Tal vez usted quiera usar el build-helper-maven-plugin para desplegar un artefacto adicional