oblac / jodd

Jodd! Lightweight. Java. Zero dependencies. Use what you like.

Home Page:https://jodd.org

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Move modules into separate projects

igr opened this issue · comments

Should we separate Jodd tools into separate projects:

  • core
  • http
  • json
  • email

and let them have their own lifecycle and versioning?

@neroux @slandelle @moh-sushi

This somewhat brings us back to #388 and #570. Is there a particular reason why you'd like to address this possibility now once more? Are there issues with the way it is currently packaged?

What is the origin of this issue, @igr ?
Why did you create this issue?

With no further information, I see it the way @neroux does.

Further question:
Why do you only want to separate these libraries?
What about Lagarto or (mini framework) Madvoc?

What happened is that there is a contribution: Android version of Jodd-Http client. It would be cool if things like that stays together - in the same repo. Jodd repo would then just consist of git modules, for example.

I would not split everything, just tools. Frameworks maybe not. I dunno.

I would probably do that before, but never had time to invest in this...

What happened is that there is a contribution: Android version of Jodd-Http client.

What do you mean by that? How is that different from now? AFAIK your focus was on Java 8+ and its tricky to get that running on Android.

It would be cool if things like that stays together - in the same repo.

Well, one of the benefits of Jodd IMHO is it is a compact library which offers a lot in a single JAR file. Splitting that up would negate that, and I still cant get what the benefit of it should be.

What do you mean by that? How is that different from now? AFAIK your focus was on Java 8+ and its tricky to get that running on Android.

It was, but someone actually ported it :)

It was, but someone actually ported it :)

What did he port? I am using a version of it before the Java 8 migration on Android too :)

I am still a bit in the dark as to the reason why Jodd should be split though.

One question @neroux - do you really see the value in having one jar? I mean, with e.g. jodd-joy you can get the all the dependencies easily, so basically you dont need to think about that.

This is the port: https://github.com/mtsoleimani/jodd-http-android

Personally, I do. I do my dependency "management" myself and add the necessary jar files manually. That's what always stood out for me when it comes to Jodd, quite a few libraries in one single small jar file.

As for the port, without a commit history it is difficult to tell what they changed, but when I adapted it for Android there wasn't that much to do, it was mostly the certificate validation. Admittedly, it was based on a previous code base, before the switch to Java 1.8.

But I guess if it is split into different libraries but still has an all-in-one package it shouldn't be that much of an issue and Jodd would still live up to its slogan :)

But I guess if it is split into different libraries but still has an all-in-one package it shouldn't be that much of an issue and Jodd would still live up to its slogan :)

That is true, I would not remove this :) The only difference is that the version of bundle jar would be a datestamp.

I guess everything should be fine then :)

My concern was Jodd would be split up into dozens of small libraries and you'd need to include each file separately. If you plan to keep the all-in-one library untouched in this regard, it shouldnt matter if the individual packages are all part of one project or scattered around.

Only my two cents :)

If you plan to keep the all-in-one library untouched in this regard

Yeah, this was never a question - the bundle would be there :)

What about this case:

jodd-json : version 6.2.3 (with dep to jodd-core 5.3.9)
jodd-mail : version 5.4.5 (with dep to jodd-core 5.4.6)

The version of these libs may differ due to own versioning.
jodd-json and jodd-mail have dependencies to jodd-core.

if you add jodd-json and jodd-mail with its current version (see above) into the pom.xml there may be two different jodd-core jars (due to different versions) in the classpath.

correct?

this is not a good idea. you will spend more time on every project and deal with all kinds of dependency.

You certainly open up Pandora's box of versioning if you split it, but thats a (somewhat) logical conclusion in that case.

This is so I don't think about it ever again :)

This is so I don't think about it ever again :)

I am seriously considering of adding https://github.com/oblac/ to every single blocking list out there I could think of 😆

Igor, you do realise, the next time you suggest Jodd should be split I'll be longterm renting a digital billboard across from your very apartment and will have that animation played 24/7 😈

Hahahaa, that would be a party !!!!!!
They say visual cues are the best, so I tried :)))

That cue is a sledgehammer though 😆