Thanks Hans - I specified a reference to a local copy using a
FileSystemResolver and it worked fine.

I have a related question about dependencies, and I'm probably going to show
my ignorance with Ivy here, but here goes.  ;)

I'm trying to create a 'multi-project' web application with dependencies on
a 'core' custom library that is basically driven by Spring and Hibernate.  I
can specify my dependencies fine for compile time, and the project compiles
fine.  However, when I try to run "gradle dists" I run into issues with what
I assume are "runtime dependencies" from my "compile dependencies" as I see
non-optional Hibernate dependencies are pulled down (i.e. ehcache,
asm-attrs, etc.).  But for Sun jars, such as 'jta.jar' these aren't
available in the Maven repository (I assume due to license).  However, the
Hibernate POM describes this dependency as required and therefore I assume
Ivy tries to retrieve it, fails, and the build terminates.

Is my only recourse here to create my own clientModule with the correct
dependencies or is there some way I can 'override' where this one dependency
is looked up?  It doesn't seem to follow any of the classpathResolvers.add()
that I specified, and always (only) looks to the Maven rep.

Thanks in advance,

Phil..



hdockter wrote:
> 
> Hi Phil,
> 
> On May 7, 2008, at 5:29 PM, pbarnes wrote:
> 
>>
>> ...and of course, 5 minutes after I post, I think I see the issue.   
>> In the
>> file '/Users/pbarnes/.ivy2/cache/org.apache.velocity/velocity/ 
>> ivy-1.5.xml',
>> the lines:
>>
>> <publications>
>>       <artifact name="velocity" type="pom" ext="pom" conf="master"/>
>> </publications>
>>
>> If I understand Ivy correctly, this is the only artifact that would  
>> get
>> generated, so no JAR file is defined?  And since I assume  
>> ivy-1.5.xml is
>> created from the .pom file, is it an issue with the .pom?
>>
>> And if all of this is correct, this is one of those special cases  
>> that I
>> need to define my own dependency (or repository)? ;)
> 
> The velocity pom in the maven repository is faulty. It sets its  
> packaging to pom instead of jar.
> 
> See: https://issues.apache.org/jira/browse/VELOCITY-526
> 
> To deal with this kind of problems you either have put a corrected  
> pom in your own Maven repository (that's the way you HAVE to do it  
> when using Maven).
> 
> Or you might use Gradle's client modules, where you can express  
> transitive dependencies without relying on a pom.
> 
> dependencies {
>      clientModule(['compile'], "org.apache.velocity:velocity:1.5") {
>         dependencies("commons-collection:commons-collections:3.1",  
> "commons-lang:commons-lang:2.1", "oro:oro:2.0.8")
>     }
> }
> 
> - Hans
> 
>>
>> Thanks again.
>>
>> Phil..
>>
>>
>> pbarnes wrote:
>>>
>>> Hi,
>>>
>>> I seem to be having an issue with specifying dependencies  
>>> correctly.  I
>>> created a sample project to test what I'm doing wrong:
>>>
>>> test\
>>> test\gradlefile
>>> test\src\
>>> test\src\CustomVelocityEngine.java
>>>
>>> My gradlefile is as follows:
>>>
>>> usePlugin('java')
>>>
>>> sourceCompatibility = 1.5
>>> targetCompatibility = 1.5
>>>
>>> srcDirNames = ["/"]
>>>
>>> dependencies {
>>>     addMavenRepo()
>>>     compile "org.apache.velocity:velocity:1.5"
>>> }
>>>
>>>
>>> My CustomVelocityEngine.java is just a blank file for test purposes:
>>>
>>> public class CustomVelocityEngine extends
>>> org.apache.velocity.app.VelocityEngine {
>>>   // just a compile test
>>> }
>>>
>>>
>>> When I run:
>>>
>>> gradle compile
>>>
>>> I get a compilation error as follows:
>>>
>>> Executing: :compile
>>> :: resolving dependencies :: unspecified#test;unspecified
>>>     confs: [compile]
>>>     found org.apache.velocity#velocity;1.5 in MavenRepo
>>> downloading
>>> http://repo1.maven.org/maven2/org/apache/velocity/velocity/1.5/ 
>>> velocity-1.5.pom
>>> ...
>>>     [SUCCESSFUL ] org.apache.velocity#velocity;1.5!velocity.pom (76ms)
>>>     [javac] Compiling 1 source file to
>>> /Users/pbarnes/code/java/projects/test/build/classes
>>> /Users/pbarnes/code/java/projects/test/src/ 
>>> CustomVelocityEngine.java:1:
>>> package org.apache.velocity.app does not exist
>>> public class CustomVelocityEngine extends
>>> org.apache.velocity.app.VelocityEngine {
>>>                                                                  ^
>>> 1 error
>>>
>>>
>>> So I thought the issue was in downloading the dependency.  I reran  
>>> gradle
>>> with the -d option and noticed this line looked odd, like it actually
>>> added the 'POM' file to the classpath instead of jar files:
>>>
>>> 11:06:13.722 [main] DEBUG o.gradle.api.tasks.compile.AntJavac - Add
>>> /Users/pbarnes/.ivy2/cache/org.apache.velocity/velocity/poms/ 
>>> velocity-1.5.pom
>>> to Ant classpath!
>>> Adding reference: compile.classpath
>>>
>>> I'm not an expert with Ivy, but I guess I would have expected Ivy to
>>> download the dependencies (which look correct in
>>> '/Users/pbarnes/.ivy2/cache/org.apache.velocity/velocity/ 
>>> ivy-1.5.xml') and
>>> added those jars to the classpath.
>>>
>>> I'm guessing I've misconfigured something?
>>>
>>> Thanks in advance,
>>>
>>> Phil..
>>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Issue-with- 
>> Velocity-1.5-dep-and-Gradle-0.1.4-tp17106235p17106415.html
>> Sent from the gradle-user mailing list archive at Nabble.com.
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe from this list, please visit:
>>
>>     http://xircles.codehaus.org/manage_email
>>
>>
> 
> --
> Hans Dockter
> Gradle Project lead
> http://www.gradle.org
> 
> 
> 
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Issue-with-Velocity-1.5-dep-and-Gradle-0.1.4-tp17106235p17155069.html
Sent from the gradle-user mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to