Help developers discover the tools you use. Get visibility for your team's tech choices and contribute to the community's knowledge.
Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. | Pants is a build system for Java, Scala and Python. It works particularly well for a source code repository that contains many distinct projects. |
| - | Builds Java, Scala, and Python.;Adding support for new languages is straightforward.;Supports code generation: thrift, protocol buffers, custom code generators.;Resolves external JVM and Python dependencies.;Runs tests.;Spawns Python and Scala REPLs with appropriate load paths.;Creates deployable packages.;Scales to large repos with many interdependent modules.;Designed for incremental builds.;Support for local and distributed caching.;Especially fast for Scala builds, compared to alternatives.;Builds standalone python executables (PEX files);Has a plugin system to add custom features and override stock behavior.;Runs on Linux and Mac OS X. |
Statistics | |
GitHub Stars 57.1K | GitHub Stars 3.7K |
GitHub Forks 26.9K | GitHub Forks 674 |
Stacks 343.6K | Stacks 23 |
Followers 184.2K | Followers 86 |
Votes 6.6K | Votes 30 |
Pros & Cons | |
Pros
Cons
| Pros
|

Maven allows a project to build using its project object model (POM) and a set of plugins that are shared by all projects using Maven, providing a uniform build system. Once you familiarize yourself with how one Maven project builds you automatically know how all Maven projects build saving you immense amounts of time when trying to navigate many projects.

Gradle is a build tool with a focus on build automation and support for multi-language development. If you are building, testing, publishing, and deploying software on any platform, Gradle offers a flexible model that can support the entire development lifecycle from compiling and packaging code to publishing web sites.

Bazel is a build tool that builds code quickly and reliably. It is used to build the majority of Google's software, and thus it has been designed to handle build problems present in Google's development environment.

Mercurial is dedicated to speed and efficiency with a sane user interface. It is written in Python. Mercurial's implementation and data structures are designed to be fast. You can generate diffs between revisions, or jump back in time within seconds.

Subversion exists to be universally recognized and adopted as an open-source, centralized version control system characterized by its reliability as a safe haven for valuable data; the simplicity of its model and usage; and its ability to support the needs of a wide variety of users and projects, from individuals to large-scale enterprise operations.

Plastic SCM is a distributed version control designed for big projects. It excels on branching and merging, graphical user interfaces, and can also deal with large files and even file-locking (great for game devs). It includes "semantic" features like refactor detection to ease diffing complex refactors.

Pijul is a free and open source (AGPL 3) distributed version control system. Its distinctive feature is to be based on a sound theory of patches, which makes it easy to learn and use, and really distributed.

JitPack is an easy to use package repository for Gradle/Sbt and Maven projects. We build GitHub projects on demand and provides ready-to-use packages.

It is similar to Java's Maven and Ant. Its main features are: Native support for compiling Scala code and integrating with many Scala test frameworks.

Buck encourages the creation of small, reusable modules consisting of code and resources, and supports a variety of languages on many platforms.