[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [dali-dev] Dali and Public API changes
|
Massive is probably a good word to describe the changes to Dali this
year. We have made major improvements to our model in the area of
concurrency, reusability, maintainability, and performance. Some of
these changes were driven by our addition of JAXB persistence tooling.
We think these changes will greatly benefit Dali and the adopters of
Dali, but as with all things, there is a cost.
Do you have any tips on how adopters are meant to use Dali and support it across of Eclipse 3.7/3.8 ?
I don't think it would be feasible to have a product that extends Dali
3.0.x (Indigo) and Dali 3.2.x (Juno) at the same time. The changes
between the two are many, and as a result, a number of provisional API's
have changed.
How do your own adopters at Oracle do this?
I think there is a lot of variability on this among the entire adopter
community. Some adopters choose to build on top of a specific release
train version of Eclipse, without trying to maintain compatibility with
other versions within the same code base. Where support for multiple
release trains is needed in a particular release, multiple code streams
and packages are used. Some adopters have seen this cost as worthwhile
for the adoption of rapidly improving and expanding components.
Is there any chance that latest Dali release can run on both 3.7 and 3.8/4.2 and we could do it that way ?
(i.e. depend on Dali M7 from both 3.7 and 3.8 codebases)
Actually, you could potentially run our latest release (Dali 3.1 - Dec
2011) on both Eclipse 3.7 and 3.8. There is some compatibility code in
the 3.1 release to allow Dali clients to use the same code for 3.0 and
3.1. This was done because 3.1 was not based on a new release train,
but instead it was based on the same Indigo train. This could not be
done with 3.2M7.
All of that said, this has made me think of something that we should be
doing. In addition to doing a new and noteworthy that covers end-user
functionality, we need a new and noteworthy specifically for Dali
adopters. This would be a per milestone summary of the types of changes
that will specifically benefit/be of interest to adopters. This would
more easily allow adopters to be aware of (and perhaps encourage
participation in) some of the larger scale changes to our model. It
would go hand in hand with a migration guide to help adopters move to
the new code. This would be in addition to the existing weekly status
emails.
This also raises the question of what we can do moving forward regarding
a public API for Dali. This has been a hot topic of late, and I can
assure everyone that this will be a large discussion point for our
planning meetings for Dali Kepler. I would guess that some of you
will be in attendance to ensure this is discussed. : )
This is all a balancing act, and I hope we can find the right point on
the scale to ensure that Dali continues to evolve and improve while
making sure our adopters can benefit from those improvements.
As always, we welcome you thoughts and contributions.
Neil
On 4/24/2012 1:50 AM, Max Rydahl Andersen wrote:
<rant>
Dali is almost always the API we cannot support across eclipse versions with the same codebase - normally in all other API's we've been able to use
proper interfaces or a in a few places a bit of reflection to work around it - but for Dali the changes are just too massive.
</rant>
Do you have any tips on how adopters are meant to use Dali and support it across of Eclipse 3.7/3.8 ?
How do your own adopters at Oracle do this ?
Is there any chance that latest Dali release can run on both 3.7 and 3.8/4.2 and we could do it that way ?
(i.e. depend on Dali M7 from both 3.7 and 3.8 codebases)
/max
On Apr 18, 2012, at 16:14 , Neil Hauge wrote:
Sorry about this Dmitry. There were indeed a lot of changes this year, and we could have done a better job detailing the changes in the New Help for Old Friends wiki. We are making this a major focus for the next release, where we hope to declare a lot of provisional API as public, and also document provisional API changes as they occur.
We have a number of these changes you mentioned documented in various places, so expect a number of replies pointing you to this info. I will make sure this info gets rolled up into the Old Friends wiki.
Thanks,
Neil
On 4/18/2012 5:54 AM, Dmitry Geraskov wrote:
Hi, guys,
as you probably know hibernate depends on the JPT plugins. And almost every change in provisional API affects us.
Would be nice if you try to describe the changes more carefully.
On the page where they are expected to be found
http://wiki.eclipse.org/New_Help_for_Old_Friends_VII
I see only 2 issues which changed provisional API (the author is Karen Butzke in both). And the list for sure is not complete. I found the following not described changes:
Classes which were removed?
org.eclipse.jpt.common.utility.model.value.WritablePropertyValueModel;
org.eclipse.jpt.jpa.core.context.java.JavaStructureNodes;
org.eclipse.jpt.jpa.ui.navigator.JpaNavigatorProvider;
org.eclipse.jpt.jpa.core.context.Table.Owner;
org.eclipse.jpt.jpa.core.resource.java.AnnotationContainer;
org.eclipse.jpt.jpa.core.resource.java.JavaResourcePersistentAttribute
org.eclipse.jpt.jpa.ui.structure.JpaStructureProvider
org.eclipse.jpt.jpa.core.resource.java.NamedQueriesAnnotation
org.eclipse.jpt.jpa.core.resource.java.NamedNativeQueriesAnnotation
org.eclipse.jpt.jpa.core.resource.java.AttributeOverridesAnnotation
org.eclipse.jpt.jpa.core.resource.java.AssociationOverridesAnnotation
Disappeared
JptJpaCorePlugin.rebuildJpaProject(getProject());
JavaPersistentAttribute.getResourcePersistentAttribute()
Chaged
JavaGeneratorContainer.Owner, OrmJoinColumn.Owner and other "owners"
JpaJpqlQueryHelper made abstract
JavaResourceAnnotatedElement.addAnnotation(int, string, string)
Iterable->Iterator
JavaResourceAnnotatedElement.annotations(String, String)
PersistentType.attributes()
PersistenceUnit.mappingFileRefsContaining(...)
Dmitry Geraskov,
Hibernate tools developer
_______________________________________________
dali-dev mailing list
dali-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dali-dev
_______________________________________________
dali-dev mailing list
dali-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dali-dev
_______________________________________________
dali-dev mailing list
dali-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/dali-dev