mill icon indicating copy to clipboard operation
mill copied to clipboard

Don't include resources into compileClasspath.

Open vic opened this issue 2 years ago • 5 comments

Instead we now have a compileResources that is part of compileClasspath.

Fixes #1807

  • #1826

vic avatar Apr 02 '22 06:04 vic

This looks ok so far, but this need to wait until the next major version (probably 0.11), as it changes the dependencies between targets which is an issue for downstream plugins.

To get CI green, some tests need to be adapted.

lefou avatar Apr 04 '22 09:04 lefou

This looks ok so far, but this need to wait until the next major version (probably 0.11), as it changes the dependencies between targets which is an issue for downstream plugins.

We have no clear rule when to start development on next major. Until now, we just bumped the version when needed. So that might be also the case for this PR. But as we now take compatibility serious, we should avoid too many major bumps in a short time to remove stress from downstream projects like external Mill plugins.

lefou avatar Apr 04 '22 09:04 lefou

This is the error in CI:

X mill.scalalib.bsp.BspModuleTests.bspCompileClasspath.single module.dependent module 362ms 
  utest.AssertionError: #2: relResults == expected,
  relResults: Seq[os.FilePath] = Vector(/home/runner/work/mill/mill/target/worksources/mill/scalalib/bsp/BspModuleTests/MultiBase/HelloBsp/compile-resources, /home/runner/work/mill/mill/target/worksources/mill/scalalib/bsp/BspModuleTests/MultiBase/HelloBsp2/resources, /home/runner/work/mill/mill/target/workspace/mill/scalalib/bsp/BspModuleTests/eval/bspCompileClasspath/single module/dependent module/HelloBsp/compile.dest/classes, logback-classic-1.1.10.jar, logback-core-1.1.10.jar, scala-library-2.13.8.jar, slf4j-api-1.7.34.jar)
  expected: Seq[os.FilePath] = List(/home/runner/work/mill/mill/target/worksources/mill/scalalib/bsp/BspModuleTests/MultiBase/HelloBsp/resources, /home/runner/work/mill/mill/target/worksources/mill/scalalib/bsp/BspModuleTests/MultiBase/HelloBsp2/resources, /home/runner/work/mill/mill/target/workspace/mill/scalalib/bsp/BspModuleTests/eval/bspCompileClasspath/single module/dependent module/HelloBsp/compile.dest/classes, logback-classic-1.1.10.jar, logback-core-1.1.10.jar, scala-library-2.13.8.jar, slf4j-api-1.7.34.jar)
    utest.asserts.Asserts$.assertImpl(Asserts.scala:30)
    mill.scalalib.bsp.BspModuleTests$.$anonfun$tests$12(BspModuleTests.scala:81)
    mill.scalalib.bsp.BspModuleTests$.$anonfun$tests$12$adapted(BspModuleTests.scala:59)
    mill.scalalib.bsp.BspModuleTests$.workspaceTest(BspModuleTests.scala:37)
    mill.scalalib.bsp.BspModuleTests$.$anonfun$tests$11(BspModuleTests.scala:40)

You need to reflect the changed resource directory name in the expected result.

lefou avatar Apr 05 '22 13:04 lefou

@lefou thanks will fix that. I saw a lot of ci failures and didn't still had enough time to find which of them were caused by my change. thanks for pointing out. any particular suite you recommend me to run ?

vic avatar Apr 05 '22 15:04 vic

As you touch scalalib it's a good idea to run scalalib.test, at least. It's perfectly ok to push and just review what the CI reports. Besides of some sporadic CI failures (which I typically review and restart from time to time), all test must pass.

lefou avatar Apr 05 '22 15:04 lefou

We finally merged it. Thanks @vic for this contribution and your patience!

lefou avatar Dec 10 '22 10:12 lefou