Giter VIP home page Giter VIP logo

jerkar's Introduction

Build Status Maven Central
                                             

Jerkar is a complete build system ala Ant, Maven, Gradle or Buildr but using pure Java to describe builds : no XML, no foreign language. Breaking a common belief, it makes proof that Java is perfectly suitable in this domain.

How to use Jerkar

Jerkar is expected to have a very fast learning curve for Java developers. You can visit the following page in this order :

How to build Jerkar

Jerkar is made of following projects :

  • core : complete Jerkar project but without embedding following plugins
  • plugins-jacoco : a plugin to perform test coverage
  • plugins-sonar : a plugin to perform sonar analysis
  • distrib-all : the core distrib augmented with the above plugins

Jerkar builds itself. To get Jerkar full distrib built from the Java sources only, the simpler is to build it from your IDE.

Build Jerkar from Eclipse

  • Import the 4 projects described above in Eclipse (that already holds .project and .classpath files)
  • Create a Java Application run configuration (Run Configuration ... -> Java Application -> new)
    • Make sure that the Runtime JRE is a JDK (6 or above)
    • Choose org.jerkar.distrib-all as project
    • Choose org.jerkar.tool.Main as Main class
  • Run it : It will launch a multi-project build. You will find result for the full distrib in org.jerkar.distrib-all/build/output directory

Build Jerkar from IntelliJ

You can achieve the same using Intellij as Intellij module definitions (.iml) are stored in git. org.jerkar.distrib-all contains the project definition (.idea folder).

Status

First releases has been delivered. It contains all features a self respecting build tool must have : from compilation to publication features. Now we'll plan to deliver new releases at fast pace. You're welcome to push your expectation for next releases.

Want to contribute ?

Jerkar welcomes contributors. As a new project there's plenty of free rooms to start : You can extends/debug the jerkar project itself but you van also write addin/plugin for integrate better Jerkar with your favorite technology. Don't be intimidated, it's relatively easy and you can provide great added value just by writing very few code. As an example, look at the Spring Boot addin. Also do not hesitate to contact contributors to discuss about what is best to start with.

Coding rule

If you contribute to Jerkar Core project, there's only 1 rule : try to mimic the current style :-). More concretely :

  • Make a class public only when really needed. If a class is public, it should be prefixed with Jk (The goal is to not pollute auto-completion in IDE when Jerkar is on the build path).
  • Favor immutable objects.
  • Embrace a fluent style API (so stay away from JavaBean coding conventions).
  • Don't use 3rd party dependencies (Use or enrich JkUtilsXxxxx classes for commons).
  • Make your code JDK6 complient (probably switch to JDK 7/8 soon).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.