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

Add OSGi support #169

Merged
merged 10 commits into from
Jan 27, 2025
Merged

Add OSGi support #169

merged 10 commits into from
Jan 27, 2025

Conversation

konczdev
Copy link
Contributor

@konczdev konczdev commented Jan 26, 2025

Add OSGi support

  • generate OSGi Manifest Headers
  • optional OSGi dependencies
  • IkonHandler resolution with OSGi DS instead of SPI in OSGi environment

	- generate OSGi Manifest Headers
	- optional OSGi dependencies
	- IkonHandler resolution with OSGi DS instead of SPI
@konczdev
Copy link
Contributor Author

Solves #35

build.gradle Show resolved Hide resolved
build.gradle Outdated Show resolved Hide resolved
core/ikonli-core/src/main/java/module-info.java Outdated Show resolved Hide resolved
protected boolean registerHandler(IkonHandler handler, Set<IkonHandler> handlers, Set<IkonHandler> customHandlers) {
// check whether handler for this font is already loaded via classpath
if (isLoadedViaClasspath(handler, handlers)) {
protected final Set<IkonHandler> handlers = new CopyOnWriteArraySet<>();
Copy link
Collaborator

Choose a reason for hiding this comment

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

I believe there was a reason to keep this class stateless but I can't recall now.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The current implentations are already stateful.

gradle.properties Outdated Show resolved Hide resolved
@aalmiray
Copy link
Collaborator

Thank you for submitting this PR 😄
I've requested some updates that should be addresses before it can be merged.

@konczdev
Copy link
Contributor Author

I apologize for the whitespace issues - I didn't realize the 4-space requirement. Regarding the import ordering: yes, this was caused by Eclipse's default formatting

@konczdev
Copy link
Contributor Author

I fixed your findings but I don't understand what is going on. The build is still failing:

Missing header in: build.gradle
Missing header in: settings.gradle
Missing header in: gradle.properties
Task :licenseGradle FAILED

But they have license headers.

@aalmiray
Copy link
Collaborator

The problem seems to be the copyright year is still set to 2024. A manual update may be needed.

@aalmiray aalmiray merged commit 3bf764f into kordamp:master Jan 27, 2025
0 of 3 checks passed
@aalmiray aalmiray added this to the 12.4.0 milestone Jan 27, 2025
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.

2 participants