2012-01-28 12 views
7

Chcę zamówić svn za pomocą gradle. Według example Napisałem tenZamówienie svn za pomocą gradle

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') 
    } 
} 

Ale kiedy go wykonać. Zgłasza wyjątek.

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 

Gdzie się mylę?

+0

Patrz: http://stackoverflow.com/questions/2400893/how-to-checkout-from-svn-with-an-ant-task - może być to, że tracisz na swój javahl.jar Ścieżka klas. –

+0

@martin clayton, dodałem 'svnjavahl.jar' do mojej ścieżki klasy, ale to nie pomogło. –

Odpowiedz

4

To niewielkie modyfikacje wydaje się, że działa. Pobrałem i rozpakowałem najnowszy svntask do projektu i zadeklarowałem ścieżkę klas bezpośrednio do taskdef zamiast deklarować ścieżkę osobno.

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

Witam mam następujący biegać, ale nic nie wydaje się, aby sprawdzić

w tym samym katalogu gradle.build dodałem lib folder wymaganych słoików

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') 
} 
Powiązane problemy