badarshahzad / JFX-Browser

JFx Browser is a multi tab browser. In its first version HTML to PDF, Downloading , History, Bookmarks and Account creation facility available. We are not still working on this project.
MIT License
200 stars 48 forks source link

Maven implementation #58

Closed goxr3plus closed 6 years ago

goxr3plus commented 6 years ago

READ everything in order to understand because i gave 2 hours of my life to implement the below.

Download the ready to run application to see on your own if i missed something -> JFX-Browser-1.0.0.zip


I did huge changes on the packages and implementation of your project .

You can see the commits one by one .

1) I added Maven Nature 2) Improved code packaging 3) Improved resources packaging

based on https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html (except from resource folder i am keeping it outside )

The project was build in Eclipse but there is not problem importing it in NetBeans , IntelliJ IDEA etc.

--Maven Build--

Maven Clean Package [ With Javadocs produced ]

mvn clean package

Maven Clean Package [ No Javadocs produced ]

mvn -Dmaven.javadoc.skip=true clean package


I want you to read this carefully . In order this to be a correct Maven project all the src packages need to be repackaged like -> src.main.java.com.yourcompanyname.projectname.(and here are going all the packages inside ).

PLEASE LOOK THE STRUCTURE OF MY WEBBROWSER TO UNDERSTAND THE CORRECT PACKAGING https://github.com/goxr3plus/JavaFX-Web-Browser

That's how your Maven project should look . I can do it for you [But i want you to let me know the name of the package for example i have this in my mind ( src.main.java.com.github.jfxbrowser)


How to build the Project with Maven

1) If you see carefully inside the pom.xml i have commented the plugins which are for producing sources.jar and javadoc.jar simply because the code will not run if you uncomment this . IT WILL REPORT TON OF ERRORS.

The below two plugins are disabled - commented until we add comments to all methods variables etc on the application.


<!--<plugin>
        <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> 
    <version>3.0.1</version> <executions> <execution> <id>attach-sources</id> 
    <goals> <goal>jar</goal> </goals> </execution> </executions>
 </plugin> -->
<!-- <plugin>
        <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> 
    <version>3.0.0-M1</version> <executions> <execution> <id>attach-javadocs</id> 
    <goals> <goal>jar</goal> </goals> </execution> </executions>
 </plugin> -->

How you will build the project so under /target folder will produce the :

1) JFX-Browser-1.0.0 the runnable jar file 2) JFX-Browser_lib contains all the libraries for the runnable jar file

we can modify this and create a fat jar file which contains everything inside and not on a separate folder but that may violate the rules of some libraries we are using here.


Cheers Alex K. (GOXR3PLUS STUDIO)

naeemrashid commented 6 years ago

Great work 👍

goxr3plus commented 6 years ago

I will now continue with next important changes, which is repackaging based on Maven rules.

That will include changes in fxml files along with package renaming.