Re: why does maven use /bin/sh -c ls -1lna /djb3/... just to get a file attribute?

2011-01-13 Thread Wayne Fay
 [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?

2011-01-13 Thread Laird Nelson
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?

2011-01-13 Thread Wayne Fay
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?

2011-01-13 Thread Kristian Rosenvold
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