Re: Need some advice on what to put and not to put on repo.jenkins-ci.org
Le 1 août 2013 01:34, Jesse Glick jgl...@cloudbees.com a écrit : On Wed, Jul 31, 2013 at 10:55 AM, Sandell, Robert robert.sand...@sonymobile.com wrote: Hosting it on central seems like a big pain compared to keeping it here. Get yourself an OSSRH account and publish it on Central; it is not that much work, and it is better for your users. +1. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Autoinstaller plugin providing directory to the PATH
Hello, Probably, you could use Custom Tools Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin. Via this plugin you can specify your own tools and installers. Version 0.3 will add support of the variables and label-specific installation options. If you need to specify path w/o any installation steps, you can use Extra Tool Installers Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Extra+Tool+Installers+Plugin Best regards, Oleg Nenashev среда, 31 июля 2013 г., 2:07:18 UTC+4 пользователь Frédéric Camblor написал: Hi everyone, I'm lacking in Jenkins API knowledge to be able to provide a specific directory to the PATH variable during a job execution only. My need : I'm enhancing the NodeJS plugin with NodeJS npm auto-installers. Once installed, node has a bin/ directory with potentially lots of executables inside it (when a new npm package is installed, it might add new executable to this bin/ folder). I'd like to provide some build step allowing to add NodeJS installation's bin/ folder to the PATH variable, during a specific build execution. It could then make it possible to call some npm executables during shell executed scripts (such as grunt, bower, jasmine and so on...) I tried appending launcher.env(PATH=/path/to/node/bin:existing PATH value), but it didn't seemed to work (executable not found). If you have any input/doc to help me, I take it ! :-) Thanks in advance, Frédéric Camblor http://fcamblor.wordpress.com/ http://www.twitter.com/fcamblor Bordeaux JUG http://bordeauxjug.org/ Leader Jenkins http://jenkins-ci.org/ community member plugin commiter -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Need some advice on what to put and not to put on repo.jenkins-ci.org
We also discussed on getting jenkins repo synced to central, any progress made on this topic ? 2013/8/1 Baptiste MATHUS m...@batmat.net Le 1 août 2013 01:34, Jesse Glick jgl...@cloudbees.com a écrit : On Wed, Jul 31, 2013 at 10:55 AM, Sandell, Robert robert.sand...@sonymobile.com wrote: Hosting it on central seems like a big pain compared to keeping it here. Get yourself an OSSRH account and publish it on Central; it is not that much work, and it is better for your users. +1. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Autoinstaller plugin providing directory to the PATH
Thanks to both of you, I should achieve what I want with these hints/examples :-) @Oleg Didn't knew of this two plugins which sound great ! Unfortunately, I already implemented everything in the NodeJS plugin which should make your Custom Tools Plugin example even easier by not having to write any line of code :-) ... but the initiative is cool to have a simple workaround to install something which hasn't any autoinstaller yet. Thanks again :) Frédéric Camblor http://fcamblor.wordpress.com/ http://www.twitter.com/fcamblor Bordeaux JUG http://bordeauxjug.org/ Leader Jenkins http://jenkins-ci.org/ community member plugin commiter On Thu, Aug 1, 2013 at 8:30 AM, Oleg Nenashev o.v.nenas...@gmail.comwrote: Hello, Probably, you could use Custom Tools Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin. Via this plugin you can specify your own tools and installers. Version 0.3 will add support of the variables and label-specific installation options. If you need to specify path w/o any installation steps, you can use Extra Tool Installers Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Extra+Tool+Installers+Plugin Best regards, Oleg Nenashev среда, 31 июля 2013 г., 2:07:18 UTC+4 пользователь Frédéric Camblor написал: Hi everyone, I'm lacking in Jenkins API knowledge to be able to provide a specific directory to the PATH variable during a job execution only. My need : I'm enhancing the NodeJS plugin with NodeJS npm auto-installers. Once installed, node has a bin/ directory with potentially lots of executables inside it (when a new npm package is installed, it might add new executable to this bin/ folder). I'd like to provide some build step allowing to add NodeJS installation's bin/ folder to the PATH variable, during a specific build execution. It could then make it possible to call some npm executables during shell executed scripts (such as grunt, bower, jasmine and so on...) I tried appending launcher.env(PATH=/path/to/**node/bin:existing PATH value), but it didn't seemed to work (executable not found). If you have any input/doc to help me, I take it ! :-) Thanks in advance, Frédéric Camblor http://fcamblor.wordpress.com/ http://www.twitter.com/fcamblor Bordeaux JUG http://bordeauxjug.org/ Leader Jenkins http://jenkins-ci.org/ community member plugin commiter -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Updating the standard information on a Plugin wiki page
My wiki page contains the standard information generated by adding the snippet {jenkins-plugin-info:cucumber-perf} to the page. https://wiki.jenkins-ci.org/pages/editpage.action?pageId=68386913 However, the links are to the jenkinsci github repo, which is not where the code is actually hosted. I'd like to be able to change this, and thought it might be automatically generated from the pom, but it appears not. Is there a was to update or change this? TIA Jim -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Updating the standard information on a Plugin wiki page
That's an excellent question Jim :) I'd like to update the links as well on https://wiki.jenkins-ci.org/display/JENKINS/Build+Monitor+Plugin Also, does anyone know how often is the plugin installation trend ( http://stats.jenkins-ci.org/plugin-installation-trend/) refreshed? Best, Jan On Thursday, 1 August 2013 09:00:42 UTC+1, Jim Gallagher wrote: My wiki page contains the standard information generated by adding the snippet {jenkins-plugin-info:cucumber-perf} to the page. https://wiki.jenkins-ci.org/pages/editpage.action?pageId=68386913 However, the links are to the jenkinsci github repo, which is not where the code is actually hosted. I'd like to be able to change this, and thought it might be automatically generated from the pom, but it appears not. Is there a was to update or change this? TIA Jim -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
RE: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it
It's my bad, It was one test case that I was unable to do when I made that change in stapler and of course it came back and bit me. On modern browsers the json2 lib isn't needed at all because it is included the standard Javascript api, but older browsers needs it to be able to serialize to json, HTMLUnit is one of those so without it tests won't run as expected. Prototype has its own implementation but jQuery doesn't have one. At the specific time where the adjuct for it is called stapler doesn't know if it is needed or not. So I'm not sure how I could fix it in stapler, where it should be fixed. One way to solve it in Jenkins would be to add the adjunct tag for the json2 script somewhere at the top in the header of layout.jelly, then it would be ignored at the first st:bind tag because the adjunct manager has already included it earlier on the page. Robert Sandell Software Tools Engineer - SW Environment and Product Configuration Sony Mobile Communications From: jenkinsci-dev@googlegroups.com [mailto:jenkinsci-dev@googlegroups.com] On Behalf Of Jan Molak Sent: den 1 augusti 2013 01:48 To: jenkinsci-dev@googlegroups.com Subject: RE: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it Dear all, It seems that https://github.com/stapler/stapler/commit/48cdf0f3242c6a79bb398e9115c0db7526c42a50 changeset committed to Stapler introduces following issues when Jenkins is used together with the jQuery plugin: 1) st:bind / tag no longer works as advertised in the manual (https://wiki.jenkins-ci.org/display/JENKINS/AJAX+with+JavaScript+proxy), generating an additional script tag that's trying to include json2.js file, instead of just simply generating a makeStaplerProxy(...) - there's a ticket raised for this already in Jira: https://issues.jenkins-ci.org/browse/JENKINS-18641 2) this will affect any Jenkins plugin that's running on Jenkins 1.521 with jquery-plugin installed that relies on makeStaplerProxy(...) 3) this changeset also breaks the People page on Jenkins (please see the attached screenshot) Even though a fix for 3) is proposed here: https://github.com/jenkinsci/jenkins/commit/8c8219114dcfd5bb2b63715f6aa33465a584a91b, it only addresses a symptom, not the route cause of the problem (Stapler). All the plugins that rely on makeStaplerProxy will still be affected when the jQuery plugin is present. May I suggest that 48cdf0f3242c6a79bb398e9115c0db7526c42a50 changeset to Stapler is rolled back? I'm also happy to help fixing this issue, since it's affecting my Build Monitor pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Build+Monitor+Plugin as well :) Kind regards, Jan -- 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 jenkinsci-dev+unsubscr...@googlegroups.commailto:jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it
Thanks for looking into this Robert! I'm not sure if BindTag should have any awareness of plugins installed on Jenkins? Such as jquery-plugin? What happens if someone (including my humble self ;) ) would prefer to use Angular.js instead of jQuey, YUI or Prototype? I don't think that I should make BindTag aware of angular.js as well? Do you think it would be possible for you to roll back your change to BindTag so that it stops affecting other plugins, until we find out a more optimal solution? I have a couple of suggestions I'm very happy to discuss on this forum, but for the time being, can we please roll this change set back? :) Kind regards, Jan On Thursday, 1 August 2013 12:12:26 UTC+1, Robert Sandell wrote: It’s my bad, It was one test case that I was unable to do when I made that change in stapler and of course it came back and bit me. On modern browsers the json2 lib isn’t needed at all because it is included the standard Javascript api, but older browsers needs it to be able to serialize to json, HTMLUnit is one of those so without it tests won’t run as expected. Prototype has its own implementation but jQuery doesn’t have one. At the specific time where the adjuct for it is called stapler doesn’t know if it is needed or not. So I’m not sure how I could fix it in stapler, where it should be fixed. One way to solve it in Jenkins would be to add the adjunct tag for the json2 script somewhere at the top in the header of layout.jelly, then it would be ignored at the first st:bind tag because the adjunct manager has already included it earlier on the page. * * *Robert Sandell* Software Tools Engineer - SW Environment and Product Configuration Sony Mobile Communications *From:* jenkin...@googlegroups.com javascript: [mailto: jenkin...@googlegroups.com javascript:] *On Behalf Of *Jan Molak *Sent:* den 1 augusti 2013 01:48 *To:* jenkin...@googlegroups.com javascript: *Subject:* RE: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it Dear all, It seems that https://github.com/stapler/stapler/commit/48cdf0f3242c6a79bb398e9115c0db7526c42a50 changeset committed to Stapler introduces following issues when Jenkins is used together with the jQuery plugin: 1) st:bind / tag no longer works as advertised in the manual ( https://wiki.jenkins-ci.org/display/JENKINS/AJAX+with+JavaScript+proxy), generating an additional script tag that's trying to include json2.js file, instead of just simply generating a makeStaplerProxy(...) - there's a ticket raised for this already in Jira: https://issues.jenkins-ci.org/browse/JENKINS-18641 2) this will affect any Jenkins plugin that's running on Jenkins 1.521 with jquery-plugin installed that relies on makeStaplerProxy(...) 3) this changeset also breaks the People page on Jenkins (please see the attached screenshot) Even though a fix for 3) is proposed here: https://github.com/jenkinsci/jenkins/commit/8c8219114dcfd5bb2b63715f6aa33465a584a91b, it only addresses a symptom, not the route cause of the problem (Stapler). *All the plugins that rely on makeStaplerProxy will still be affected when the jQuery plugin is present.* May I suggest that 48cdf0f3242c6a79bb398e9115c0db7526c42a50 changeset to Stapler is rolled back? I'm also happy to help fixing this issue, since it's affecting my Build Monitor pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Build+Monitor+Pluginas well :) Kind regards, Jan -- 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 jenkinsci-de...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Autoinstaller plugin providing directory to the PATH
Regarding Custom Tools Plugin, we should thank Ryan Campbell, because he is an author of available versions (0.1 and 0.2) of Custom Tools Plugin. BTW, I'm going to add many sweet features into the next versions :) Best regards, Oleg Nenashev RD Engineer, Synopsys Inc. www.synopsys.com четверг, 1 августа 2013 г., 11:29:04 UTC+4 пользователь Frédéric Camblor написал: Thanks to both of you, I should achieve what I want with these hints/examples :-) @Oleg Didn't knew of this two plugins which sound great ! Unfortunately, I already implemented everything in the NodeJS plugin which should make your Custom Tools Plugin example even easier by not having to write any line of code :-) ... but the initiative is cool to have a simple workaround to install something which hasn't any autoinstaller yet. Thanks again :) Frédéric Camblor http://fcamblor.wordpress.com/ http://www.twitter.com/fcamblor Bordeaux JUG http://bordeauxjug.org/ Leader Jenkins http://jenkins-ci.org/ community member plugin commiter On Thu, Aug 1, 2013 at 8:30 AM, Oleg Nenashev o.v.ne...@gmail.comjavascript: wrote: Hello, Probably, you could use Custom Tools Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Custom+Tools+Plugin. Via this plugin you can specify your own tools and installers. Version 0.3 will add support of the variables and label-specific installation options. If you need to specify path w/o any installation steps, you can use Extra Tool Installers Pluginhttps://wiki.jenkins-ci.org/display/JENKINS/Extra+Tool+Installers+Plugin Best regards, Oleg Nenashev среда, 31 июля 2013 г., 2:07:18 UTC+4 пользователь Frédéric Camblor написал: Hi everyone, I'm lacking in Jenkins API knowledge to be able to provide a specific directory to the PATH variable during a job execution only. My need : I'm enhancing the NodeJS plugin with NodeJS npm auto-installers. Once installed, node has a bin/ directory with potentially lots of executables inside it (when a new npm package is installed, it might add new executable to this bin/ folder). I'd like to provide some build step allowing to add NodeJS installation's bin/ folder to the PATH variable, during a specific build execution. It could then make it possible to call some npm executables during shell executed scripts (such as grunt, bower, jasmine and so on...) I tried appending launcher.env(PATH=/path/to/**node/bin:existing PATH value), but it didn't seemed to work (executable not found). If you have any input/doc to help me, I take it ! :-) Thanks in advance, Frédéric Camblor http://fcamblor.wordpress.com/ http://www.twitter.com/fcamblor Bordeaux JUG http://bordeauxjug.org/ Leader Jenkins http://jenkins-ci.org/ community member plugin commiter -- 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 jenkinsci-de...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Xcode plugin - build version
Hi group, Is there anyway to get the technical version information (from the plist) and use that for part of the generated ipa rather than the jenkins build number ? The build # from Jenkins of course will never be that of what is used in the Xcode build number (technical or marketing). Thanks, Peter -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
[Jenkins Infrastructure] - Can't release plugins. Server is unavailable
Hello, Seems that http://maven.jenkins-ci.org:8081/ address is not available (probably, server is down). I’ve tried to release plugins using different computers and internet providers, but results are same. *Connecting to maven.jenkins-ci.org|199.193.196.24|:8081... failed: Connection timed out. Retrying.* Best regards, Oleg Nenashev RD Engineer, Synopsys Inc. www.synopsys.com -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it
On Thu, Aug 1, 2013 at 7:20 AM, Jan Molak jan.mo...@smartcodeltd.co.uk wrote: for the time being, can we please roll this change set back? I would agree that unless a clearly correct solution can be introduced, this should just be rolled back in Stapler, with a new release cut and the JENKINS-18641 workaround reverted. There are lots of other changes in Stapler since then that fix important bugs we may need to backport to 1.509.3, so inclusion of this change would cause mayhem. (Just checked the CloudBees Templates plugin as an example since it uses st:bind inside script, and it is indeed broken in 1.527-SNAPSHOT when you install jquery.) Alternately, is there some workaround that can be put in jquery-plugin? -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
RE: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it
I took another look at how the bind tag behaved originally, before my change. And it is actually so that it starts by adding an adjunct tag for the bind script. The reason why this has worked in Jenkins before is because the bind script is included via the adjunct manager already in the header via the layout tag, so the inclusion of bind.js in place isn't done at that specific place. So I still claim that the simplest workaround would be to add an adjunct include for json2 as well in proximity to where bind is added, since the explicit inclusion of bind could be interpreted as a workaround in itself. In layout.jelly: !-- we include our own prototype.js, so don't let stapler pull in another. -- st:adjunct assumes=org.kohsuke.stapler.framework.prototype.prototype includes=org.kohsuke.stapler.bind/ st:adjunct assumes=org.kohsuke.stapler.framework.prototype.prototype includes=org.kohsuke.stapler.json2/ But there could be some hidden behavior still in my change once this is solved, so its fine by me if my original change is reverted in stapler, I can keep working with the older versions. I don't have the Jenkins dev environment fully setup where I am at the moment, so it would take a while for me to set it up and test the change. If anyone has it setup and feel they can fix it quicker, then go ahead :) Robert Sandell Software Tools Engineer - SW Environment and Product Configuration Sony Mobile Communications -Original Message- From: jenkinsci-dev@googlegroups.com [mailto:jenkinsci- d...@googlegroups.com] On Behalf Of Jesse Glick Sent: den 1 augusti 2013 15:12 To: jenkinsci-dev@googlegroups.com Subject: Re: JENKINS-18641: Changes to Stapler's JavaScript proxy will break plugins depending on it On Thu, Aug 1, 2013 at 7:20 AM, Jan Molak jan.mo...@smartcodeltd.co.uk wrote: for the time being, can we please roll this change set back? I would agree that unless a clearly correct solution can be introduced, this should just be rolled back in Stapler, with a new release cut and the JENKINS-18641 workaround reverted. There are lots of other changes in Stapler since then that fix important bugs we may need to backport to 1.509.3, so inclusion of this change would cause mayhem. (Just checked the CloudBees Templates plugin as an example since it uses st:bind inside script, and it is indeed broken in 1.527-SNAPSHOT when you install jquery.) Alternately, is there some workaround that can be put in jquery-plugin? -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Cannot access file on Jenkins slave
Hello, Through my own plugin, I need to know about the existence of a file in the workspace of a Jenkins slave. But the file can't be found whereas it really exists on the slave (*D:\workspace\JOB_NAME\test.txt*). public class MyBuilder extends Builder implements Serializable { private static final long serialVersionUID = 1L; public boolean perform(AbstractBuild?, ? build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { FilePath fp = new FilePath(build.getWorkspace(), test.txt); String result = fp.act(new FileCallableString() { private static final long serialVersionUID = 1L; @Override public String invoke(File file, VirtualChannel channel) throws IOException, InterruptedException { if (file.getAbsoluteFile().exists()){ return file.getName() + exists.; } else { return file.getName() + doesn't exist.; } } }); System.out.println(resultat : + result); Result: FATAL: remote file operation failed: D:\workspace\JOB_NAME\test.txt at hudson.remoting.Channel@182752b:Slave hudson.util.IOException2: remote file operation failed: D:\workspace\JOB_NAME\test.txt at hudson.remoting.Channel@182752b:Slave at hudson.FilePath.act(FilePath.java:900) at hudson.FilePath.act(FilePath.java:877) at com.company.tlb.proj.MyBuilder.perform(Unknown Source) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:160) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586) at hudson.model.Run.execute(Run.java:1575) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:237) Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@18b91cb at hudson.remoting.UserRequest.serialize(UserRequest.java:166) at hudson.remoting.UserRequest.init(UserRequest.java:62) at hudson.remoting.Channel.call(Channel.java:671) at hudson.FilePath.act(FilePath.java:893) ... 11 more Caused by: java.io.NotSerializableException: java.io.PrintStream at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) at hudson.remoting.UserRequest._serialize(UserRequest.java:155) at hudson.remoting.UserRequest.serialize(UserRequest.java:164) ... 14 more What am I doing wrong? -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Cannot access file on Jenkins slave
I'm a newbie to Jenkins, and I don't know what's going on, but just in case it catalyzes some ideas: - for your builder it says 'unknown source'. maybe it might be useful to include the source code with your builder so you can get the exact line number of the error (I'm not sure if this is possible?) - the underlying error seems to be 'Caused by: java.io.NotSerializableException: java.io.PrintStream'. This doesn't seem to be related to anything to do with the underlying file you are looking for? Are you sure the error is coming from the existence or not of the file you are looking for, and not something more fundamental, like a broken serializer, or similar, somewhere? -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Cannot access file on Jenkins slave
On Thu, Aug 1, 2013 at 10:20 AM, Stéphane Bruckert stephane.bruck...@gmail.com wrote: String result = fp.act(new FileCallableString() { This is an antipattern: a FileCallable is Serializable, so if you make it an anonymous inner class, it picks us this$ references to the enclosing scope. Just make it a static nested class so you can control all its fields. (I have a to-do item for the NetBeans plugin for Jenkins development to flag this mistake with a warning.) -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Cannot access file on Jenkins slave
Hi, Why not calling fp.exists() [1] directly? The FilePath instance is already a pointer to the remote filesystem. Vincent [1] http://javadoc.jenkins-ci.org/hudson/FilePath.html#exists%28%29 2013/8/1 Jesse Glick jgl...@cloudbees.com On Thu, Aug 1, 2013 at 10:20 AM, Stéphane Bruckert stephane.bruck...@gmail.com wrote: String result = fp.act(new FileCallableString() { This is an antipattern: a FileCallable is Serializable, so if you make it an anonymous inner class, it picks us this$ references to the enclosing scope. Just make it a static nested class so you can control all its fields. (I have a to-do item for the NetBeans plugin for Jenkins development to flag this mistake with a warning.) -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Cannot access file on Jenkins slave
This is working for me: FilePath setupDetailsFile = build.getWorkspace().child(filename.txt) On Thu, Aug 1, 2013 at 7:20 AM, Stéphane Bruckert stephane.bruck...@gmail.com wrote: Hello, Through my own plugin, I need to know about the existence of a file in the workspace of a Jenkins slave. But the file can't be found whereas it really exists on the slave (*D:\workspace\JOB_NAME\test.txt*). public class MyBuilder extends Builder implements Serializable { private static final long serialVersionUID = 1L; public boolean perform(AbstractBuild?, ? build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { FilePath fp = new FilePath(build.getWorkspace(), test.txt); String result = fp.act(new FileCallableString() { private static final long serialVersionUID = 1L; @Override public String invoke(File file, VirtualChannel channel) throws IOException, InterruptedException { if (file.getAbsoluteFile().exists()){ return file.getName() + exists.; } else { return file.getName() + doesn't exist.; } } }); System.out.println(resultat : + result); Result: FATAL: remote file operation failed: D:\workspace\JOB_NAME\test.txt at hudson.remoting.Channel@182752b:Slave hudson.util.IOException2: remote file operation failed: D:\workspace\JOB_NAME\test.txt at hudson.remoting.Channel@182752b:Slave at hudson.FilePath.act(FilePath.java:900) at hudson.FilePath.act(FilePath.java:877) at com.company.tlb.proj.MyBuilder.perform(Unknown Source) at hudson.tasks.BuildStepMonitor$1.perform(BuildStepMonitor.java:19) at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:804) at hudson.model.Build$BuildExecution.build(Build.java:199) at hudson.model.Build$BuildExecution.doRun(Build.java:160) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:586) at hudson.model.Run.execute(Run.java:1575) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:237) Caused by: java.io.IOException: Unable to serialize hudson.FilePath$FileCallableWrapper@18b91cb at hudson.remoting.UserRequest.serialize(UserRequest.java:166) at hudson.remoting.UserRequest.init(UserRequest.java:62) at hudson.remoting.Channel.call(Channel.java:671) at hudson.FilePath.act(FilePath.java:893) ... 11 more Caused by: java.io.NotSerializableException: java.io.PrintStream at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1164) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1518) at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1483) at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1400) at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1158) at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:330) at hudson.remoting.UserRequest._serialize(UserRequest.java:155) at hudson.remoting.UserRequest.serialize(UserRequest.java:164) ... 14 more What am I doing wrong? -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- Marc MacIntyre -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Bytecode Compatibility Transformer
Thanks for the feedback. On 07/31/2013 04:32 PM, Jesse Glick wrote: On Tue, Jul 30, 2013 at 7:38 PM, Kohsuke Kawaguchi kkawagu...@cloudbees.com wrote: @AdaptField protected volatile DescribableList... triggers = ... @AdaptField(DESCRIPTOR) @Restricted(NoExternalUse.class) public static DescriptorImpl _getDescriptor() { return ...; } From an API design perspective this seems like an overly specific (inflexible) annotation; there are a bunch of kinds of signature change that people commonly want to make for which bytecode transformation of clients would be necessary, and this annotation seems to cover just two. (Changing field type, and replacing final field access with a method call.) Can we instead define a general annotation to be applied to any member whose signature has changed (or which has a nested element whose signature has changed or been removed), with a reference to a transformation? This would let people write modules offering fixes for other changes like renamed methods, etc.: @Transformed(by=MethodRenamed.class, info=toURL) public URL toUrl() {…} I think this would be better served as a set of annotations with a common meta-annotation. I've modified the code accordingly and pushed the change. Not letting the client code write their own transformers is actually a conscious choice. This is because ASM changes signatures with every class file revision. If we want to add more transformation rules, let's add them to this library. Here @Transformed would be the general marker which class loaders could scan for (or which could even be indexed during compilation for runtime efficiency); MethodRenamed would implement the specific bytecode changes; and the option toURL (i.e. previous name) could be passed to the transformer. Specifically: @Retention(CLASS) @interface Transformed { Class? extends Transformer by(); String[] info() default {}; } Maybe too much work to justify the effort, but thought I would put it out there. -- Kohsuke Kawaguchi | CloudBees, Inc. | http://cloudbees.com/ Try Jenkins Enterprise, our professional version of Jenkins -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
New Plugin Available - OWASP Dependency-Check
I developed a Jenkins plugin that brings the functionality of OWASP Dependency-Check to Jenkins. Dependency-Check is a utility that detects publicly disclosed vulnerabilities in project dependencies. https://www.owasp.org/index.php/OWASP_Dependency_Check The plugin is built using analysis-core and has many of the same features as the Findbugs and PMD plugins. I'd like to make the plugin available via the jenkins plugin repo. My github account is: https://github.com/stevespringett The github repo the plugin is hosted at is: https://github.com/jeremylong/dependency-check-jenkins --Steve -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Requesting committer access for a new plug-in repository (mesos-plugin)
We'd like to develop our Mesos plugin for Jenkins on the Jenkins GitHub organization: https://issues.apache.org/jira/browse/MESOS-608 Can you create a 'mesos-plugin' repo and give GitHub ids 'caniszczyk' and 'vinodkone' admin access to it? I'm not sure how this process exactly works here :) -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Cannot access file on Jenkins slave
Just make it a static nested class so you can control all its fields. Currently, the documentation explicitly shows using a nested anonymous class: http://javadoc.jenkins-ci.org/hudson/FilePath.html#exists%28%29 I tried to reproduce the problem on linux, and failed to reproduce it. My test code is below. I'm curious why the code runs on linux but not on Windows? Serialization and so on should behave identically on both platforms I would think? public class StephaneBuilder extends Builder implements Serializable { private static final long serialVersionUID = 1L; @DataBoundConstructor public StephaneBuilder() { } public boolean perform(AbstractBuild?, ? build, Launcher launcher, BuildListener listener) throws InterruptedException, IOException { listener.getLogger().println(perform start); listener.getLogger().println(InetAddress.getLocalHost().getHostName()); FilePath fp = new FilePath(build.getWorkspace(), test.txt); listener.getLogger().println(file + fp.getRemote() + + fp.exists() ); String result = fp.act(new FileCallableString() { private static final long serialVersionUID = 1L; @Override public String invoke(File file, VirtualChannel channel) throws IOException, InterruptedException { StringBuilder stringBuilder = new StringBuilder(); if (file.getAbsoluteFile().exists()){ stringBuilder.append( file.getName() + exists. ); } else { stringBuilder.append( file.getName() + doesn't exist. ); } stringBuilder.append(\nhost: + InetAddress.getLocalHost().getHostName() ); return stringBuilder.toString(); } }); try { listener.getLogger().println(launcher.getChannel().call(new CallableString,Throwable(){ private static final long serialVersionUID = 5093762087527902486L; @Override public String call() throws Throwable { StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append(channel callable call); stringBuilder.append(\nhost: + InetAddress.getLocalHost().getHostName() ); return stringBuilder.toString(); } })); } catch( Throwable e ) { listener.getLogger().println(e.getMessage()); e.printStackTrace(listener.getLogger()); } listener.getLogger().println(result: + result ); System.out.println(resultat : + result); return true; } @Extension public static class DescriptorImpl extends DescriptorBuilder { @Override public String getDisplayName() { return StephaneBuilder; } } } Output: Started by user anonymous http://localhost:8080/user/null Building remotely on ubuntu64 http://localhost:8080/computer/ubuntu64 in workspace /home/ubuntu/slave/workspace/stephanetestubuntu64 perform start watermelon.localdomain file /home/ubuntu/slave/workspace/stephanetestubuntu64/test.txt true channel callable call host: domU-12-31-39-0A-3C-D0.compute-1.internal result: test.txt exists. host: domU-12-31-39-0A-3C-D0.compute-1.internal Finished: SUCCESS -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Plugin not shown up
I finished built a plugin and I uploaded to a Jenkins server that I need to run this plugin. After uploading, I can see the plugin in the manage plugin page but the plugin is not showing up in the configuration page and the job build step page. It all works in my local Jenkins instance. Does anyone know why this happen? Thanks -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Plugin not shown up
Yes. I restarted Jenkins, and I tried to upload it both way (from UI and drag and drop to the plugin folder). I did maven clean several times and tried several times, it still doesn't work. You mentioned log file, where can I find it? Thanks, On Thursday, August 1, 2013 12:58:15 PM UTC-7, Daniel Beck wrote: Did you restart Jenkins? How did you upload, via the UI, or directly into the plugins folder? Anything interesting in the log file? On 01.08.2013, at 21:52, Zhengyuan Shen esdo...@gmail.com javascript: wrote: I finished built a plugin and I uploaded to a Jenkins server that I need to run this plugin. After uploading, I can see the plugin in the manage plugin page but the plugin is not showing up in the configuration page and the job build step page. It all works in my local Jenkins instance. Does anyone know why this happen? Thanks -- 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 jenkinsci-de...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Plugin not shown up
The log file location depends on your OS and how you installed Jenkins. But it's available from the UI as well: 'Manage Jenkins » System Log » All Logs'. On 01.08.2013, at 22:03, Zhengyuan Shen esdot...@gmail.com wrote: Yes. I restarted Jenkins, and I tried to upload it both way (from UI and drag and drop to the plugin folder). I did maven clean several times and tried several times, it still doesn't work. You mentioned log file, where can I find it? Thanks, On Thursday, August 1, 2013 12:58:15 PM UTC-7, Daniel Beck wrote: Did you restart Jenkins? How did you upload, via the UI, or directly into the plugins folder? Anything interesting in the log file? On 01.08.2013, at 21:52, Zhengyuan Shen esdo...@gmail.com wrote: I finished built a plugin and I uploaded to a Jenkins server that I need to run this plugin. After uploading, I can see the plugin in the manage plugin page but the plugin is not showing up in the configuration page and the job build step page. It all works in my local Jenkins instance. Does anyone know why this happen? Thanks -- 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 jenkinsci-de...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: [Jenkins Infrastructure] - Can't release plugins. Server is unavailable
Anyway, upload works well now... Thanks for fix (if it has been done) четверг, 1 августа 2013 г., 16:09:34 UTC+4 пользователь Oleg Nenashev написал: Hello, Seems that http://maven.jenkins-ci.org:8081/ address is not available (probably, server is down). I've tried to release plugins using different computers and internet providers, but results are same. *Connecting to maven.jenkins-ci.org|199.193.196.24|:8081... failed: Connection timed out. Retrying.* Best regards, Oleg Nenashev RD Engineer, Synopsys Inc. www.synopsys.com -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Plugin not shown up
Aug 1, 2013 1:41:20 PM hudson.ExtensionFinder$Sezpoz scout WARNING: Failed to scout com.xxx.jenkins.test$DescriptorImpl java.lang.InstantiationException: file:/F:/Jenkins/plugins/test/WEB-INF/classes/META-INF/annotations/hudson.Extension might need to be rebuilt: java.lang.ClassNotFoundException: com.xxx.jenkins.test$DescriptorImpl This the error I get from the log. Any suggestions? Thanks! On Thursday, August 1, 2013 1:25:48 PM UTC-7, Daniel Beck wrote: The log file location depends on your OS and how you installed Jenkins. But it's available from the UI as well: 'Manage Jenkins » System Log » All Logs'. On 01.08.2013, at 22:03, Zhengyuan Shen esdo...@gmail.com javascript: wrote: Yes. I restarted Jenkins, and I tried to upload it both way (from UI and drag and drop to the plugin folder). I did maven clean several times and tried several times, it still doesn't work. You mentioned log file, where can I find it? Thanks, On Thursday, August 1, 2013 12:58:15 PM UTC-7, Daniel Beck wrote: Did you restart Jenkins? How did you upload, via the UI, or directly into the plugins folder? Anything interesting in the log file? On 01.08.2013, at 21:52, Zhengyuan Shen esdo...@gmail.com wrote: I finished built a plugin and I uploaded to a Jenkins server that I need to run this plugin. After uploading, I can see the plugin in the manage plugin page but the plugin is not showing up in the configuration page and the job build step page. It all works in my local Jenkins instance. Does anyone know why this happen? Thanks -- 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 jenkinsci-de...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-de...@googlegroups.com javascript:. For more options, visit https://groups.google.com/groups/opt_out. -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.
Re: Plugin not shown up
hudson.Extension is built by the sezpoz annotation processor. The maven goal associated with this is 'compiler:compile'. This file will be in your plugin project directory in the 'target/classes' subdirectory, ie 'target/classes/META-INF/annotations/hudson.Extension You want to first check whether the file exists in target/classes/META-INF/annotations/hudson.Extension. If it does, then there's an issue with your packaging. Retry 'mvn -DskipTests install' or 'mvn -DskipTests package'. If the file doesn't exist, then the annotation processor didn't run - are you sure you have at least one class annotated with @Extension? - try running 'mvn clean' followed by 'mvn compile', which will trigger the goal 'compiler:compile' -- 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 jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.