Pregunta ¿Cómo implementar SNAPSHOT con las fuentes y JavaDoc?


Quiero implementar fuentes y javadocs con mis instantáneas. Esto significa que quiero automatizar el siguiente comando:

mvn clean source:jar javadoc:jar deploy

Solo para ejecutar:

mvn clean deploy

No quiero tener la generación de javadoc / sources ejecutada durante el install fase (es decir, compilaciones locales).

Sé que los complementos fuente / javadoc se pueden sincronizar con la ejecución del release complemento, pero no puedo encontrar la manera de conectarlo a las versiones de las instantáneas.


76
2018-01-18 15:08


origen


Respuestas:


<build>
  <plugins> 
    <plugin>
      <artifactId>maven-source-plugin</artifactId>
      <executions>
        <execution>
          <id>attach-sources</id>
          <phase>deploy</phase>
          <goals><goal>jar-no-fork</goal></goals> 
        </execution>
      </executions>
    </plugin>
    <plugin> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>attach-javadocs</id>
          <phase>deploy</phase>
          <goals><goal>jar</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
    <plugin> 
      <!-- explicitly define maven-deploy-plugin after other to force exec order -->
      <artifactId>maven-deploy-plugin</artifactId> 
      <executions> 
        <execution> 
          <id>deploy</id>
          <phase>deploy</phase>
          <goals><goal>deploy</goal></goals> 
        </execution> 
      </executions> 
    </plugin>
  </plugins> 
</build>

Ver POM padre OSS de Sonatype para un ejemplo completo.


71
2018-01-18 15:13



Solo para agregar una alternativa que no requiera que bloquees la configuración del complemento:

mvn -DperformRelease=true [goals]

El crédito va a mcbeelen desde http://sea36.blogspot.com/2009/02/attaching-javadocs-and-sources-to-maven.html?showComment=1314177874102#c6853460758692768998


44
2018-01-26 15:34



El artículo mencionado por Dan también menciona otro enfoque que funciona sin modificar poms Y no desaparecerá en el corto plazo:

mvn limpio javadoc: jar fuente: jar instalar

Lo que funciona bien con Maven 3+, junto con ...

mvn limpio javadoc: jar fuente: jar desplegar

Lo he probado desde la implementación de Jenkins en Nexus.

Este enfoque fue bueno porque solo tuve que modificar algunos trabajos de Jenkins y no tuve que meterme con mis poms.


23
2018-06-13 20:37