edvin / tornadofx2

TornadoFX 2.0
Apache License 2.0
155 stars 41 forks source link

Split code into core and submodules for non-core code #3

Open ctadlock opened 4 years ago

ctadlock commented 4 years ago

Going to move the following out of core:

The resulting folder structure will be:

ruckustboom commented 4 years ago

If I can add my $0.02, I'm not a fan of the /src/ directory. I prefer either having the different modules at root (very common, e.g. Spring)

Or, if a directory is desired, use /modules/ (less common, but not rare, e.g. JavaFX).

I think the /src/[module]/src/ construct is quite strange.

edvin commented 4 years ago

Those two options were my preference as well. @ctadlock - if we put all modules on /, we still get all the modules as siblings, and we can still have a docs folder on the same level. Do you have a problem with that/do you see any issues with it?

ctadlock commented 4 years ago

Ya, no plan survives first contact with battle.... I spent a while playing with Maven's multi-module projects and it requires a different structure than what I had proposed. You cant have the parent module be named the same as a submodule; so the parent can be named tornadofx2 and the submodule for "core" also named tornadofx2.

I'm fine not having a src folder at root. It works well for my company but not going to die on that hill here. Doesn't cause an issue with docs.

I renamed rest to web to make it a bit more generic for any rest/http/web related code.

I tested it with IntelliJ and it opens up great just using the "open project" function. Here is what I came up with as a skeleton:

I created a skeleton project, you can download it on Dropbox. Didn't want to clutter GitHub. https://www.dropbox.com/s/y1bbf9bdqnhiit2/tornadofx2.zip?dl=0

IntelliJ

image

File system

image

Parent pom.xml

image

ctadlock commented 4 years ago

@edvin Another question for you.. we named this GitHub repository tornadofx2 because it needed a different name than the tornadofx one. Ok. However that doesn't mean we need to name the modules and artifacts within this repository tornadofx2. Our change to start off here with version 2.1 resolves the conflict.

So do you want the modules here to be named tornadofx or tornadofx2?

edvin commented 4 years ago

This looks good! The modules can be named only tornadofx- IMO. Also, while we're knit picking - to me, web sounds like a folder for the project webpage. Perhaps http is a less ambiguous name for that module?

ctadlock commented 4 years ago

This looks good! The modules can be named only tornadofx- IMO. Also, while we're knit picking - to me, web sounds like a folder for the project webpage. Perhaps http is a less ambiguous name for that module?

Now is the time to nitpick. http is fine.

SchweinchenFuntik commented 3 years ago

Hello, status project ?

JacekWicka commented 3 years ago

After switching to gradle this cant be merged without a rework. @ctadlock what is your schedule/planning?

SchweinchenFuntik commented 3 years ago

how do you look at adding kotlin and kotlin DSL contacts to avoid problems with scopes.

I can do this.

Is it better to do this in the new Github Projects?