I have added checkRoles within my FileCallable implementation, but it still
fails. Though this time with a different message.
remote file operation failed: /home/build/jenkins/workspace/myMatrixProject at
hudson.remoting.Channel@54e95cec:Development-opensuse-x86_64:
java.io.IOException: Unable to serialize
hudson.FilePath$FileCallableWrapper@5a17f7bd
import hudson.FilePath.FileCallable
import hudson.remoting.VirtualChannel
import org.jenkinsci.remoting.RoleChecker
def jenkinsInstance = jenkins.model.Jenkins.getInstance()
def project = jenkinsInstance.getItem("myMatrixProject")
def rootProject = project.getRootProject()
def someWorkspace = rootProject.getSomeWorkspace()
try {
def test = someWorkspace.act(new FileCallable<String>() {
private static final long serialVersionUID = 1;
@Override
public String invoke(File file, VirtualChannel channel) {
return "Testing Testing";
}
@Override
public void checkRoles(RoleChecker checker) throws
SecurityException {
}
});
println test
} catch (IOException e) {
println e.getMessage()
} catch (InterruptedException e) {
println e.getMessage()
}
Could you ellaborate on "use the provided abstract base classes as parent" ?
tirsdag 24. mars 2015 18.29.12 UTC+1 skrev Ullrich Hafner følgende:
>
> You need to implement the new method checkRoles. See JavaDoc of latest
> FileCallable
> version. (Or you can use the provided abstract base classes as parent).
>
> Am 24.03.2015 um 18:03 schrieb Sverre Moe <[email protected]
> <javascript:>>:
>
>
> Trying the following in Jenkins Script Console:
>
> import hudson.FilePath.FileCallable
> import hudson.remoting.VirtualChannel
>
> def jenkinsInstance = jenkins.model.Jenkins.getInstance()
> def project = jenkinsInstance.getItem("myMatrixProject")
> def rootProject = project.getRootProject()
> def someWorkspace = rootProject.getSomeWorkspace()
>
> try {
> def test = someWorkspace.act(new FileCallable<String>() {
> private static final long serialVersionUID = 1;
> @Override
> public String invoke(File file, VirtualChannel channel) {
> return "Testing Testing";
> }
> });
> } catch (IOException e) {
> e.printStackTrace();
> } catch (InterruptedException e) {
> e.printStackTrace();
> }
>
> It throws an exception:
>
> org.codehaus.groovy.control.MultipleCompilationErrorsException: startup
> failed:
> Script1.groovy: 10: Can't have an abstract method in a non-abstract class.
> The class 'Script1$1' must be declared abstract or the method 'void
> checkRoles(org.jenkinsci.remoting.RoleChecker)' must be implemented.
> @ line 10, column 61.
> ct(new FileCallable<String>() {
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jenkins Developers" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected] <javascript:>.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/jenkinsci-dev/b2502c2c-8a02-46df-8bce-90ee10724090%40googlegroups.com
>
> <https://groups.google.com/d/msgid/jenkinsci-dev/b2502c2c-8a02-46df-8bce-90ee10724090%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>
>
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-dev/71b59eab-5381-4cf4-becd-2fe7389ad074%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.