----- Original Message ----- From: "Adam R. B. Jack" <[EMAIL PROTECTED]> To: "Gump code and data" <[EMAIL PROTECTED]> Sent: Tuesday, January 06, 2004 5:37 PM Subject: Re: [PATCH] HttpClient HEAD dependencies
> > Also, I'd be interested to know what a "runtime" dependency is - I did not > > see this anywhare in the Gump docs. > > Runtime was one of the things that got me most in creating the classpath > code for Python Gump. It is simple, but my heads somehow fails to get clear > on it. > > Actually, there is reference in the docs: > http://jakarta.apache.org/gump/metadata/project.html#depend > > It says (for these two attributes): > > inherit: > > "runtime" which will only copy the runtime dependencies > > runtime: > > Specifies whether this dependency is needed at runtime. Choices are > "true" and "false" with the default being false. But that does not tell me what runtime means ... see below. > > That said, not sure this is clear (as I now understand it), see below. > > > Does it mean that the dependency is not needed at compile-time? > > And if a project has compile, javadoc and test targets, which of these get > > the dependency? > > Good question. There are two things on a dependency, i.e. inherit="runtime" > (go get things I need at runtime) and runtime="true" (this is needed at > runtime for when somebody inherits). > Suppose we have: project A depend project=B1 inherit=runtime runtime=true depend project=B2 inherit=runtime runtime=false project C depend project=A inherit=runtime If I've understood correctly, project C will inherit the runtime dependencies of project A, i.e B1 in this case. So the runtime attribute affects which of the dependencies are considered when another project uses inherit=runtime on the original project. I think I understand how the inherit relates to the runtime attribute - see above. I don't understand how the runtime attribute is used *within* a project. > At compile time a project only needs the things it needs for compiling to an > interface (i.e. class signatures and classes that pass through it). As such > the "runtime" dependencies ought be more than simply interface/compile-time. > Depending on what is meant by "runtime" (this is where I came unstuck!). For example JMeter has several types of dependency: - compile - test (needs the same jars as compile, plus the jars created from the complied classes) - printable docs (uses Anakia - which is not needed elsewhere - and does not need all the other jars) So which of these are "runtime"? > BTW: Writing this I wonder if I ought go revisit the code to see if it is > clear in there. I suspect it is working as intended, but I don't think this > is used as strictly as it once might have been. Bloated classpaths don't > often cause problems, so we might not know from successful runs. The Python web output should help here as it shows the classpath contributions. S. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
