/ballerina

Ballerina is a new programming language for integration built on a sequence diagram metaphor.

Primary LanguageJavaApache License 2.0Apache-2.0

                                   Build Status GitHub (pre-)release GitHub (Pre-)Release Date GitHub last commit License

Ballerina makes it easy to create resilient services that integrate and orchestrate transactions across distributed endpoints.

Ballerina allows you to code with a statically-typed, interaction-centric programming language where microservices, APIs, and streams are first-class constructs. You can use your preferred IDE and CI/CD tools. Discover, consume, and share packages that integrate endpoints with Ballerina Central. Build binaries, containers, and Kubernetes artifacts and deploy as chaos-ready services on cloud and serverless infrastructure. Integrate distributed endpoints with simple syntax for resiliency, circuit breakers, transactions, and events.

Table of contents

Getting started

You can use one of the following options to try out Ballerina.

Download and install

Download the binary

You can download the Ballerina distribution at http://ballerina.io.

Install from source

Alternatively, you can install Ballerina from the source using the following instructions.

Prerequisites

Building the source

  1. Clone this repository using the following command.

    git clone --recursive https://github.com/ballerina-platform/ballerina-lang

    If you download the sources, you need to update the git submodules using the following command.

    git submodule update --init 
  2. Run the Maven command mvn clean install from the repository root directory.

  3. Extract the Ballerina distribution created at distribution/zip/ballerina/target/ballerina-<version>-SNAPSHOT.zip.

Contributing to Ballerina

As an open source project, Ballerina welcomes contributions from the community. To start contributing, read these contribution guidelines for information on how you should go about contributing to our project.

Check the issue tracker for open issues that interest you. We look forward to receiving your contributions.

License

Ballerina code is distributed under Apache license 2.0.

Useful links

  • The ballerina-dev@googlegroups.com mailing list is for discussing code changes to the Ballerina project.
  • Chat live with us on our Slack channel.
  • User support should be posted on Stack Overflow with the #ballerina tag.