An open API service indexing awesome lists of open source software.

https://github.com/propensive/fury-old

A new build tool for JVM languages
https://github.com/propensive/fury-old

build build-tool compilation dependency-manager java scala

Last synced: 16 days ago
JSON representation

A new build tool for JVM languages

Awesome Lists containing this project

README

        

[GitHub Workflow](https://github.com/propensive/fury/actions)
[](https://gitter.im/propensive/fury)
[](https://discord.gg/CHCPjERybv)
[](https://app.element.io/#/room/#propensive.fury:matrix.org)
[](https://twitter.com/propensive)
[](https://vent.dev)

Fury

## Overview

Fury is a long-term project to create next-generation build tooling to address the greatest challenges of
building software in an ever-changing environment, while maintaining the predictability, reliability and
simplicity of builds.

## Features
- fully data-oriented model for builds
- builds may be defined in terms of sources or binary dependencies
- power to control a build and the builds of all its source dependencies
- advanced support for conflict resolution amongst dependencies
- intuitive command-line API, with visual interfaces available later (Milestone 3)
- hierarchical model of builds and build distribution
- support for compiling Scala 2.x, Scala 3, Scala.js and Java
- composable variants of builds, for generalized cross-building (Milestone 2)
- support for running Docker containers as part of a build (Milestone 2)
- compilation distributed over the network (Milestone 3)
- optionally external builds, shared independently of source code

## Fury Concepts

Fury introduces a number of new concepts for developers. While full documentation is in the process of being
written, a [work-in-progress document](doc/concepts.md) provides a lot of detail on these new ideas and how they
work.

## Release

Fury is approaching its first public milestone release, _Alecto_. This will be the first release of Fury capable
of building a majority of Scala projects. Fury’s future plans are described in
[the roadmap](doc/roadmap.md).

## Installation

Pre-release versions of Fury (with no guarantees on features or reliability) may be installed by running,
```sh
curl -Ls get.fury.build | sh
```
in a shell, or alternatively,
```sh
curl -Ls get.fury.build > install
./install system install
```
if you would prefer to inspect the script before running it.

For more details, see the full [installation instructions](doc/install.md).

## Getting Started

To set up a simple Fury project, follow the short [tutorial for Scala](doc/tutorial.md) or, if you prefer, the
[tutorial for Java](doc/tutorial-java.md).

## Website

Full information about Fury is available on the [Fury website](https://propensive.com/opensource/fury).

## Contributing

Contributors to Fury are welcome and encouraged. New contributors may like to look for issues marked
label: good first issue.

We suggest that all contributors read the [Contributing Guide](/contributing.md) to make the process of
contributing to Fury easier.

Please __do not__ contact project maintainers privately with questions, as other users cannot then benefit from
the answers.

## Author

Fury was designed and developed by [Jon Pretty](https://twitter.com/propensive), and commercial support and
training is available from [Propensive OÜ](https://propensive.com/).

## License

Fury is copyright © 2018-20 Jon Pretty & Propensive OÜ, and is made available under the
[Apache 2.0 License](/license.md).