2012-01-28 35 views
7

Gravür kullanarak svn'yi kontrol etmek istiyorum. example göre buGravür kullanarak svn svn

task dwnSnark << { 
    ant.path(id: 'svnant') { 
     ant.pathelement(location: 'antlib/svnClientAdapter.jar') 
     ant.pathelement(location: 'antlib/svnant.jar') 
     ant.pathelement(location: 'antlib/svnkit.jar') 
    } 
    ant.taskdef(resource: 'org/tigris/subversion/svnant/svnantlib.xml', classpathref: 'svnant') 
    mkdir('destpath') 
    ant.svn(javahl: 'false', svnkit: 'true', username: 'user', password: 'pass', failonerror: 'false') {//this is actually line: 37 from stacktrace 
     ant.checkout(url: 'svn://code.threerings.net/snark/trunk', destPath: 'destpath') 
     ant.update(dir: 'destpath') 
    } 
} 

yazdım Ama bunu yürütmek zaman. Bu istisna atar.

gradle dwnSnark --stacktrace 
:dwnSnark 
[ant:taskdef] Could not load definitions from resource org/tigris/subversion/svnant/svnantlib.xml. It could not be found. 

FAILURE: Build failed with an exception. 

* Where: 
Build file 'D:\prog\wint2012\build.gradle' line: 37 

* What went wrong: 
Execution failed for task ':dwnSnark'. 
Cause: Problem: failed to create task or type svn 
Cause: The name is undefined. 
Action: Check the spelling. 
Action: Check that any custom tasks/types have been declared. 
Action: Check that any <presetdef>/<macrodef> declarations have taken place. 


* Try: 
Run with --info or --debug option to get more log output. 

* Exception is: 
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':dwnSnark'. 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:71) 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:48) 
     at org.gradle.api.internal.tasks.execution.PostExecutionAnalysisTaskExecuter.execute(PostExecutionAnalysisTaskExecuter.java:34) 
     at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter$1.run(CacheLockHandlingTaskExecuter.java:34) 
     at org.gradle.cache.internal.DefaultCacheAccess$2.create(DefaultCacheAccess.java:200) 
     at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:172) 
     at org.gradle.cache.internal.DefaultCacheAccess.longRunningOperation(DefaultCacheAccess.java:198) 
     at org.gradle.cache.internal.DefaultPersistentDirectoryStore.longRunningOperation(DefaultPersistentDirectoryStore.java:111) 
     at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.longRunningOperation(DefaultTaskArtifactStateCacheAccess.java:83) 
     at org.gradle.api.internal.changedetection.CacheLockHandlingTaskExecuter.execute(CacheLockHandlingTaskExecuter.java:32) 
     at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:55) 
     at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:57) 
     at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:41) 
     at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51) 
     at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:52) 
     at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:42) 
     at org.gradle.api.internal.AbstractTask.executeWithoutThrowingTaskFailure(AbstractTask.java:243) 
     at org.gradle.execution.DefaultTaskGraphExecuter.executeTask(DefaultTaskGraphExecuter.java:192) 
     at org.gradle.execution.DefaultTaskGraphExecuter.doExecute(DefaultTaskGraphExecuter.java:177) 
     at org.gradle.execution.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:83) 
     at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:36) 
     at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
     at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) 
     at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) 
     at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter$1.run(TaskCacheLockHandlingBuildExecuter.java:31) 
     at org.gradle.cache.internal.DefaultCacheAccess$1.create(DefaultCacheAccess.java:111) 
     at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:126) 
     at org.gradle.cache.internal.DefaultCacheAccess.useCache(DefaultCacheAccess.java:109) 
     at org.gradle.cache.internal.DefaultPersistentDirectoryStore.useCache(DefaultPersistentDirectoryStore.java:103) 
     at org.gradle.api.internal.changedetection.DefaultTaskArtifactStateCacheAccess.useCache(DefaultTaskArtifactStateCacheAccess.java:79) 
     at org.gradle.api.internal.changedetection.TaskCacheLockHandlingBuildExecuter.execute(TaskCacheLockHandlingBuildExecuter.java:29) 
     at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
     at org.gradle.execution.DefaultBuildExecuter.access$200(DefaultBuildExecuter.java:23) 
     at org.gradle.execution.DefaultBuildExecuter$2.proceed(DefaultBuildExecuter.java:67) 
     at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32) 
     at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:61) 
     at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:54) 
     at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:152) 
     at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:108) 
     at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:76) 
     at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:42) 
     at org.gradle.launcher.cli.RunBuildAction.execute(RunBuildAction.java:28) 
     at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:32) 
     at org.gradle.launcher.exec.ExceptionReportingAction.execute(ExceptionReportingAction.java:21) 
     at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:238) 
     at org.gradle.launcher.cli.CommandLineActionFactory$WithLoggingAction.execute(CommandLineActionFactory.java:222) 
     at org.gradle.launcher.Main.doAction(Main.java:48) 
     at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:53) 
     at org.gradle.launcher.exec.EntryPoint$1.execute(EntryPoint.java:51) 
     at org.gradle.launcher.exec.Execution.execute(Execution.java:28) 
     at org.gradle.launcher.exec.EntryPoint.run(EntryPoint.java:39) 
     at org.gradle.launcher.Main.main(Main.java:39) 
     at org.gradle.launcher.ProcessBootstrap.runNoExit(ProcessBootstrap.java:51) 
     at org.gradle.launcher.ProcessBootstrap.run(ProcessBootstrap.java:33) 
     at org.gradle.launcher.GradleMain.main(GradleMain.java:24) 
Caused by: : Problem: failed to create task or type svn 
Cause: The name is undefined. 
Action: Check the spelling. 
Action: Check that any custom tasks/types have been declared. 
Action: Check that any <presetdef>/<macrodef> declarations have taken place. 

     at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:487) 
     at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:419) 
     at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163) 
     at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:71) 
     at org.gradle.api.internal.project.ant.BasicAntBuilder.doInvokeMethod(BasicAntBuilder.java:86) 
     at org.gradle.api.internal.project.DefaultAntBuilder.super$3$invokeMethod(DefaultAntBuilder.groovy) 
     at org.gradle.api.internal.project.DefaultAntBuilder.invokeMethod(DefaultAntBuilder.groovy:37) 
     at build_7tvcf1h4gb2jnh1u2q10f79imq$_run_closure4.doCall(D:\prog\wint2012\JTor\build.gradle:37) 
     at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:457) 
     at org.gradle.api.internal.AbstractTask$ClosureTaskAction.execute(AbstractTask.java:445) 
     at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:63) 
     ... 54 more 


BUILD FAILED 

Total time: 6.354 secs 

Neredeyim?

+0

Bkz: http://stackoverflow.com/questions/2400893/how-to-checkout-from-svn-with-an-ant-task - Üzerinde javahl.jar kaçırdığınızı olabilir senin sınıf yolu. –

+0

@martin clayton, svnjavahl.jar'ı sınıf yoluma ekledim, ancak yardımcı olmadı. –

cevap

4

Bu hafif bir değişiklik ile lib klasörü eklendi gradle.build aynı dizinde

kontrol almak gibi görünüyor çalışıyor gibi görünüyor. En son svntask'ı projeye indirip açtım ve yolu ayrı ayrı ilan etmek yerine sınıf yolunu doğrudan taskdef için ilan ettim.

task dwnSnark << { 
    ant.taskdef(resource: 'org/tigris/subversion/svnant/svnantlib.xml') { 
     classpath { 
      fileset(dir: 'svnant-1.3.1/lib', includes: '*.jar') 
     } 
    } 
    mkdir('destpath') 
    ant.svn(javahl: 'false', svnkit: 'true', username: 'user', password: 'pass', failonerror: 'false') { 
     ant.checkout(url: 'https://svn.java.net/svn/groovychart~svn', destPath: 'destpath') 
     ant.update(dir: 'destpath') 
    } 
} 
1

Merhaba çalıştırmak için aşağıdaki var ama hiçbir şey gerekli kavanoz

ant.path(id: 'svnant') { 
    ant.pathelement(location: 'antlib/svnClientAdapter.jar') 
    ant.pathelement(location: 'antlib/svnant.jar') 
    ant.pathelement(location: 'antlib/ganymed.jar') 
    ant.pathelement(location: 'antlib/jna.jar') 
    ant.pathelement(location: 'antlib/svnjavahl.jar') 
}