/nailgun

Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead.

Primary LanguageJavaOtherNOASSERTION

nailgun

Build status


Note: Nailgun is based on original code developed by Marty Lamb. In October, 2017, Marty transferred the repository to Facebook, where it is was previously maintained by the Buck1 team. In April, 2023, Buck1 was deprecated in favor of Buck2, which does not use Nailgun. As a result this repository is now unmaintained.

Nailgun remains available under the Apache license, version 2.0.


Build and Installation

Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead.

Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.

The server and examples are built using maven. From the project directory, "mvn clean install" will do it.

The client is built using make. From the project directory, "make && sudo make install" will do it. To create the windows client you will additionally need to "make ng.exe".

This repository contains implementations of a nailgun client in Python and in C.

For additional client implementations in other languages, see:

  • snailgun, a client implementation written in Scala that compiles to native.
  • railgun, a client implementation written in Ruby.

For more information, see the nailgun website.

License

Apache License 2.0

Legal