[hibernate-dev] breaking compatibility issues found in 4.3.0.Beta3

Steve Ebersole steve at hibernate.org
Fri May 3 09:12:40 EDT 2013


Well purists would argue that relying on transitivity for dependencies 
that you need for *compilation* is a baaaaaaaaaad idea. In fact Maven's 
own primer to dependency management discusses this very thing:

http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html

specifically "it is intended that this should be runtime scope instead, 
so that all compile dependencies must be explicitly listed - however, 
there is the case where the library you depend on extends a class from 
another library, forcing you to have available at compile time. For this 
reason, compile time dependencies remain as compile scope even when they 
are transitive."

These are some of the exact reasons why so many folks dislike Maven's 
limited notion of dependency groupings (scopes).


On Fri 03 May 2013 08:05:37 AM CDT, Strong Liu wrote:
>
> sorry, I missed the provided scope and runtime scope
>
> the problem is :
>
> now hibernate-core is a runtime scope dependency of h-em
>
> so, suppose a project depends on h-em ( compile scope ) and the
> project uses h-core classes, then the project won't be compiled.
> since runtime scope dependencies are not available on compile time
> classpath
>
> a simple maven project would approve this ( attached )
>
>
>
>
> On May 3, 2013, at 8:34 PM, Steve Ebersole <steven.ebersole at gmail.com
> <mailto:steven.ebersole at gmail.com>> wrote:
>
>>
>> Have you tried this? Runtimr and compile scopes are both transitive,
>> so the situation you describe should work just as before
>>
>> On May 3, 2013 7:23 AM, "Strong Liu" <stliu at hibernate.org
>> <mailto:stliu at hibernate.org>> wrote:
>>
>>
>> On May 3, 2013, at 8:13 PM, Steve Ebersole
>> <steven.ebersole at gmail.com <mailto:steven.ebersole at gmail.com>> wrote:
>>
>>>
>>> I dont understand what you mean with HHH-8220. OK its a change,
>>> but how is that breaking any builds?
>>>
>>
>>
>> suppose there is a WAR project that uses hibernate, and it has a
>> compile scope dependency of h-em
>>
>> before this 4.3.0.Beta2, the HEM will brings all required
>> dependencies in ( for example, h-core )
>>
>> but after upgrade to 4.3.0.Beta2, the build WAR will only
>> contains HEM and no H-Core since HEM now has a runtime scope
>> dependency of h-core
>>
>> then the WAR will fail when being deployed
>>
>>
>>>
>>> And for JDK 7 we have discussed that on this list already.
>>> Gunnar will work on integrating some checks into the build to
>>> make sure we are not using JDK 7 features…
>>>
>>
>>
>>
>> I'm aware of this , just pointed out that this 4.3.0.Beta2 will
>> fail on JDK 6, and others who run into this issue will know the
>> reason
>>
>>>
>>>
>>> On 05/03/2013 02:08 AM, Strong Liu wrote:
>>>>
>>>> https://hibernate.atlassian.net/browse/HHH-8219
>>>>
>>>> https://hibernate.atlassian.net/browse/HHH-8220
>>>>
>>>>
>>>> -------------------------
>>>> Best Regards,
>>>>
>>>> Strong Liu <stliu at hibernate.org <http://hibernate.org/>>
>>>> http://about.me/stliu/bio
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> hibernate-dev mailing list
>>>> hibernate-dev at lists.jboss.org
>>>> <mailto:hibernate-dev at lists.jboss.org>
>>>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>>>
>>>
>>
>>
>> -------------------------
>> Best Regards,
>>
>> Strong Liu <stliu at hibernate.org <http://hibernate.org/>>
>> http://about.me/stliu/bio
>>
>>
>>
>
>
> -------------------------
> Best Regards,
>
> Strong Liu <stliu at hibernate.org <http://hibernate.org/>>
> http://about.me/stliu/bio
>
>


More information about the hibernate-dev mailing list