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
Remove OpenJFX dependencies while publishing to mvncentral #116
Conversation
Wow this is awesome I didn't know you could do that |
No issues. Although i really recommend testing it once yourself if you dont mind. ^^ Thank you for your awesome project. I am currently using your controls in Stream-Pi project. |
Yep, I'll test it, don't worry Great! Awesome project, I really like the modular and flexible architecture too, nice job. Also, I was wandering, I'd like to add a "Projects using MaterialFX" section in the README.md, would it be ok for you if I added Stream-PI to the list? |
I think it'll be better to wait until we finish converting all controls in streampi to materialfx. the combobox in materialfx is very limited compared to the javafx combobox. Also we will be conducting a small poll in our discord server to listen to the users whether they like material design or not before we suddenly change our UI
Get Outlook for Android<https://aka.ms/AAb9ysg> प्राप्त करें
…________________________________
From: Alessadro Parisi ***@***.***>
Sent: Tuesday, November 2, 2021 3:18:17 PM
To: palexdev/MaterialFX ***@***.***>
Cc: Debayan Sutradhar ***@***.***>; Author ***@***.***>
Subject: Re: [palexdev/MaterialFX] Remove OpenJFX dependencies while publishing to mvncentral (PR #116)
No issues. Although i really recommend testing it once yourself if you dont mind. ^^
Thank you for your awesome project. I am currently using your controls in Stream-Pi project.
Yep, I'll test it, don't worry
Great! Awesome project, I really like the modular and flexible architecture too, nice job.
Let me know if you need any particular features or control for your project
Also, I was wandering, I'd like to add a "Projects using MaterialFX" section in the README.md, would it be ok for you if I added Stream-PI to the list?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub<#116 (comment)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/AGERF5NL3ARHF3W277TULPLUJ6XWDANCNFSM5HF2POGA>.
|
Any updates? @palexdev |
@rnayabed sorry I forgot to also reply to your last comment
Yes and no. No because I don't think the fix will be implemented any time soon, I'm planning to release it with version 11.13.0 of the library but while the development is proceeding really well it still needs a lot of work (see the projects tab) The combo box has been remade too and I can assure you it has nothing to envy to the original one |
Yeah i checked it. Looks like a far better option. This looks very "hacky-ish". I will close this PR then.
|
Project :arrow_up: Upgraded JavaFX to 17.0.1 :arrow_up: Upgraded VirtualizedFX to 11.2.3 :recycle: Make JavaFX dependencies transitive as a consequence/request of PR #116 Controls Package :boom: AbstractMFXToggleNode, MFXCircleToggleNode, MFXRectangleToggleNode have been reworked :recycle: MFXTextField whoops :recycle: MFXPopup, adapt to new changes of MFXCSSBridge CSS Package :truck: Renamed and moved CSSBridge to separate class Skins Package :boom: MFXCircleToggleNodeSkin and MFXRectangleToggleNodeSkin have been slightly changed too Resources :boom: MFXCircleToggleNode.css, MFXRectangleToggleNode.css have been reviewed too :fire: Completed the removal of MFXLabel Signed-off-by: palexdev <alessandro.parisi406@gmail.com>
@rnayabed MaterialFX reached v11.13.0 and I implemented the requested fix |
@palexdev I started trying MaterialFX 11.13.3 today, but I noticed that it still brings a transitive dependency on OpenJFX. Here's its POM, which obviously still depends on OpenJFX: POM<?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<!-- This module was also published with a richer model, Gradle metadata, -->
<!-- which should be used instead. Do not delete the following line which -->
<!-- is to indicate to Gradle or any Gradle module metadata file consumer -->
<!-- that they should prefer consuming it instead. -->
<!-- do_not_remove: published-with-gradle-metadata -->
<modelVersion>4.0.0</modelVersion>
<groupId>io.github.palexdev</groupId>
<artifactId>materialfx</artifactId>
<version>11.13.3</version>
<name>materialfx</name>
<description>Material Desgin components for JavaFX</description>
<url>https://github.com/palexdev/MaterialFX</url>
<inceptionYear>2020</inceptionYear>
<licenses>
<license>
<name>GNU LGPLv3</name>
<url>https://www.gnu.org/licenses/gpl-3.0.html</url>
<distribution>repo</distribution>
</license>
</licenses>
<developers>
<developer>
<id>palexdev</id>
<name>Alessandro Parisi</name>
<url>https://github.com/palexdev</url>
</developer>
</developers>
<scm>
<url>https://github.com/palexdev/MaterialFX</url>
</scm>
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
<version>17.0.2</version>
<classifier>linux</classifier>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.vanniktech</groupId>
<artifactId>gradle-maven-publish-plugin</artifactId>
<version>0.19.0</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>io.github.palexdev</groupId>
<artifactId>virtualizedfx</artifactId>
<version>11.2.5</version>
<scope>runtime</scope>
</dependency>
</dependencies>
</project> I am developing on Windows and these dependencies are obviously not supposed to be since they are OpenJFX for the Linux platform. Of course, I'm using Gradle, so it's easy to exclude these dependencies, but I want to ask when will this be completely resolved. |
@Glavo On the README and on Maven Central the correct snippet is:
|
I imported it like this in Gradle (Kotlin DSL):
I believe this is functionally equivalent to what you said, but it uses this POM and brings in dependencies it shouldn't have. However, this problem is very easy to solve because the JavaFX Gradle plugin provides an easy way to configure it. |
Currently when you add the project as a dependency to any maven project, you get the following IDE error:
This is happening because the dependency MaterialFX is providing javafx dependencies, that should not be happening. Hence a workaround I am using is to add the following exclusions in my
pom.xml
:This PR removes the OpenJFX dependencies before publishing, hence solving the issue.