[Design of JBoss Build System] - Re: Shared Parent POM for dependencyManagement
by adrian@jboss.org
"dimitris(a)jboss.org" wrote :
| So the important bit is to make sure we fix those duplicate imports.
It's more complicated than that.
Let me give you an example of why the maven transitive dependencies
stuff is broken (or at least impossible to manage effectively).
X->Y means X depends on Y
Lets suppose you have a util project with two versions
common-core:1.0.0
common-core:1.0.1
then you have
jbossxb:2.0.0 -> common-core:1.0.0
Now you have a project that uses both (but a different version of common-core)
jbossmc:2.0.0 -> jbossxb:2.0.0
jbossmc:2.0.0 -> common-core:1.0.1
Which gets used? common-core:1.0.1 of course (it is explicit)
You have another project that does
jboss-deployers:2.0.0 -> jbossmc:2.0.0
jboss-deployers:2.0.0 -> jbossxb:2.0.0
Now which version of common-core gets used?
The answer is common-core:1.0.1 because jbossmc is first in the list
Finally here's the problem
jbossas:5.0.0 -> jboss-deployers:2.0.0
jbossas:5.0.0 -> jbossxb:2.0.0
The version that gets used is common-core:1.0.0
Why?
Even though jboss-deployers resolves to common-core:1.0.1 and it
is first on the list, its link to common-core is two steps away,
but jbossxb's link is one step away.
Stupid.
The only answer is go through all the poms and check them
(what I call baby sitting).
if you get the wrong answer then either do an exclusion or list the
dependency you want explicitly.
BUT DO YOU REALLY KNOW THAT YOU SHOULD BE USING common-core:1.0.1?
What if you listed jbossxb before jboss-deployers in the jbossas project?
The fundamental problem is that maven has no idea that 1.0.1 is after 1.0.0
and that regardless of where it is in the dependency hierarchy it should be used.
The other approach is to list everything explicitly in every project
but you've still got to "babysit" your pom when you upgrade dependencies
to see wether its transitive dependencies are later and therefore need
updating in your project.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4137534#4137534
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4137534
18 years
[Design of JBoss Web Services] - XmlSeeAlso
by darran.lofthouse@jboss.com
I am just trying to find out some further information on the level of support of XmlSeeAlso for.
This annotation was added to JAXB 2.1 so on a super type the sub classes can be identified and used by the JAXB context.
The JAX-WS 2.1 specification allows this annotation to be added to the service endpoint interface.
We have JAXB 2.1 but not JAX-WS 2.1 so I can add the annotation to a type known to JAXB but not to the SEI.
The scenario I have requires this annotation to be added when using wsconsume. One of the return types being returned from my SEI wraps an Object as in the WSDL it is defined as wrapping an xsd:anyType I need the object instance assigned to this to be marshaled correctly.
The only way that I have found to get round this is to extend the object that is returned from the method an annotate that with XmlSeeAlso and return an instance of this instead.
Do we have any other support for XmlSeeAlso?
Adding it manually to the SEI did not achieve anything?
Is there any way to get wsconsume to add it to the generated classes so I don't need this workaround?
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4137512#4137512
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4137512
18 years
[Design the new POJO MicroContainer] - Re: Kernel module wip WARNING
by adrian@jboss.org
"alesj" wrote : "adrian(a)jboss.org" wrote :
| | The jboss-mdr snapshot you released yesterday depends on the old
| | jboss-reflect-2.0.0.Beta11
| |
| MDR change was a small bug fix.
| If it helps, you can revert it.
| I know where to find it and fix it again.
|
| So, even though Reflection didn't have any impact on my MDR change, I should move this dependency to snapshot in MDR?
The way the poms are currently setup is broken. The reflection dependency
is coming from jbossxb. But if you remove that, then it comes from mdr.
That's what I'm fixing now.
In general you don't have to update to the snapshot unless it is really dependent
on the change.
But as a matter of policy, we should be updating the poms regularly to run
over the latest *stable* releases we expect to support. Otherwise we'll never
find problems when people change things inconsiderately :-)
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4137488#4137488
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4137488
18 years