Skip to content

bloop-frontend v1.0.0-M9

Pre-release
Pre-release
Compare
Choose a tag to compare
@bloopoid bloopoid released this 06 Apr 18:31
· 4357 commits to main since this release
63b8486

Bloop v1.0.0-M9

Bloop is getting closer and closer to 1.0.0! 🚶‍♂️

This milestone of Bloop includes changes to the configuration files; you'll need to re-generate
your configuration files if you used a previous version of Bloop. See the installation
instructions
.

Install the latest release 🍬

If you're on Mac OS X, upgrade to the latest version with:

$ brew install scalacenter/bloop/bloop

Otherwise, run:

$ curl -L https://github.com/scalacenter/bloop/releases/download/v1.0.0-M9/install.py | python

Read the complete instructions in our Installation page.

Highlights

Change configuration file to JSON 📝

Requires a complete regeneration of configuration files

The configuration file didn't have a well-specified format that could be reused
by external tools, was difficult to read and write and didn't allow the
representation of nested data structures. Java properties were flexible, but
didn't quite cut them as a good configuration file.

This release replaces the Java properties file with JSON configuration files,
accompanied of a JSON schema, accessible in The Configuration
Format
docs. The docs display with docson the json schema.

Bloop v1.0.0-M9 also includes the bloop-config Scala artifact so that
external tools can read and write Bloop configuration files.

We hope that this format makes it easier to integrate with bloop.

Support for test options 🤺

Requires a complete regeneration of configuration files

Bloop now supports options for the test frameworks, and they can be specified
in the configuration file.

These options are framework specific. They specify excludes and the test
arguments passed in to the test server initialization.

This new feature allows to fix a bug in JUnit test execution. The JUnit test
framework required the -z defaults to show the test logs, and those defaults
are now visible in the configuration files and interpreted by bloop test
runner. #329 is now fixed.

Remove stale configuration files in sbt 🔨

Stale configuration files are configuration files for projects that have been
removed from the stock build tool after doing bloopInstall. These
configuration files stay in the configuration directory if they are not removed
manually by the user. Their presence causes bloop to load them up and try to
compile projects that don't exist anymore. As a result, bloop now removes these
files if it detects that a project has been removed.

The configuration directory has been migrated to .bloop 🚀

Requires a complete regeneration of configuration files

The previous default configuration directory was .bloop-config, which was
a misnomer given that bloop also stores the analysis files and the classes
directory within .bloop-config.

This release makes .bloop the new default one. Make sure you add it to your
.gitignore file to avoid pushing the configuration files to your repository.

Use user nailgun environment to run and test projects 🔧

Bloop didn't expose the environment variables from the use site to the test or
main runners.

With this change, any environment variable that you update at the CLI use site
will be visible to Bloop, and therefore accessible in your test suites and main
classes.

Detect compile->test and test->compile dependencies 🕵️‍♂️

Generating configuration files for compile->test and test->compile
configurations is common when you want the tests of a project to depend only on
the compile of a downstream project.

This release makes sbt-bloop recognize these dependencies and output the correct
dependencies.