jbake-org / jbake

Java based open source static site/blog generator for developers & designers.
http://jbake.org
MIT License
1.11k stars 327 forks source link

split jbake into core and application #274

Open ieugen opened 8 years ago

ieugen commented 8 years ago

Hello,

I've posted an email on the user mailing list about some improvements. Right now thare are a lot initializations that can be skipped and are not. The code could make use of dependency injection to make the code easy to reuse.

It is also my opinion that jbake currently does way more than it should in a single project"

I think this should not be the case. I would split the code in multiple modules:

danielkocot commented 8 years ago

Hello @ieugen,

I share your opinion about multiple modules for jbake and I really like your poc :-).

ieugen commented 8 years ago

Thanks @danielgrycman .

I just added watch functionality to 0.0.4 ( you net to specify --destination outside --source or you get an infinie cycle atm) . I'm working on adding ant style path matchers to ignore paths and files inside the work tree.

I have alot of ideas but a lot of them need jbake refactoring. Right now I'm still waiting for answers but I am considering forking the project. I would very much like to avoid that and that's why I'm coming with issues and questions.

jonbullock commented 8 years ago

Just posted a reply to your message on the users mailing list.

Watch mode has already been added to master: https://github.com/jbake-org/jbake/issues/253

The plan to split up the project into multiple modules is available here: https://github.com/jbake-org/jbake/issues/117 - are you interested in working on this?

If you want to start a discussion on the developers mailing list for your other ideas I can bring you up to speed with what is currently being worked on and by who?

ieugen commented 8 years ago

Hi,

Thanks for the reply. I agree that things should be discussed and this is how comunity will grow. Having that said, I did notice that those threads are 2 years old and jbake is still monolithic.

I think its time for action. My take from the discussions is:

I also think we should make the development/contribution process more open so the project will grow. I say this because we are all too busy to contribute from time to time and it is desirable that the project moves forward regardless of our personal schedules.

I am a contributor to Apache Software Foundation, OPS4j, Debian Project and I know comunity is very important for an open source project.

I would suggest jbake took some practices/policies/processes from those comunities.

p.s. I would also like to have a chat (text or sound) with you @jonbullock to get to know eachother and the plans.

ancho commented 8 years ago

:+1: Thank you @ieugen for pushing the growing of the community forward. I'm looking forward to learn from your experience.

danielkocot commented 8 years ago

@ieugen You are right the contribution process should be more open. If not so we loose the chance of a growing community :-). I would like to take part in this process :-).

jonbullock commented 8 years ago

I realise there are multiple discussions going on in different places but for completeness sake I'll comment here:

@ieugen could you provide some examples on practices/policies/processes you have in mind? I'll also try to be on IRC a bit more over the coming week so we can get a chat started.

jonbullock commented 8 years ago

Linking this to the original issue #117

ieugen commented 8 years ago

@jonbullock There are no silver bullets since each project is unique. This should also be done gradually, as the need arises and we should split to get benefits, not just because we can.

The functionality that I see can be part of different modules right now is:

By separating them like this we allow people to embed jbake-core into their own applications, without dragging a lot of dependencies (like jetty and CLI parsing libs, etc). Of course we could split core further into rendering plugins and such, but at the moment this should be enough. That should be done as a later step in my opinion.

Am I making sense :)?

jonbullock commented 8 years ago

@ieugen On the separation into sub modules, yeah absolutely. :)