Important
JeKa 0.11.0 has been released!!!
This release brings major and drastic changes compared to previous JeKa versions.
The content of this page reflects the new version and does not apply to 0.10.x.
The existing IDE plugin for IntelliJ still works with Jeka 0.10.x but is no longer compatible with the new version. A new plugin for Jeka 0.11.x is under development.
The official documentation provides information for both versions and a migration guide.
Are you a developer, technical writer, or user interested in making an impact? We invite you to join us in contributing code, documenting knowledge, or providing valuable feedback. Your participation is crucial in creating something great. At Jeka, every contribution counts, and every voice matters. Collaborate with like-minded individuals and help shape the future of our community.
Let’s build, learn, and grow together. Join us and make a difference.
See contribution page for starting.
JeKa is a Java build tool for building or executing Java applications and scripts, directly from source code.
Its key features include:
-
Portable Builds: JeKa automatically downloads the required JDKs and tools, this includes JDKs, Graalvm, Maven deps, NodeJs, OpenAPI, JeKa itself and more. You won't need to setup your machine or a container images prior building.
-
Direct App Execution: JeKa run applications directly from their Git repository, providing a means to distribute Java applications as source.
-
Customizable and Extendable: JeKa can be configured with a concise property file for generic cases, or by Java code for specific needs. Also, JeKa provides a simple plugin mechanism that allows for easy extension.
-
Kotlin Support: Scripts or applications can also be implemented using the Kotlin language.
-
Use Java for scripting
JeKa makes it ridiculously easy to write and execute scripts using the Java language. Write your automated tasks directly in Java, using third-party dependencies or not, and execute them from anywhere, without any setup.
-
Build projects - Create delivery pipelines
Build projects and seamlessly combine scripts to create comprehensive CI/CD pipelines that can run anywhere, from IDE debugger to cloud CI/CD environments.
JeKa can also complement other build tools such as Maven or Gradle to fulfill their missing features.
-
Deliver applications as sources
JeKa can execute entire Java applications of any kind and size directly from their Git repository.
Simply commit or tag repository to publish application.
-
Make Java fun for newcomers
Say goodbye to learning legacy build tools and grappling with JDKs when starting with Java.
Write Java code and execute it directly from anywhere, with minimal or zero setup.
-
Centralize build logic
Define project build and CI/CD logic in one place, and reuse across all your organization.
- Execute the 'cow says' cmd-line program directly from Github
- Execute a calculator GUI app directly from Github
- Build a Springboot-Agular application, including Sonarqube analysis and Docker E2E testing
- Build, run, dockerize, and publish application with zero-conf
- Publish a library on Maven Central See also
Other Examples of projects built with JeKa.
Visit following pages according your expectation :
KBeans are JeKa components that expose functionnalities to the command line. They can also be conveniently activated and configured via properties, or via other KBeans.
Plugins generally contain one KBean, but they can contain zero or many.
JeKa is bundled with KBeans covering : IDE integration (IntelliJ Eclipse), Java/Kotlin Project building, Maven publication, Git integration, Docker and more.
You can get a description of the functionalities provided by the KBeans by executing jeka --doc
Additionnaly JeKa offers high and low level api for dealing with dependency management, compilation, testing, Git, GPG signing, Scaffolding, Maven publication, Docker image maker, ...
External plugins require to be explicitly imported. They are hosted as jar file in Maven Central.
The following plugins are hosted in same monorepo then JeKa, and so are released in conjunction which means that we don't need to specify their version when importing.
The following plugins are maintained in their own repos.
JeKa follows Semantic Versioning 2.0.
This project is supported by OW2 consortium.
Issues: https://github.com/jeka-dev/jeka/issues
Discussions: https://github.com/orgs/jeka-dev/discussions
Twitter: https://github.com/jeka-dev/jeka
Email support : support@jeka.dev