안녕하세요 메이븐/억지로 전문가, 내가 VCS로 억지로을 사용하는 프로젝트에 대한 받는다는 유물의 자동 버전 관리를 구현하기 위해 노력하고받는다는 SCM은 트리거 출력
을 억지로 듣지 않습니다. 그래서 내 목적을 달성하기 위해 maven-scm-plugin과 maven-release-plugin을 선택했다. 우리는 perforce에서 트리거를 사용합니다. perforce는 각 커밋에 대한 XML 컨텐트의 위반을 검사합니다.
checkstyle_xml change-content //depot/project/....xml " /p4/triggers/checkstyle-trigger.pl %user% %changelist% /p4"
불행히도, 난 "MVN -X -e -B SCM : 편집 릴리스 : 갱신 버전 SCM : 체크인"명령을 실행할 때 파일을 편집 버전을 업데이트하고 억지로에 제출, 받는다는가 수행하지 않음 퍼포 트리거의 결과를 존중하고 빌드를 실패합니다. 그러나, 당신이 볼 수 있듯이, 변화는 결국 힘을 발휘합니다. 트리거가
스택 트레이스를 사용하여 XML 내가 실패 상태 코드를 침을하지 않는 억지로 트리거를 확인하기 위해 로컬 파일을 제출하고 실제로 너무 성공을 반환
[DEBUG] Sending changelist:
Change: new
Description:
Auto increment pom version during build process. Reviewed by: RE
Files:
//depot/project/pom.xml
[ERROR] Provider message:
[ERROR] Unable to submit
[ERROR] Command output:
[ERROR] Debug: starting trigger script
Change 351157 submitted.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.112s
[INFO] Finished at: Thu Oct 30 14:51:51 PDT 2014
[INFO] Final Memory: 23M/219M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-scm-plugin:1.7:checkin (default-cli) on project phoenix: Command failed.Unable to submit -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-scm-plugin:1.7:checkin (default-cli) on project phoenix: Command failed.Unable to submit
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Command failed.Unable to submit
at org.apache.maven.scm.plugin.AbstractScmMojo.checkResult(AbstractScmMojo.java:439)
at org.apache.maven.scm.plugin.CheckinMojo.execute(CheckinMojo.java:83)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
[ERROR]
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
수 있었다. 필자는 왜 maven이 PERFORCE 트리거를 존중하지 않는지 잘 모르겠습니다. 기술적으로는 TXT를 사용하여 억지로 트리거
스택 추적을 통과하지 않기 때문에
p4 –u testuser submit -d "Test" pom.xml
Submitting change 351166.
Locking 1 files ...
edit //depot/project/pom.xml#25
Debug: starting trigger script
Change 351166 submitted.
$ echo $?
0
나는, 억지로 트리거가 활성화 받는다는 반환 성공과 같은 결과를 구축하지 않은 txt 파일과 시나리오를 테스트 WHICH 나던 HAVE TRIGGER
[DEBUG] Sending changelist:
Change: new
Description:
Auto increment pom version during build process. Reviewed by: RE
Files:
//depot/phoenix/auto-increment-pom/pom.txt
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.998s
[INFO] Finished at: Thu Oct 30 14:55:04 PDT 2014
[INFO] Final Memory: 18M/216M
[INFO] ------------------------------------------------------------------------
질문 :
- Maven에서이 동작을 경험 한 사람이 있습니까? 어떻게 해결 했습니까? 특정 파일 억지로 트리거를 비활성화 할 수있는 경우 그 억지로 심지어 트리거를 통과하지 않도록
- 당신은, 아는 분
트리거 파일을 활성화하는 파일은 트리거 테이블의 "경로"필드에 의해 제어됩니다 ('p4 도움말 트리거'참조). –
감사합니다. 그렇습니다. 그러나 트리거는 모든 xml 패턴을 찾고 pom.xml 만 제외 할 수있는 방법에 익숙하지 않습니다.트리거 스크립트 내에서 그렇게 할 수 있지만, pom.xml 인 경우 트리거 스크립트를 실행하는 지점까지 퍼펙트가 필요하지 않습니다.'checkstyle_xml change-content //depot/project/....xml "/ p4 /triggers/checkstyle-trigger.pl % user % % changelist %/p4 " – user6930
특정 트리거에서 단일 파일을 제외하는 방법에 대한 자세한 내용을 게시했습니다. –