Re: why does maven use /bin/sh -c ls -1lna /djb3/... just to get a file attribute?
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.3.1:jar (default-jar) on project svnkit: Error assembling JAR: Failed to read filesystem attributes for: /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml: Failed to retrieve numeric file attributes using: '/bin/sh -c ls -1nlad /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml': Error while executing process. Child creation error: no such file or directory - [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] Well, what does it look like when you run with -e or -X? Don't send the full output back to the list -- post it at pastebin.org and send us a link, unless you can chop it down to the bare minimum of info yourself. How can java catch file system attributes better? Why do we use a Unix shell command to create a child prozess (sub-process in openvms) by Java just to catch a file system attribute? You'd have to ask the JDK folks these questions. What JDK are you using, and from what vendor? But it seems that on my OpenVMS with default DCL command language, the maven version 3 under java and a JVM attempts to place a command which should create a child process just to execute a ls command used to retrieve a file attribute. Most likely the Java code written by the Maven team (or Java code being used in Maven that is actually from plexus-utils or another library) is simply leveraging standard Java file io routines which happen to use the child process to execute ls etc. If there was a better way to get this information, I'd expect it would have been implemented, or perhaps OpenVMS is just not very well supported by the Java platform? Maybe you could dig deep into the code (debug Maven, plexus, and the jdk itself in Netbeans or something), find where this child process thing is coming from, and offer up a patch to the appropriate party? I call it a style break, we should not do it from Java and not assume Unix or the like shells avail, or we are at risk that over time fewer system will support what maven attempts to do. This has very little to do with Maven, and is primarily the fault of the JDK on OpenVMS. I would assume that a better approach to finding the file attributes is available, but no one cares enough about OpenVMS to implement it or pay for it? You are literally the only person I've seen post questions on this list about OpenVMS (Nabble archives reveal 1 other person has posted about it minimally) so it seems to be a pretty low-use OS, at least as far as Maven is concerned. Wayne - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: why does maven use /bin/sh -c ls -1lna /djb3/... just to get a file attribute?
Hi, Wayne; this has nothing to do with the JDK and everything to do with Plexus. http://plexus.codehaus.org/plexus-components/plexus-io/xref/org/codehaus/plexus/components/io/attributes/PlexusIoResourceAttributeUtils.html#255 Best, Laird On Thu, Jan 13, 2011 at 1:51 PM, Wayne Fay wayne...@gmail.com wrote: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.3.1:jar (default-jar) on project svnkit: Error assembling JAR: Failed to read filesystem attributes for: /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml: Failed to retrieve numeric file attributes using: '/bin/sh -c ls -1nlad /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml': Error while executing process. Child creation error: no such file or directory - [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] Well, what does it look like when you run with -e or -X? Don't send the full output back to the list -- post it at pastebin.org and send us a link, unless you can chop it down to the bare minimum of info yourself. How can java catch file system attributes better? Why do we use a Unix shell command to create a child prozess (sub-process in openvms) by Java just to catch a file system attribute? You'd have to ask the JDK folks these questions. What JDK are you using, and from what vendor? But it seems that on my OpenVMS with default DCL command language, the maven version 3 under java and a JVM attempts to place a command which should create a child process just to execute a ls command used to retrieve a file attribute. Most likely the Java code written by the Maven team (or Java code being used in Maven that is actually from plexus-utils or another library) is simply leveraging standard Java file io routines which happen to use the child process to execute ls etc. If there was a better way to get this information, I'd expect it would have been implemented, or perhaps OpenVMS is just not very well supported by the Java platform? Maybe you could dig deep into the code (debug Maven, plexus, and the jdk itself in Netbeans or something), find where this child process thing is coming from, and offer up a patch to the appropriate party? I call it a style break, we should not do it from Java and not assume Unix or the like shells avail, or we are at risk that over time fewer system will support what maven attempts to do. This has very little to do with Maven, and is primarily the fault of the JDK on OpenVMS. I would assume that a better approach to finding the file attributes is available, but no one cares enough about OpenVMS to implement it or pay for it? You are literally the only person I've seen post questions on this list about OpenVMS (Nabble archives reveal 1 other person has posted about it minimally) so it seems to be a pretty low-use OS, at least as far as Maven is concerned. Wayne - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: why does maven use /bin/sh -c ls -1lna /djb3/... just to get a file attribute?
Thanks Laird! I actually looked (very briefly) for this code but I was looking in plexus-utils, not plexus-components, doh. Surely there is a better way to implement this. I need to trace this code around and figure out why its doing this and see if maybe we can use another approach to get the same results, without invoking a child shell to exec ls etc. Wayne On Thu, Jan 13, 2011 at 1:00 PM, Laird Nelson ljnel...@gmail.com wrote: Hi, Wayne; this has nothing to do with the JDK and everything to do with Plexus. http://plexus.codehaus.org/plexus-components/plexus-io/xref/org/codehaus/plexus/components/io/attributes/PlexusIoResourceAttributeUtils.html#255 Best, Laird On Thu, Jan 13, 2011 at 1:51 PM, Wayne Fay wayne...@gmail.com wrote: [ERROR] Failed to execute goal org.apache.maven.plugins:maven-jar-plugin:2.3.1:jar (default-jar) on project svnkit: Error assembling JAR: Failed to read filesystem attributes for: /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml: Failed to retrieve numeric file attributes using: '/bin/sh -c ls -1nlad /dkb3/sw-projekte/asf/svnkit/tags/1_3_3/pom.xml': Error while executing process. Child creation error: no such file or directory - [Help 1] [ERROR] [ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch. [ERROR] Re-run Maven using the -X switch to enable full debug logging. [ERROR] Well, what does it look like when you run with -e or -X? Don't send the full output back to the list -- post it at pastebin.org and send us a link, unless you can chop it down to the bare minimum of info yourself. How can java catch file system attributes better? Why do we use a Unix shell command to create a child prozess (sub-process in openvms) by Java just to catch a file system attribute? You'd have to ask the JDK folks these questions. What JDK are you using, and from what vendor? But it seems that on my OpenVMS with default DCL command language, the maven version 3 under java and a JVM attempts to place a command which should create a child process just to execute a ls command used to retrieve a file attribute. Most likely the Java code written by the Maven team (or Java code being used in Maven that is actually from plexus-utils or another library) is simply leveraging standard Java file io routines which happen to use the child process to execute ls etc. If there was a better way to get this information, I'd expect it would have been implemented, or perhaps OpenVMS is just not very well supported by the Java platform? Maybe you could dig deep into the code (debug Maven, plexus, and the jdk itself in Netbeans or something), find where this child process thing is coming from, and offer up a patch to the appropriate party? I call it a style break, we should not do it from Java and not assume Unix or the like shells avail, or we are at risk that over time fewer system will support what maven attempts to do. This has very little to do with Maven, and is primarily the fault of the JDK on OpenVMS. I would assume that a better approach to finding the file attributes is available, but no one cares enough about OpenVMS to implement it or pay for it? You are literally the only person I've seen post questions on this list about OpenVMS (Nabble archives reveal 1 other person has posted about it minimally) so it seems to be a pretty low-use OS, at least as far as Maven is concerned. Wayne - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org
Re: why does maven use /bin/sh -c ls -1lna /djb3/... just to get a file attribute?
I have looked at this code earlier, and it actually forks *2* shells to get file attributes when creating any kind of xAR archive. There is definitely room for improvement here, especially on the posix implementation. The last time I googled this it was not as trivial as one could think. It's quite far down on the list of my priorities, but if anyone makes a patch for this it *will* be reviewed ;) Kristian - To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org