Skip to content

Outdated compilation when src dir is removed and added back #1347

Open
@odisseus

Description

@odisseus

Environment details

$ bloop about
bloop v1.4.3

Using Scala v2.12.8 and Zinc v1.3.0-M4+45-d4354be3
Running on Java JDK v11.0.6 (~/.sdkman/candidates/java/11.0.6.hs-adpt)
  -> Supports debugging user code, Java Debug Interface (JDI) is available.
Maintained by the Scala Center (Jorge Vicente Cantero, Martin Duhem)

Steps to reproduce

Download the example project

ipfs get --output bloop-bug-example QmaRTWDyJp3GeiAQQdLrjSXcE99sn4GVMAJ2QEgDQVXKBv

or:

curl --silent --output bloop-bug-example.tar.gz 'https://gateway.pinata.cloud/api/v0/get?arg=QmaRTWDyJp3GeiAQQdLrjSXcE99sn4GVMAJ2QEgDQVXKBv&archive=true&compress=true'
mkdir bloop-bug-example
tar -xvf bloop-bug-example.tar.gz -C bloop-bug-example --strip-components=1

Compile and run for the first time

cd bloop-bug-example
bloop run -p hello-world_app

Expected output: 14

Exclude one of the source directories

vim .bloop/hello-world_app.json

Find the source entry called "/tmp/fury-testing/src2", and remove it from the configuration file.

Compile and run for the second time

bloop run -p hello-world_app

The code will still compile, but the application will behave differently.

Expected output: 5

Bring back the source directory that was excluded:

vim .bloop/hello-world_app.json

Edit the configuration file again to restore the source entry that was removed previously.

Compile and run for the third time

bloop run -p hello-world_app

Since the project configuration is now the same as it was during the first run, the output should also be the same, shouldn't it?

Expected output: 14
Actual output: 5

Clean and recompile

The problem disappears if the project is cleaned:

bloop clean -p hello-world_app
bloop run -p hello-world_app

Expected output: 14

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions