[hibernate-dev] Fwd: Hibernate ORM modules published as major.minor and an alias for main

Sanne Grinovero sanne at hibernate.org
Thu Jan 15 07:42:14 EST 2015


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.

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.

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?
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 at hibernate.org> wrote:
> FYI
>
>> Begin forwarded message:
>>
>> Date: 14 Jan 2015 17:30:59 CET
>> From: Scott Marlow <smarlow at redhat.com>
>> To: Emmanuel Bernard <emmanuel at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/hibernate-dev


More information about the hibernate-dev mailing list