2012-12-20 2 views
1

저는 gradle과 groovy의 초보자입니다. 이제 Subversion 저장소에 태그를 설정하려고합니다.svnant의 중첩 된 복사 작업이 gradle에서 작동하지 않습니다

* What went wrong: 
A problem occurred evaluating root project 'AFM-IGPE-v2.0.0'. 
> Could not find method copy() for arguments  [{srcurl=svn://192.168.2.9/IGPE/trunk_dev}, svn://192.168.2.9/IGPE/tag/AFM, Create tag: svn://192.168.2.9/IGPE/tag/AFM] on root project 'AFM-IGPE-v2.0.0'. 
또한

내가

ant.copy(srcurl: "${_svn_source_url}", desturl="${_svn_tag_url}", message="Create tag: ${_svn_tag_url}") 
을 시도 : 실행 'Gradle을 svntag'내가 지속적으로 오류 메시지를 받았습니다 그러나 때,

task svnrev { 
    // use ant to retrieve revision. 
    ant.taskdef(resource: 'org/tigris/subversion/svnant/svnantlib.xml') { 
     classpath { 
      fileset(dir: 'lib/DEV/svnant', includes: '*.jar') 
     } 
    } 
    ant.svn(javahl: 'false', svnkit: 'true', username: "${_svn_user}", password: "${_svn_password}", failonerror: 'false') { 
     ant.info(target: "${_svn_source_url}", propPrefix: 'svninfo') 
    } 
    // retrieve property of ant project and assign it to a task's property, refer to: 
    // http://gradle.1045684.n5.nabble.com/can-t-find-or-extract-properties-from-svnant-info-function-in-gradle-td3335388.html 
    ext.lastRev = ant.getProject().properties['svninfo.lastRev'] 
    // retrieve property of gradle project 
    //getProject().properties['buildFile'] 
    } 

task svntag << { 
    ant.svn(javahl: 'false', svnkit: 'true', username: "${_svn_user}", password: "${_svn_password}", failonerror: 'false') { 
     copy(srcurl: "${_svn_source_url}", desturl="${_svn_tag_url}", message="Create tag: ${_svn_tag_url}") 
    } 
} 

작업 'svnrev는'정상 동작 : 아래 내 Gradle을 스크립트입니다

그리고 다른 오류 메시지가 표시이 시간 :

* What went wrong: 
A problem occurred evaluating root project 'AFM-IGPE-v2.0.0'. 
> No signature of method: org.gradle.api.internal.project.DefaultAntBuilder.copy() is applicable for argument types: (java.util.LinkedHashMap, org.codehaus.groovy.runtime.GStringImpl, org.codehaus.groovy.runtime.GStringImpl) values: [[srcurl:svn://192.168.2.9/IGPE/trunk_dev], ...] 
Possible solutions: any(), notify(), wait(), grep(), every(), find() 

사실 나는 개미 build.xml을 gradle로 간단히 번역하고 내 개미 build.xml은 잘 작동합니다. 나는 기간을 봤지만 아무런 결과도 찾지 못했습니다. Pls는 당신의 친절한 도움에 미리 도움과 감사를드립니다.

+0

@ 라몬 : 왜 대답을 수락하지 않습니까? 도움을 자주받는 데 도움이됩니다. – Jayan

+0

상기시켜 줘서 고마워, 전에는 '동의'기능에 대해 전혀 몰라. – Ramon

+0

@ Ramon. 큰! 일반적으로 도움이되는 가장 유용한 답변을받습니다. – Jayan

답변

1

첫눈에, 나는 두 가지 문제를 발견 할 수 있습니다

  1. 그것은 task svnrev << {하지 task svnrev { 수 있습니다.
  2. Groovy 명명 된 매개 변수는 이 아닌 :으로 작성됩니다. (후자는 대신 위치 매개 변수에 기본값을 할당합니다.) 그 이유는 아마도 ant.copy (:= 사이에서 혼합하고 일치)에 대한 오류를 얻는 것입니다.
+0

내가 만든 어리석은 실수! 고마워 퍼터, 네 말이 맞아, 지금 =로 바꾼다 : 작동 해! – Ramon

관련 문제