Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update sbt-native-packager to 1.9.11 #826

Conversation

scala-steward
Copy link
Contributor

Updates com.github.sbt:sbt-native-packager from 1.9.9 to 1.9.11.
GitHub Release Notes - Changelog - Version Diff

I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.

If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.

Configure Scala Steward for your repository with a .scala-steward.conf file.

Have a fantastic day writing Scala!

Adjust future updates

Add this to your .scala-steward.conf file to ignore future updates of this dependency:

updates.ignore = [ { groupId = "com.github.sbt", artifactId = "sbt-native-packager" } ]

Or, add this to slow down future updates of this dependency:

dependencyOverrides = [{
  pullRequests = { frequency = "@monthly" },
  dependency = { groupId = "com.github.sbt", artifactId = "sbt-native-packager" }
}]

labels: sbt-plugin-update, early-semver-patch, semver-spec-patch, commit-count:1

Copy link
Contributor

@tuxji tuxji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

-1 unless we can fix failed tests (and bad scoverage options on Windows)

  • Do all automated continuous integration checks pass?
    No, Windows checks fail due to bad scoverage options, while Unix checks fail due to scoverage plugin bumping scala-xml version from 2.0.1 to 2.1.0
  • Is the update a patch, minor, or major update?
    Patch update, no changes should affect Daffodil
  • Is the license still compatible with ASF License Policy?
    Yes, still BSD-2
  • Have any changes been made to LICENSE/NOTICE files that need to be incorporated?
    No changes, but not distributed
  • Have any transitive dependencies been added or changed?
    No changes, but not distributed

@stevedlawrence
Copy link
Member

I dug a little bit into this looking for a solution. The issue is that sbt-native-packager was updated to depend on scala-xml 2.1.0, but sbt-scoverage depends on scala-xml 1.3.0. Because of the major version change, SBT views these is incompatible and requires a change somewhere.

One solution is to manually override this by putting this in the plugins.sbt file:

dependencyOverrides ++= Seq(
  "org.scala-lang.modules" %% "scala-xml" % "2.1.0",
)

I've tested this and it seems to work: https://github.com/stevedlawrence/daffodil/runs/8119251364?check_suite_focus=true

One downside is I don't think scala-steward updates these dependencyOverrides, so this version will never be updated unless we manually update it. It's also possible there actually is a binary incompatibility that just isn't showing up.

Another option is to just wait for sbt-scoverage to update to scala-xml 2.x. Though, they don't currently have a ticket for this, and it's unclear when/if it will happen.

@stevedlawrence
Copy link
Member

Another option, switch to a different coverage tool, e.g. sbt-jacoco. Considering our issues with scoverage and windows, this might be a good alternative.

@tuxji
Copy link
Contributor

tuxji commented Aug 31, 2022

A slight correction: sbt-scoverage's most recent releases have already updated to scala-xml 2.1.0 (we don't have to wait for that to happen). However, we are blocked from using sbt-scoverage's most recent release, 2.0.2, due to a Windows issue which the sbt-scoverage project has not fixed yet. See PR #823.

I looked at sbt-jacoco's documentation and issues. Their documentation looks good (they appear to have all the functionality needed to replace sbt-scoverage in Daffodil) but their newest issue, Coverage for java code files, hasn't been fixed since it was posted in Nov 2021 (java files are instrumented, but their coverage are missing from the aggregate report).

@stevedlawrence
Copy link
Member

Yeah, I looked a jacoco and it said we have 33% coverage, maybe it can't handle scala very well....

I didn't realize scoverage had updated to 2.1.0, so yeah, I guess we're blocked on scoverage fixing the windows issue.

@stevedlawrence
Copy link
Member

Closing, dependency updated as part of #843

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants