Примите обновленное отображение Proguard во время релиза Maven 3 - PullRequest
2 голосов
/ 05 марта 2012

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

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

Ответы [ 2 ]

1 голос
/ 06 марта 2012

Если я правильно понимаю, вам нужно выполнить настройку, чтобы решения @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 голосов
/ 05 марта 2012

Вы можете запустить цель, прежде чем произойдет коммит, с помощью 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>
...