DarwinNE / FidoCadJ

FidoCadJ is a free user-friendly vector graphic editor for macOS, Linux, Windows and Android with a library of electronic symbols.
http://darwinne.github.io/FidoCadJ/
GNU General Public License v3.0
116 stars 43 forks source link

My fork is diverging too much from the original project #238

Closed manufino closed 3 months ago

manufino commented 3 months ago

@DarwinNE, I'm opening this issue to discuss how to proceed. I've made substantial changes both to the directory structure and many source files. Merging my branch for the pull request is becoming quite challenging. The most impactful changes are those related to resource management, such as icons, having changed the directory structure, I had to move all the resource files as well to achieve a cleaner project organization.

Could we consider a complete revision of the directory structure, removing parts that are no longer necessary, such as "busy being born" or "OSes"?

DarwinNE commented 3 months ago

You can propose a refactoring of the directory structure and discuss it here. Just take some time to take a broader view with respect to the conventions of a single IDE or development strategy. For instance, I do not agree that OSes is not useful. I used the "mac" subdirectory relatively recently and I spent a year and a half of my free time developing the (unfortunately aborted) android/fidocadj version.

manufino commented 3 months ago

One thing I don't like is having resources inside the "bin" folder, such as translation files, icons, and libraries. What do you think about creating a folder in the root directory called "resources," where we can place all the resources to be incorporated into the JAR?

DarwinNE commented 3 months ago

I like this very much!!! (edit: in the sense that I fully agree with you) But then the resources must be copied in the bin directory by the build scripts?

manufino commented 3 months ago

Using scripts could be a solution. I'm trying to gather more information about it since I'm not an expert in the Java ecosystem (my background is mainly in C++ programming).

EDIT: We could probably use relative paths in the code to specify where the resources are located during compilation. As you know, they are then incorporated into the JAR.

manufino commented 3 months ago

For now, I've gathered all the resources in the first level of the bin directory. Check out the latest commits I've made.

DarwinNE commented 3 months ago

I think we can close this issue, with the pull request #240