tornadofx2
tornadofx2 copied to clipboard
Split code into core and submodules for non-core code
Going to move the following out of core:
jsonrest/http
The resulting folder structure will be:
/(README.md,CHANGELOG.md,LICENSE)src/(parent folder for all source)src/tornadofx2(tornadofx2 core; root forpom.xml)src/tornadofx2/src(tornadofx2 core; code)src/tornadofx2-json(json extensions; root forpom.xml)src/tornadofx2-json/src(json extensions; code)src/tornadofx2-rest(rest extensions; root forpom.xml)src/tornadofx2-rest/src(rest extensions; code)docs/root for documentation
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)
/tornadofx2-core/(ortornadofx2-base, I'm not a fan of justtornadofx2)/tornadofx2-rest//tornadofx2-...//docs/- etc.
Or, if a directory is desired, use /modules/ (less common, but not rare, e.g. JavaFX).
/modules/tornadofx2-core//modules/tornadofx2-rest//modules/tornadofx2-...//docs/- etc.
I think the /src/[module]/src/ construct is quite strange.
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?
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

File system

Parent pom.xml

@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?
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?
This looks good! The modules can be named only
tornadofx-IMO. Also, while we're knit picking - to me,websounds like a folder for the project webpage. Perhapshttpis a less ambiguous name for that module?
Now is the time to nitpick. http is fine.
Hello, status project ?
After switching to gradle this cant be merged without a rework. @ctadlock what is your schedule/planning?
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?