[hibernate-dev] New project layer

Max Rydahl Andersen max.andersen at redhat.com
Thu Feb 15 06:43:36 EST 2007


Same cycle exists for search and annotations.

Alternative workaround for me is to remove the test's from the classpath  
(but that's even worse)

/max

>
>> validator
>>    lib (empty)
>>    compile depends on jpa-api, commons-annotations, core
>>    compiletest depends on annotations //DDL integration, will depend on  
>> jpa //JPA integration
>>
>> annotations
>>    lib (empty)
>>    compile depends on jpa-api, validator, commons-annotations, core
>>      //want to add a dependency to search for ease of use
>>    compiletest depends on nothing more
>
> I did not notice this until I actually tried to put this into eclipse.
>
> You have a dependency cycle here - annotations needs validator, but
> validator
> (it's tests at least) cannot be compiled without annotations...
>
> I can probably solve this by putting a compiled annotations on the
> classpath of validator
> but that is so yucky! :(
>
> /max
>
>
>> jpa
>>    lib (jboss-archive-browser)
>>    compile depends on jpa-api, validator, commons-annotations,  
>> annotations, core
>>    compiletest depends on nothing more
>>
>>
>> Dependencies are managed by the building system automatically. The way  
>> it is done is a hack in the build.xml files (no clean encapsulation),  
>> but it deals nicely with compilation dependencies vs test compilation  
>> dependencies: it could be improved by implementing a specific ant task.  
>> The build looks for the availability of the jar dependencies, and if  
>> not present clean, jar is called on this dependency project
>> Alternatively, Ivy looks very promising and quite lightweight in the  
>> way dependencies are handled, so we could use it: no rush though, since  
>> the job is done and there won't be much dependency changes.
>>
>> The nice thing about it is that there is no more lib/* duplication  
>> (most are shared)
>>
>> I still need to tackle with the dist task and copy the dependency  
>> libraries instead.
>>
>> Aside from the build changes:
>>   - commons-annotations is now independent with no dependencies
>>   - validator still depend on core (it is actually hard not to), but it  
>> can work fine without HAN, you can use it with a plain JPA engine.
>>   - search is independent of HAN, per se but not from core, it could be  
>> easily though I think and we could support plain JPA engines as well.
>>
>> A few remaining questions:
>>   - HAN as an integration project
>> Should Hibernate Annotations embed search and validator jars, I think  
>> so as third party jars, it would make the full blend HAN usage smoother  
>> (like event listener auto configuration)
>> The idea is to embed a reference version of validator and search in HAN  
>> with he ability for a user to upgrade validator or search for a given  
>> HAN version
>>
>>   - Version number
>> I am in favor of keeping the version number root 3.2.2. Hibernate  
>> Search however is still beta, so a different versioning would be better  
>> 3.2.2.beta1 and so on (3.2.2.beta2 or 3.2.3.beta1).
>>
>>   - Documentation
>> Since Validator and Search will be integrated to HAN, should I keep the  
>> chapters in both the HAN doc and the validator doc?
>>
>> I plan to apply that sometimes this week (tomorrow hopefully). Once I'm  
>> done we'll be able to think about the website changes.
>> Comments welcome before I commit that work.
>> _______________________________________________
>> hibernate-dev mailing list
>> hibernate-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/hibernate-dev
>
>
>



-- 
--
Max Rydahl Andersen
callto://max.rydahl.andersen

Hibernate
max at hibernate.org
http://hibernate.org

JBoss a division of Red Hat
max.andersen at jboss.com



More information about the hibernate-dev mailing list