master is that branch. But remember that we pulled back the scope for 5.0.
On Thu, Jan 15, 2015 at 7:56 AM, Scott Marlow <smarlow(a)redhat.com> wrote:
The change I mentioned for WFLY-4021, is merged in for WildFly 9.0.
On 01/15/2015 07:42 AM, Sanne Grinovero wrote:
> Hi Scott,
> I'm not sure I completely understood your email, but from the example
> it looks like you're having the alias relation in the opposite
> direction.
The WFLY-4021 change allows an application to depend on a specific
major.minor version of Hibernate ORM:
<property name="jboss.as.jpa.providerModule"
value="org.hibernate:4.3" />
>
> We would need to have the actual jars into a module which has the
> precise identifier, to match exactly the jars it contains.
> Then we'd add an alias to specify that the "main" slot is the
specific
version.
When we talked at the f2f, I said that we would do major.minor, I think
that is the summary notes from the discussion.
If we were to reverse the definitions, so that org.hibernate:main is an
alias for a specific version of ORM (whether its using major.minor or
major.minor.micro, it makes no difference to me) and that offers the
advantages that your thinking of.
Something to keep in mind, in this multiple ORM version world, is that
the static javax.persistence api is not aware of modules currently. By
the fact that WildFly always loads org.hibernate:main first,
org.hibernate:main is always first in the list returned by
PersistenceProviderResolver.getPersistenceProviders(). In the module
aware (container) deployment code in WildFly, we do check if the
persistence unit specifies a jboss.as.jpa.providerModule property and
use that to load the persistence provider from the specified module.
>
> For example:
>
> ## Actual Module
> <module xmlns="urn:jboss:module:1.3" name="org.hibernate"
slot="4.3.8.Final">
> <resources>
> <resource-root path="xyz-4.3.8.Final" />
> <....
> </resources>
> ...
> </module>
>
> ## The alias
> <module-alias xmlns="urn:jboss:module:1.3"
> name="org.hibernate" slot="main"
> target-name="org.hibernate" target-slot="4.3.8.Final"
/>
>
> By using this structure you can allow most applications to simply
> depend on "org.hibernate" at slot "main". This is useful for
the
> majority of users, who know they want to depend on Hibernate and are
> not too fuzzy about the version they use, or simply want the
> "recommended" version, which is essentially what you decide is by
> pulling upgrades into WildFly.
>
> But some of our frameworks who might need to depend on a specific
> version of ORM would have the option to explicitly depend on
> "org.hibernate" slot "4.3.8.Final", which is what we
occasionally
> need.
> Also this would make it possible for the ORM project to release
> "update packs", say a version 4.3.9.Final is released soon: users
> would be able to drop this into their application server using slot
> "4.3.9.Final" without risking to break other applications.
>
> We could also be a bit more fine-grained: are you still keeping
> Hibernate 3 around in WildFly 9?
My plan was to remove the Hibernate 3 integration code. I started doing
that about a year ago or so, on a WildFly branch that (almost) works
against Hibernate master from back then. That branch is very dusty now.
Is there going to be a stable ORM 5.0 branch soon? At some point, we
can resume integrating Jipijapa with ORM 5.0 and integrating that with
WildFly (not sure if that will be WildFly 9 or 10).
> If yes, you might want to have a structure like this one:
>
> ## Actual Module
> <module xmlns="urn:jboss:module:1.3" name="org.hibernate"
slot="4.3.8.Final">
> <resources>
> <resource-root path="xyz-4.3.8.Final" />
> </resources>
> ...
> </module>
>
> ## The 4.x alias
> <module-alias xmlns="urn:jboss:module:1.3"
> name="org.hibernate" slot="4.x"
> target-name="org.hibernate" target-slot="4.3.8.Final"
/>
>
> ## The main alias
> <module-alias xmlns="urn:jboss:module:1.3"
> name="org.hibernate" slot="main"
> target-name="org.hibernate" target-slot="4.x" />
>
> One could also think of introducing a 4.3.x level.. possibilities are
> endless but the priority for us would be to be able to call out a
> specific version.
>
> Thanks,
> Sanne
>
>
>
> On 14 January 2015 at 17:12, Emmanuel Bernard <emmanuel(a)hibernate.org>
wrote:
>> FYI
>>
>>> Begin forwarded message:
>>>
>>> Date: 14 Jan 2015 17:30:59 CET
>>> From: Scott Marlow <smarlow(a)redhat.com>
>>> To: Emmanuel Bernard <emmanuel(a)hibernate.org>
>>> Subject: Re: Hibernate ORM modules published as major.minor and an
alias for main
>>>
>>> Hi Emmanuel,
>>>
>>> On 01/14/2015 11:06 AM, Emmanuel Bernard wrote:
>>>> Hi Scott,
>>>>
>>>> In the f2f we discussed the idea of having ORM being published as
major.minor and have an alias form main to the default WildFly targeted
version.
>>>> Is that in and for which WildFly version?
>>>
>>> I created
https://issues.jboss.org/browse/WFLY-4021 and
https://github.com/wildfly/wildfly/pull/6883 which got merged into
WildFly 9.0.
>>>
>>> The change is that
modules/system/layers/base/org/hibernate/4.3/module.xml was added and
contains:
>>> "
>>> <module-alias xmlns="urn:jboss:module:1.3"
name="org.hibernate.main"
slot="4.3" target-name="org.hibernate"/>
>>> "
>>>
>>> I think this is wrong though, as it should be:
>>>
>>> "
>>> <module-alias xmlns="urn:jboss:module:1.3"
name="org.hibernate"
slot="4.3" target-name="org.hibernate"/>
>>> "
>>>
>>> I'll reopen and push a new pull request.
>>>
>>>
>>>>
>>>> I am just trying the catch up.
>>>>
>>
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/hibernate-dev
_______________________________________________
hibernate-dev mailing list
hibernate-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/hibernate-dev