Skip to content

JacocoItPlugin not working #110

@adrianprecub

Description

@adrianprecub

Expected vs Actual Behaviour

Run jacoco for integration tests

Instead throws an error when i enable JacocoItPlugin.

Steps to Reproduce

I removed the below lines from my build.sbt

configs(IntegrationTest)
Defaults.itSettings

And enabled plugin JacocoItPlugin along with the playjava plugin: enablePlugins(PlayJava, JacocoItPlugin)
I also have these settings in my jacoco.sbt file:

jacocoReportDirectory := file(target.value + "/reports/jacoco")
jacocoReportSettings in Test := JacocoReportSettings()
  .withTitle("Jacoco Unit Tests Coverage Report")
  .withFileEncoding("UTF-8")
  .withFormats(JacocoReportFormats.ScalaHTML, JacocoReportFormats.XML)

jacocoReportSettings in IntegrationTest := JacocoReportSettings()
  .withTitle("Jacoco Integration Tests Coverage Report")
  .withFileEncoding("UTF-8")
  .withFormats(JacocoReportFormats.ScalaHTML, JacocoReportFormats.XML)

When i try to run

>sbt it:jacoco

i get the following error:
java.lang.IllegalArgumentException: Cannot add dependency 'org.jacoco#org.jacoco.agent;0.7.9' to configuration 'it' of module MyModule;1.9.0-SNAPSHOT because this configuration doesn't exist! at org.apache.ivy.core.module.descriptor.DefaultDependencyDescriptor.addDependencyConfiguration(DefaultDependencyDescriptor.java:565) at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.parseDepsConfs(AbstractModuleDescriptorParser.java:157) at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.parseDepsConfs(AbstractModuleDescriptorParser.java:128) at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.parseDepsConfs(AbstractModuleDescriptorParser.java:118) at org.apache.ivy.plugins.parser.AbstractModuleDescriptorParser$AbstractParser.parseDepsConfs(AbstractModuleDescriptorParser.java:113) at sbt.CustomXmlParser$CustomParser.parseDepsConfs(CustomXmlParser.scala:32) at sbt.IvySbt$.convertDependency(Ivy.scala:615) at sbt.IvySbt$$anonfun$9.apply(Ivy.scala:564) at sbt.IvySbt$$anonfun$9.apply(Ivy.scala:564) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) at scala.collection.immutable.List.foreach(List.scala:318) at scala.collection.TraversableLike$class.map(TraversableLike.scala:244) at scala.collection.AbstractTraversable.map(Traversable.scala:105) at sbt.IvySbt$.addDependencies(Ivy.scala:564) at sbt.IvySbt$Module.configureInline(Ivy.scala:194) at sbt.IvySbt$Module.x$6$lzycompute(Ivy.scala:172) at sbt.IvySbt$Module.x$6(Ivy.scala:167) at sbt.IvySbt$Module.sbt$IvySbt$Module$$moduleDescriptor0$lzycompute(Ivy.scala:167) at sbt.IvySbt$Module.sbt$IvySbt$Module$$moduleDescriptor0(Ivy.scala:167) at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156) at sbt.IvySbt$Module$$anonfun$withModule$1.apply(Ivy.scala:156) at sbt.IvySbt$$anonfun$withIvy$1.apply(Ivy.scala:133) at sbt.IvySbt.sbt$IvySbt$$action$1(Ivy.scala:57) at sbt.IvySbt$$anon$4.call(Ivy.scala:65) at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95) at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80) at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99) at xsbt.boot.Using$.withResource(Using.scala:10) at xsbt.boot.Using$.apply(Using.scala:9) at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60) at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50) at xsbt.boot.Locks$.apply0(Locks.scala:31) at xsbt.boot.Locks$.apply(Locks.scala:28) at sbt.IvySbt.withDefaultLogger(Ivy.scala:65) at sbt.IvySbt.withIvy(Ivy.scala:128) at sbt.IvySbt.withIvy(Ivy.scala:125) at sbt.IvySbt$Module.withModule(Ivy.scala:156) at sbt.IvyActions$.updateEither(IvyActions.scala:168) at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1442) at sbt.Classpaths$$anonfun$sbt$Classpaths$$work$1$1.apply(Defaults.scala:1438) at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1473) at sbt.Classpaths$$anonfun$doWork$1$1$$anonfun$90.apply(Defaults.scala:1471) at sbt.Tracked$$anonfun$lastOutput$1.apply(Tracked.scala:37) at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1476) at sbt.Classpaths$$anonfun$doWork$1$1.apply(Defaults.scala:1470) at sbt.Tracked$$anonfun$inputChanged$1.apply(Tracked.scala:60) at sbt.Classpaths$.cachedUpdate(Defaults.scala:1493) at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1420) at sbt.Classpaths$$anonfun$updateTask$1.apply(Defaults.scala:1372) at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40) at sbt.std.Transform$$anon$4.work(System.scala:63) at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228) at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:228) at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) at sbt.Execute.work(Execute.scala:237) at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228) at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:228) at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159) at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:748)

If i remove the JacocoItPlugin, i can run jacoco for unit tests and i get the coverage.

Environment

  • SBT version: 0.13
  • Plugin version: 3.0.3
  • Scala version(s): 2.11.8
  • Java version: 1.8.0_131
  • Link to project source: N/A

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions