I've got a small question regarding dependency management with modules.
Basic setup
Application dependencies.yml:
require:
- play
- play -> depmodule 1.0
Module:
self: play -> depmodule $version
require:
- play
- rome 0.9:
transitive: false
When calling "play dependencies" in the module, rome is downloaded and
put into the lib/ directory.
When starting the application everything is fine then. However, when the
module does not have the needed libraries in the lib/ directory, it will
break.
My first thought was, this is a bug, but I guess it actually is a
feature. So the question is:
Are module dependencies in an application resolved transitive or has the
module maintainer to do this work?
If so, why is it useful to add the module in the application preferences
anyway?
Thanks for any help...
--Alexander
> --
> You received this message because you are subscribed to the Google Groups
> "play-framework" group.
> To post to this group, send email to play-fr...@googlegroups.com.
> To unsubscribe from this group, send email to
> play-framewor...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/play-framework?hl=en.
>
>
--
Guillaume Bort, http://guillaume.bort.fr
For anything work-related, use g...@zenexity.fr; for everything else,
write guillau...@gmail.com
and this dependencies.yml for the module:# Application dependenciesrequire:- play- test 1.0repositories:- Test:type: localartifact: "${play.path}/[module]-[revision]"descriptor: "${play.path}/[module]-[revision]/conf/dependencies.yml"contains:- test
After running 'play dependencies' the guava jars will be added to the app lib directory.self: test -> test 1.0require:- com.google.guava -> guava r07
It doesn't matter as all lib directory are merged at runtime.
dependencies.yml:~ Oops, malformed dependencies.yml descriptor:~~ while parsing a block collection~ in "<reader>", line 4, column 5:~ - org.neo4j -> neo4j 1.3:~ ^~ expected <block end>, but found Key~ in "<reader>", line 5, column 5:~ exclude:~ ^~~:: resolution report :: resolve 660ms :: artifacts dl 178ms
I used the example in the docs, what am I doing wrong?require:- org.neo4j -> neo4j 1.3:exclude:- neo4j-udc -> 1.3
self: neo4j -> neo4j 1.0
require:- org.neo4j -> neo4j 1.3:exclude:
Output:- neo4j-udc -> *- neo4j-jmx -> *- osgi_R4_core -> *- osgi_R4_compendium -> *
~ Installing resolved dependencies,~~ modules/greenscript-1.2b~ modules/neo4j-1.0 -> /home/donovan/dev/workspace/bizhive-workspace/neo4j-1.0~ lib/neo4j-1.3.jar~ lib/neo4j-kernel-1.3.jar~ lib/neo4j-lucene-index-1.3.jar~ lib/neo4j-graph-algo-1.3.jar~ lib/neo4j-udc-1.3.jar~ lib/neo4j-jmx-1.3.jar~ lib/geronimo-jta_1.1_spec-1.1.1.jar~ lib/org.apache.servicemix.bundles.lucene-3.0.1_2.jar~ lib/osgi_R4_core-1.0.jar~ lib/osgi_R4_compendium-1.0.jar
--
require:
- play
- org.neo4j -> neo4j 1.3:
exclude:
- org.neo4j -> neo4j-jmx
- org.neo4j -> neo4j-udc
- org.osgi
The correct syntax is organization -> name version
--
Guillaume Bort, http://guillaume.bort.fr
--
You received this message because you are subscribed to the Google Groups "play-framework" group.
To unsubscribe from this group and stop receiving emails from it, send an email to play-framewor...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/play-framework/2fe78cb2-8b1e-4384-a463-652a4e37d4aa%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.