2012-03-05 2 views
2

Maven 3을 사용하여 Android 애플리케이션의 빌드 및 릴리스주기를 관리합니다. 배포 중에 Proguard Maven 플러그인을 사용하여 응용 프로그램 소스가 난독 화됩니다. 이상적으로는 릴리스 프로세스 동안 업데이트 된 Proguard 난독 화 매핑을 git 저장소에 커밋해야합니다. 나는 현재 릴리스 저장소에 푸시 된 아티팩트에 매핑을 첨부하지만 가능한 경우 git에서 매핑을 유지하고 싶습니다.Maven 3 출시 중 업데이트 된 Proguard 매핑

가장 좋은 방법은 무엇입니까?

답변

1

제대로 이해하면 @khmarbaise의 해결책으로는 충분하지 않기 때문에 구성을 전달해야합니다. proguard 매핑이 생성 된 직후에 첨부 된 릴리스 프로파일에서 maven-scm 플러그인을 사용하여 다시 작성하겠습니다.

당신은 매핑 파일을 추가 할 것입니다 :

<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> 
: http://maven.apache.org/scm/maven-scm-plugin/checkin-mojo.html

아마도 뭔가 같은에서 그것을 http://maven.apache.org/scm/maven-scm-plugin/add-mojo.html

을 한 후 확인

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>