Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Databinding api deletion #323

Merged
merged 3 commits into from
Sep 21, 2022
Merged

Databinding api deletion #323

merged 3 commits into from
Sep 21, 2022

Conversation

vogella
Copy link
Contributor

@vogella vogella commented Sep 8, 2022

@vogella vogella marked this pull request as ready for review September 13, 2022 08:31
@vogella
Copy link
Contributor Author

vogella commented Sep 13, 2022

org.eclipse.ui.tests are missing...

@vogella vogella force-pushed the databinding-api-deletion branch 2 times, most recently from 0c6d0f2 to ac2dd46 Compare September 19, 2022 10:23
@vogella
Copy link
Contributor Author

vogella commented Sep 19, 2022

Thanks @jensli I moved the documentation update to its own pull request and plan to merge this once the verifcation build is done.

@jensli
Copy link
Contributor

jensli commented Sep 19, 2022

I have only had a rather quick look, but it seem good to me.

@jensli
Copy link
Contributor

jensli commented Sep 19, 2022

I don't know how to balance the benefit of simplifying the code base by removing these old classes against the harm of breaking old unmaintained plugins that uses them. But it seems like you have a made a decision about that already!

@vogella vogella force-pushed the databinding-api-deletion branch 2 times, most recently from 9bbbb4a to eb71ce6 Compare September 20, 2022 08:04
@mickaelistria
Copy link
Contributor

I don't know how to balance the benefit of simplifying the code base by removing these old classes against the harm of breaking old unmaintained plugins that uses them. But it seems like you have a made a decision about that already!

That was discussed multiple times and it's indeed not all black nor white and it may depend on the particular API. But in general, there is a process in place to minimize the risk. As for unmaintained plugins, well, they're unmaintained so it's a sign that no-one cares enough to keep them alive, so Platform project shouldn't really care either; there is no commitment for Platform that everything that has worked once with it will keep running forever (that would be crazy!). On the other end, there is a commitment from Platform that it does it best to remain sustainable and relevant, and getting rid of older API or improving code in general is acting towards that goal.

vogella and others added 3 commits September 21, 2022 10:12
In preparation of the following commit which performs the API deletion.
For planned API deletions we increase the minor number, not the major
number.
The following databinding classes will be removed. They have been
obsolete since the databinding framework was transitioned to work with
property classes in 2014. They are replaced by corresponding property
factory classes. See bug 546820.

org.eclipse.jface.databinding.viewers.ViewersObservables
org.eclipse.jface.databinding.swt.SWTObservables
org.eclipse.core.databinding.beans.BeansObservables
org.eclipse.core.databinding.beans.PojoObservables
org.eclipse.ui.databinding.WorkbenchObservables

The following classes in the databinding bundles will be removed. They
are replaced by typed factory classes with the same name, but in a
sub-package that is called "typed". See bug 546822.
org.eclipse.ui.databinding.WorkbenchProperties
org.eclipse.core.databinding.beans.BeanProperties
org.eclipse.core.databinding.beans.PojoProperties
org.eclipse.jface.databinding.viewers.ViewerProperties
org.eclipse.jface.databinding.swt.WidgetProperties

Includes API filter for the affected plug-ins as we do not increase
major version due to API deletion.
Removes the tests for the deleted API and updates multiple tests to use
the new API. The test have not yet been generified (they were also not
generified before).

Change-Id: Ibd04c9a52c2752639cbcb731c04f2a3b248359fa
@vogella
Copy link
Contributor Author

vogella commented Sep 21, 2022

@mickaelistria or @laeubi

Is this a new / known Tycho problems?

Error: 5.816 [ERROR] Failed to execute goal org.eclipse.tycho:tycho-compiler-plugin:3.0.0-SNAPSHOT:validate-classpath (default-validate-classpath) on project org.eclipse.core.commands: Execution default-validate-classpath of goal org.eclipse.tycho:tycho-compiler-plugin:3.0.0-SNAPSHOT:validate-classpath failed: Plugin org.eclipse.tycho:tycho-compiler-plugin:3.0.0-SNAPSHOT or one of its dependencies could not be resolved: Could not find artifact org.eclipse.jdt:ecj:jar:3.31.0-SNAPSHOT in tycho-snapshots (https://repo.eclipse.org/content/repositories/tycho-snapshots/) -> [Help 1]

@vogella vogella merged commit f2b52e1 into master Sep 21, 2022
@vogella vogella deleted the databinding-api-deletion branch September 21, 2022 11:26
@vogella
Copy link
Contributor Author

vogella commented Sep 21, 2022

Rebuild worked fine, so I guess this was caused by eclipse-platform/eclipse.platform.releng.aggregator#581 which was reverted.

Thanks @jensli for the help, I will push the Javadoc update via #341

@iloveeclipse
Copy link
Member

Please check eclipse-pde/eclipse.pde#339

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants