Mitch,
Thanks for replying. It does appear that I should be specifying com.sun.jersey as the org, but in our case the WAR file in question is produced by our build system and contains all of the pieces (JSR-311, asm, jersey jars, etc.) required by our application. The module that has the dependency is in a separate application (even separate SCM system) and I am consuming the WAR as such. I am using a packager resolver to expand the WAR so I can have access to its contents. What I need is the set of jars as a class path (using ivy:cachepath), but I do not want to specify the artifacts explicitly in the dependency. This is why I want to use the matcher attribute for the include. Thanks, Pete On Sat, Nov 14, 2009 at 11:33 PM, Mitch Gitman <[email protected]> wrote: > Pete, one thing odd I notice about your dependency snippet is that you're > specifying name="com.sun.jersey" but you're not specifying an org > attribute. > And actually, it looks like "com.sun.jersey" is really your org in this > case, not the module as specified by the name attribute you're using. > > Just try changing that one attribute from name to org and see what happens. > > I don't quite understand what you mean when you write: "The artifacts are > resolved using a packager that expands a war file. Given that I do not > control the number of artifacts in the war..." Ideally, if you do control > the thing you depend on, you wouldn't be sifting through the artifacts to > include via the include in the dependent module. Instead, you would be > encapsulating those different artifacts' inclusion behind confs in the > depended-upon module itself. > > On Fri, Nov 13, 2009 at 10:40 AM, Peter Hale <[email protected]> wrote: > > > I have a module that has a dependency on a number of jar files which all > > come from the same dependency. The artifacts are resolved using a > packager > > that expands a war file. Given that I do not control the number of > > artifacts > > in the war I would like to use include elements that ask for all > artifacts > > of type jar. > > > > This is how the dependency is coded in my ivy.xml: > > > > <dependency name="com.sun.jersey" rev="1.0.2.0" > > > <include name="*" matcher="glob" type="jar"/> > > </dependency> > > > > and when I run the build the resolve fails stating the file <resolver > > path>/com.sun.jersey/1.0.2.0/jars/com.sun.jersey.jar cannot be resolved. > > > > If I change the name attribute to include part of the name for a file I > > knows exists, asm-3.1.jar, the resolve fails with the message: > > > > ERROR: a required artifact is not listed by module descriptor: > *#*!asm*.jar > > > > <dependency name="com.sun.jersey" rev="1.0.2.0" > > > <include name="asm*" matcher="glob" type="jar"/> > > </dependency> > > > > The question is am I using this feature correctly? > > > > The documentation seems to support what I am trying (from Ivy dependency > > include html page) > > > > "the name of an artifact of the dependency module to add to the include > > list, or an expression matching this name (see matcher attribute below)" > > > > Thank you, > > > > Pete > > >
