2016-09-05 10 views
0

Взял этот вопрос, но прямой ответ был найден с грустью.Создание банок для хранилища Maven, как?

Итак, у меня есть проект Maven. Я хочу загрузить свой выпуск в Maven Central Repository. Это означает, что мне нужно создать 3-4 опарника:

  1. Составитель источник баночка
  2. Javadoc банку
  3. Исходный код банка
  4. тесты баночка (опционально)

Как я могу создать все эти банки? Добавить конфигурацию в POM?

BTW, я использую последние Netbeans IDE, но это не имеет значения :)

Любая помощь приветствуется!

EDIT

Так что это мой POM:

<?xml version="1.0" encoding="UTF-8"?> 
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
     <modelVersion>4.0.0</modelVersion> 
     <groupId>com.company</groupId> 
     <artifactId>sdk</artifactId> 
     <version>1.0-SNAPSHOT</version> 
     <packaging>jar</packaging> 
     <properties> 
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
      <maven.compiler.source>1.8</maven.compiler.source> 
      <maven.compiler.target>1.8</maven.compiler.target> 
     </properties> 

     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.antlr</groupId> 
        <artifactId>antlr4-maven-plugin</artifactId> 
        <version>4.5.3</version> 
        <executions> 
         <execution> 
          <id>antlr</id> 
          <goals> 
           <goal>antlr4</goal> 
          </goals> 
         </execution> 
        </executions> 
       </plugin> 
      </plugins> 
     </build> 
    </project> 
+0

Как вы pom Похоже на Момент? – Jens

+0

@Jens отредактировал мой вопрос. Благодаря! – lkallas

ответ

2

Maven может создать эти банки для вашего. Рядом с 1,2,3,4 вам также нужно будет подписать артефакты выпуска. Для того, чтобы получить артефакт в мавена центре я советую вам прочитать:

  1. official Maven guide, чтобы получить артефакт в мавена центральной
  2. guide из хранилища Open Source Sonatype. Он содержит всю информацию, которую вам нужно знать.

Что касается вашего pom.xml, вы можете добавить отдельный профиль выпуска, который будет создавать для вас все эти артефакты.

Просто добавьте следующий профиль в вашем pom.xml

<profile> 
    <id>release</id> 
    <build> 
    <plugins> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-source-plugin</artifactId> 
     <version>${maven-source-plugin.version}</version> 
     <executions> 
      <execution> 
      <id>attach-sources</id> 
      <goals> 
       <goal>jar-no-fork</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-javadoc-plugin</artifactId> 
     <version>${maven-javadoc-plugin.version}</version> 
     <executions> 
      <execution> 
      <id>attach-javadocs</id> 
      <goals> 
       <goal>jar</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
     <plugin> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-gpg-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
      <execution> 
      <id>sign-artifacts</id> 
      <phase>verify</phase> 
      <goals> 
       <goal>sign</goal> 
      </goals> 
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    </build> 
</profile> 

Теперь, когда вы хотите создать релиз, вы можете просто позвонить:

mvn clean install -Prelease 

и создаст все необходимые артефакты.

+0

Спасибо тонну! Отдам! – lkallas

1

Посмотрите на это guide и this. Вам нужно поднять билет для зеркального репозитория по вашему выбору, тогда вам нужно дополнительно использовать плагины для подписания банку, создания документов, добавления источника и удаленного развертывания для вас.

+1

Upvote для вашей доброты :) – lkallas

+0

Я думаю, вам также нужно доказать право собственности на домен, который вы используете в помпе – HRgiger