Skip to content

Remove deprecated Color(Device, ...) constructor usage#692

Merged
wimjongman merged 2 commits into
EclipseNebula:masterfrom
vogellacompany:remove-deprecated-color-device-constructor
Apr 15, 2026
Merged

Remove deprecated Color(Device, ...) constructor usage#692
wimjongman merged 2 commits into
EclipseNebula:masterfrom
vogellacompany:remove-deprecated-color-device-constructor

Conversation

@vogella

@vogella vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • Verify the project compiles successfully
  • Verify no regressions in color rendering across widgets

🤖 Generated with Claude Code

@vogella
vogella force-pushed the remove-deprecated-color-device-constructor branch from 07d15d4 to 3528401 Compare April 15, 2026 09:46
@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

The build failure (continuous-integration/jenkins/pr-head) is a Jenkins environment issue it requires Java 21 but the CI agent is running Java 17. I send another PR for fixing this.

@merks

merks commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

@vogella

Probably every bundle that's changed needs to have a lower bound such that it can only be installed with a version of SWT that has the newer constructor.

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

@vogella

Probably every bundle that's changed needs to have a lower bound such that it can only be installed with a version of SWT that has the newer constructor.

That would be 3.115 AFAICS:

  • @SInCE 3.115
    */
    public Color(int red, int green, int blue) {
    super();
    init(red, green, blue, 255);
    }

Also update MANIFEST.MF files to require org.eclipse.swt >= 3.115.0,
which is the version that introduced the device-less Color constructors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vogella
vogella force-pushed the remove-deprecated-color-device-constructor branch from 3528401 to 5e623c1 Compare April 15, 2026 11:00
@merks

merks commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

Sorry, I should have thought of this before, but now with a visible change to the manifest, something needs to be incremented. Probably the minor version. And then corresponding feature increments for the including features...

Dear goodness, quite some things to consider... 😢 Sorry.

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

Sorry, I should have thought of this before, but now with a visible change to the manifest, something needs to be incremented. Probably the minor version. And then corresponding feature increments for the including features...

Dear goodness, quite some things to consider... 😢 Sorry.

What is the version strategy of Nebula? It looks like most bundles were set to 1.0.0 when created and simply never incremented, even as functionality changed. So effectively AFAICS, Nebula doesn't have an active versioning strategy.

They seem to rely on the build qualifier.

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

I think we should not start incrementing suddenly versions if Nebula never did it in the past.

I can do this but it feels to me that this would violate the way of working in Nebula (no version increase, what a beauty to work with).

@merks

merks commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

It's not that they never did it because we do see a mixture of versions:

https://download.eclipse.org/nebula/updates/nightly/latest/index.html

Just so you know where I'm looking:

image

But certainly there was never much attention paid to the version numbers. That serves the consumers extremely poorly, especially now if we literally are breaking backward compatibility knowingly.

@lcaron @wimjongman

As team leads, you set the direction. I know that versions are hard to maintain and keep correct and consistent, even more so with such a large boatload of bundles and fine-grained features... I expect feature versions don't matter so much because consumers probably specify the bundle dependencies with ranges.

@wimjongman

Copy link
Copy Markdown
Contributor

Nebula API is not breaking, it is an upstream plugin that changes. Lifting the lower SWT requirement should be enough.

We must increment the major version if this breaks the API of one of our plugins.
We must increment the minor version of each affected plugin.

WDYT?

@merks

merks commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

I agree. I think for this non-API breaking change, every affected bundle should have a minor version increment; I'm not so concerned about feature version, though incrementing the minor version of each including feature would be nice if the AI agent can do that relatively easily.

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

What increment for minor? Just "1"?

So we go for example:

  • version="1.0.0.qualifier"
  • version="1.1.0.qualifier"

And 1.6.1 would become 1.7.0

@wimjongman

Copy link
Copy Markdown
Contributor

We must also bump the pom I think.

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

We must also bump the pom I think.

Thanks, already noticed, I initially assumed Nebula is pomless....

@vogella
vogella force-pushed the remove-deprecated-color-device-constructor branch from 0653b0c to 0d12398 Compare April 15, 2026 13:15
Update Bundle-Version in MANIFEST.MF, version in feature.xml, and
Maven version in pom.xml to keep Tycho version validation in sync.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vogella
vogella force-pushed the remove-deprecated-color-device-constructor branch from 0d12398 to fa882a6 Compare April 15, 2026 13:22
@merks

merks commented Apr 15, 2026

Copy link
Copy Markdown
Contributor

@vogella

That's looking really great!

@merks merks left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I didn't review line by line, but generally looks just fine!

@wimjongman
wimjongman merged commit 0d5a10c into EclipseNebula:master Apr 15, 2026
5 checks passed
@wimjongman

Copy link
Copy Markdown
Contributor

I didn't review line by line, but generally looks just fine!

image

@wimjongman

Copy link
Copy Markdown
Contributor

Thanks, Lars!!

@vogella

vogella commented Apr 15, 2026

Copy link
Copy Markdown
Contributor Author

Thanks, Lars!!

Pleasure my friend. Would be nice to met you again for a cold one. :-)

@vogella
vogella deleted the remove-deprecated-color-device-constructor branch April 15, 2026 14:34
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.

3 participants