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
- Host: GitHub
- URL: https://github.com/propensive/fury-old
- Owner: propensive
- License: apache-2.0
- Created: 2018-09-29T17:43:17.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-09-03T21:34:24.000Z (8 months ago)
- Last Synced: 2025-04-02T04:04:07.338Z (23 days ago)
- Topics: build, build-tool, compilation, dependency-manager, java, scala
- Language: Scala
- Homepage:
- Size: 5.2 MB
- Stars: 411
- Watchers: 20
- Forks: 34
- Open Issues: 138
-
Metadata Files:
- Readme: readme.md
- Contributing: contributing.md
- License: license.md
Awesome Lists containing this project
- awesome-java - Fury
README
[
](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)
## 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
.
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).