/jodd

Jodd

Primary LanguageJavaBSD 2-Clause "Simplified" LicenseBSD-2-Clause

Jodd

GitHub release Build Status Coverage Status Snapshot JitPack Stack Overflow Twitter BSD License Codacy Badge

Jodd is set of open source Java micro-frameworks and tools; compact, yet powerful.

Jodd = tools + ioc + mvc + db + aop + tx + json + html < 1.7 Mb

📙 READ about Jodd:

💬 TALK about Jodd: jodd.slack.com

⚡ Jodd Modules

Jodd is split into many modules, so choose what to use. Some tools and utility modules are:

  • jodd-core contains many utilities, including JDateTime.
  • jodd-bean, our infamous BeanUtil, type inspectors and converters.
  • jodd-props is the super-replacement for Java Properties.
  • jodd-mail for easier email sending.
  • jodd-upload, handles HTTP uploads.
  • jodd-servlet with many servlet utilities, including nice tag library.
  • jodd-http, tiny HTTP client.

and some micro-frameworks:

  • jodd-madvoc - slick MVC framework.
  • jodd-petite - pragmatic DI container.
  • jodd-lagarto - HTML parser with Jerry and CSSelly.
  • jodd-decora - pages decorator.
  • jodd-htmlstapler - static page resources handler.
  • jodd-proxetta - dynamic proxies and Paramo.
  • jodd-db - thin database layer and object mapper.
  • jodd-json - JSON parser and serializer.
  • jodd-vtor - validation framework.

Read more in our official documentation.

☀️ Jodd Bundle

If you are already using many Jodd jars, you can simply just use the bundle jar: jodd-all. It's a single jar with all modules included; where all dependencies are optional. Why not :)

:octocat: Building Jodd from source

Jodd is built with Gradle on JDK8, targeting Java 1.8. You don't have to install anything, the only prerequisites are Git and Java JDK.

Check out sources

Simply clone Jodd Git repo:

git clone https://github.com/oblac/jodd.git jodd

Compile and test, build jars

You can build the Jodd project with:

gradlew build

This will build all jars and run all unit tests. To skip the tests (for faster build), execute:

gradlew build -x test

Build full release with reports

To generate full release, including running integration tests and generating various reports, you need Docker v1.12+.

docker-compose -f etc/docker-compose.yml up
gradlew clean release

Integration tests requires some infrastructure (like databases), hence Docker is used.

Install Jodd into your local Maven

gradlew install

💝 Contribute

Feel free to contribute! Follow these steps:

First time only:

  • fork the Jodd repo (upstream) to your GitHub account (origin).
  • clone origin as your local repo

Every other time:

  • update both origin and local repos from upstream
  • create new branch for a feature or bug fix
  • commit often :)
  • once when work is done, push local changes to your origin
  • send us a pull request (PR)

We will pickup up from there :)

🚀