2012-03-05 2 views
2

Я использую Maven 3 для управления циклом сборки и выпуска приложения для Android. Во время релиза источник приложения обфускается с помощью плагина Proguard maven. В идеале я хотел бы, чтобы обновленное сопоставление obfuscation Proguard было передано в репозиторий git во время процесса выпуска. В настоящее время я привязываю сопоставление с артефактами, помещенными в репозиторий выпусков, но я хотел бы сохранить отображение в git, если это возможно.Зафиксировать обновленное отображение Proguard во время выпуска Maven 3

Каков наилучший способ для этого?

ответ

1

Если я правильно понял, вам необходимо выполнить конфигурацию, поэтому решение от @khmarbaise не будет достаточным. Я бы пересчитал, используя плагин maven-scm в профиле выпуска, прикрепленном сразу же после создания сопоставления proguard.

Вы хотите добавить файл отображения: http://maven.apache.org/scm/maven-scm-plugin/add-mojo.html

, а затем проверить его в http://maven.apache.org/scm/maven-scm-plugin/checkin-mojo.html

Может быть что-то вроде:

<profiles> 

    <profile> 
    <id>release</id> 
    <activation> 
     <property> 
     <name>performRelease</name> 
     <value>true</value> 
     </property> 
    </activation> 

    <build> 
     <plugins> 
     <plugin> 
      <artifactId>maven-scm-plugin</artifactId> 
      ... 
      <configuration> 
      ... add your scm setup here ... 
      </configuration> 
      <executions> 
      <execution> 
       <id>addMap</id> 
       <phase>install</phase> 
       <goals> 
       <goal>add</goal> 
       </goals> 
      </execution> 
      <execution> 
       <id>commitMap</id> 
       <phase>install</phase> 
       <goals> 
       <goal>checkin</goal> 
       </goals> 
      </execution> 
      </executions> 
     </plugin> 
     </plugins> 
    </build> 
    ... 
    </profile> 
</profiles> 
0

Вы можете выполнить цель до совершения совершения через maven-release-plugin, как описано в документации.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-release-plugin</artifactId> 
    <version>2.2.2</version> 
    <configuration> 
     <preparationGoals>clean verify</preparationGoals> 
    </configuration> 
</plugin>