I have a plugin called MyPlugin which needs to update a value from another plugin. I have thus added that plugin as a dependency based on
Logging from an sbt plugin
Need to provide a SettingKey from a plugin I use in my sbt plugin
However, sbt fails to resolve the dependency fm-sbt-s3-resolver. What is the appropriate way of including the dependency on the project?
I have tried adding it to enablePlugins on MyPlugin's build.sbt as well as adding it to the dependencies like this:
libraryDependencies ++= Seq(
"com.amazonaws" % "aws-java-sdk-sts" % amazonSDKVersion,
"com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.17.0"
)
In MyPlugin.scala:
import fm.sbt.S3ResolverPlugin
object MyPlugin {
override def requires = S3ResolverPlugin
override lazy val globalSettings = Seq(
resolvers += repos
S3ResolverPlugin.autoImport.s3CredentialsProvider := s3CredentialsProviderChain
)
}
I get this error from sbt:
I can find the project on this url on the Maven Central Repo.
module not found: com.frugalmechanic#fm-sbt-s3-resolver;0.17.0
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.frugalmechanic/fm-sbt-s3-resolver/0.17.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.frugalmechanic/fm-sbt-s3-resolver/0.17.0/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/localuser/.ivy2/local/com.frugalmechanic/fm-sbt-s3-resolver/0.17.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/frugalmechanic/fm-sbt-s3-resolver/0.17.0/fm-sbt-s3-resolver-0.17.0.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /Users/localuser/.sbt/preloaded/com.frugalmechanic/fm-sbt-s3-resolver/0.17.0/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////Users/localuser/.sbt/preloaded/com/frugalmechanic/fm-sbt-s3-resolver/0.17.0/fm-sbt-s3-resolver-0.17.0.pom
[warn] ==== sonatype-public: tried
[warn] https://oss.sonatype.org/content/repositories/public/com/frugalmechanic/fm-sbt-s3-resolver/0.17.0/fm-sbt-s3-resolver-0.17.0.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.frugalmechanic#fm-sbt-s3-resolver;0.17.0: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] com.frugalmechanic:fm-sbt-s3-resolver:0.17.0 (/Users/localuser/lendi/core/scala/lendi-plugin/build.sbt#L13-17)
[warn] +- com.mypackage.my-plugin:0.0.6 (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.frugalmechanic#fm-sbt-s3-resolver;0.17.0: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2561)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:278)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: com.frugalmechanic#fm-sbt-s3-resolver;0.17.0: not found
Looking into frugalmechanic group in maven,
It seems that following pom exists:
fm-sbt-s3-resolver_2.12_1.0/0.17.0/fm-sbt-s3-resolver-0.17.0.pom
^^^^^^^^^ this is scala version, and sbt version.
This path is not a normal one which consists of group id, and artifact id package version since it has _2.12_1.0 in it. This means that plugin is targeted to scala version 2.12, and sbt version 1.0.
Therefore adding plugin as dependency, you have to use Defaults.sbtPluginExtra() and tell that you need specific scala version and plugin version, as below:
libraryDependencies += Defaults.sbtPluginExtra("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.17.0", "1.0", "2.12")
first argument is package, second argument is sbt version, and third argument is scala version.
You probably want addSbtPlugin so you do not have to worry about the Scala or SBT version (it will be handled automatically):
addSbtPlugin("com.frugalmechanic" % "fm-sbt-s3-resolver" % "0.17.0")
Here is an example of it being used in another SBT plugin: built.sbt for fm-sbt-common
Related
We published our sbt plugin to local m2 repository using sbt clean compile publishM2.
Below is the simplified plugin source code :-
build.sbt :-
name := "base-plugin"
version := "0.1"
organization := "io.github.moglideveloper"
sbtPlugin := true
val pluginDeveloper = Developer("mogli", "mogli", "moglideveloper#gmail.com", url("https://github.com/moglideveloper"))
developers := List(pluginDeveloper)
homepage := Some(url("https://github.com/moglideveloper/BasePlugin"))
scmInfo := Some(ScmInfo(url("https://github.com/moglideveloper/BasePlugin"), "git#github.com:moglideveloper/BasePlugin.git"))
licenses += ("MIT", url("https://opensource.org/licenses/MIT"))
publishMavenStyle := true
publishArtifact in Test := false
publishConfiguration := publishConfiguration.value.withOverwrite(true)
publishTo := Some(Opts.resolver.sonatypeStaging)
build.properties :-
sbt.version=1.2.8
We are using 1.2.8 because of existing issues of sbt upgrade :-
https://github.com/xerial/sbt-sonatype/pull/98
https://github.com/sbt/sbt/issues/5049
BasePlugin.scala :-
package io.moglideveloper.base_plugin
import sbt._
object BasePlugin extends AutoPlugin {
lazy val hello = taskKey[Unit]("just say hello")
override def trigger = allRequirements
override lazy val projectSettings = Seq(
hello := {
println("hello")
}
)
}
Now, above published plugin is not resolved correctly with any sbt version that is 1.x, for example sbt.version=1.2.8
Below is the exception trace :-
/Users/mogli/.sdkman/candidates/java/11.0.9.hs-adpt/bin/java -Djline.terminal=jline.UnsupportedTerminal -Dsbt.log.noformat=true -Dfile.encoding=UTF-8 -Didea.managed=true -Dfile.encoding=UTF-8 -jar /Users/mogli/Library/Application Support/JetBrains/IdeaIC2020.3/plugins/Scala/launcher/sbt-launch.jar
[info] Loading settings for project resolvecheck-build from plugins.sbt ...
[info] Loading project definition from /Users/mogli/sources/ResolveCheck/project
[info] Updating ProjectRef(uri("file:/Users/mogli/sources/ResolveCheck/project/"), "resolvecheck-build")...
[warn] module not found: io.github.moglideveloper#base-plugin;0.1
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/io.github.moglideveloper/base-plugin/scala_2.12/sbt_1.0/0.1/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/io.github.moglideveloper/base-plugin/scala_2.12/sbt_1.0/0.1/ivys/ivy.xml
[warn] ==== local: tried
[warn] /Users/mogli/.ivy2/local/io.github.moglideveloper/base-plugin/scala_2.12/sbt_1.0/0.1/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/io/github/moglideveloper/base-plugin_2.12_1.0/0.1/base-plugin-0.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /Users/mogli/.sbt/preloaded/io.github.moglideveloper/base-plugin/0.1/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////Users/mogli/.sbt/preloaded/io/github/moglideveloper/base-plugin_2.12_1.0/0.1/base-plugin-0.1.pom
[warn] ==== Local Repository: tried
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: io.github.moglideveloper#base-plugin;0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] io.github.moglideveloper:base-plugin:0.1 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn] Note: Unresolved dependencies path:
[warn] io.github.moglideveloper:base-plugin:0.1 (scalaVersion=2.12, sbtVersion=1.0) (/Users/mogli/sources/ResolveCheck/project/plugins.sbt#L2-3)
[warn] +- default:resolvecheck-build:0.1.0-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: io.github.moglideveloper#base-plugin;0.1: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2561)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:278)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
[error] at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
[error] at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
[error] at java.base/java.lang.Thread.run(Thread.java:834)
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: io.github.moglideveloper#base-plugin;0.1: not found
Invalid response.
Below is simplified sbt project source from where we attempt to resolve our sbt plugin :-
build.sbt :-
name := "ResolveBasePlugin"
build.properties :-
sbt.version=1.2.8
plugins.sbt :-
resolvers += Opts.resolver.mavenLocalFile
addSbtPlugin("io.github.moglideveloper" % "base-plugin" % "0.1")
addSbtPlugin("org.xerial.sbt" % "sbt-pack" % "0.13")
Link to simplified plugin :-
https://github.com/moglideveloper/BasePlugin
Link to simplified sbt project that attempts to resolve base-plugin
https://github.com/moglideveloper/ResolveCheck
Kindly suggest, what changes shall we do to BasePlugin, so that it can be resolved in sbt projects
that are using sbt.version=1.x
For eg :-
sbt pack plugin is published with sbt.version=1.2.8, still it can be resolved
from sbt projects with sbt.version=1.4.5
https://github.com/xerial/sbt-pack/blob/master/project/build.properties
I think you need the following in your project/plugins.sbt:
// bad: resolvers += Opts.resolver.mavenLocalFile
// good
resolvers += Resolver.mavenLocal
See Local Maven resolvers.
Note
Can you please explain what is the difference between the two?
Apache Ivy and Coursier both have resolvers for Maven-layout repositories and Ivy-layout repositories, so within sbt they need to be expressed using different types.
Resolver.mavenLocal has the static type of MavenRepository represented by MavenCache and would translate to a "plugin-capable" IBiblioResolver for Ivy. On the other hand, Opts.resolver.mavenLocalFile is a filesystem resolver:
val mavenLocalFile = Resolver.file("Local Repository", userHome / ".m2" / "repository")(
Resolver.defaultPatterns
)
This would translate to an Ivy repository with Maven-like pattern. It might work for some artifacts, but apparently not for sbt plugins. In general, I can't think of a situation Opts.resolver.mavenLocalFile must be used.
I am trying to run Hello_world in scala , I have installed scala and spark with sbt.
but when i check scala -version it shows
Scala code runner version 2.12.6 -- Copyright 2002-2018, LAMP/EPFL and Lightbend, Inc.
But if i am checking spark version its showing :
spark-submit --version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 2.3.1
/_/
Using Scala version 2.11.8, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_181
Branch
Compiled by user vanzin on 2018-06-01T20:37:04Z
Revision
Url
Type --help for more information.
Now my sbt file looks like this:
name := "HelloScala"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" % "spark-core" % "2.3.1"
I also tried '2.12.6' but i am keep getting this error:
Error while importing sbt project:
[info] Loading settings for project global-plugins from idea.sbt ...
[info] Loading global plugins from /Users/monk/.sbt/1.0/plugins
[info] Loading project definition from /Users/monk/Desktop/HelloScala/project
[info] Loading settings for project helloscala from build.sbt ...
[info] Set current project to HelloScala (in build file:/Users/monk/Desktop/HelloScala/)
[info] sbt server started at local:///Users/monk/.sbt/1.0/server/cab071a62161b47022c3/sock
sbt:HelloScala>
[info] Defining Global / sbtStructureOptions, Global / sbtStructureOutputFile, shellPrompt
[info] The new values will be used by no settings or tasks.
[info] Reapplying settings...
[info] Set current project to HelloScala (in build file:/Users/monk/Desktop/HelloScala/)
[info] Applying State transformations org.jetbrains.sbt.CreateTasks from /Users/monk/Library/Application Support/IdeaIC2018.2/Scala/launcher/sbt-structure-1.0.jar
[info] Reapplying settings...
[info] Set current project to HelloScala (in build file:/Users/monk/Desktop/HelloScala/)
[info] Updating ...
[warn] module not found: org.apache.spark#spark-core;2.3.1
[warn] ==== local: tried
[warn] /Users/monk/.ivy2/local/org.apache.spark/spark-core/2.3.1/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/org/apache/spark/spark-core/2.3.1/spark-core-2.3.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /Users/monk/.sbt/preloaded/org.apache.spark/spark-core/2.3.1/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////Users/monk/.sbt/preloaded/org/apache/spark/spark-core/2.3.1/spark-core-2.3.1.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.apache.spark#spark-core;2.3.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Unresolved dependencies path:
[warn] org.apache.spark:spark-core:2.3.1 (/Users/monk/Desktop/HelloScala/build.sbt#L4-5)
[warn] +- default:helloscala_2.11:0.1
[error] sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-core;2.3.1: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2539)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:278)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-core;2.3.1: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:332)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:208)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:239)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:238)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:193)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:45)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:93)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:106)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:106)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:89)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:120)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2539)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:40)
[error] at sbt.std.Transform$$anon$4.work(System.scala:67)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:269)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:278)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:269)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:178)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:37)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (update) sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-core;2.3.1: not found
[error] (ssExtractDependencies) sbt.librarymanagement.ResolveException: unresolved dependency: org.apache.spark#spark-core;2.3.1: not found
[error] Total time: 10 s, completed 7 Sep, 2018 5:25:02 PM
[info] shutting down server
How to load or install any plugin via sbt in intelliJ ?
The problem is because you're importing your Spark dependency without %%.
Indeed, sbt requires the double percent in order to download the proper dependency for your Scala version:
If you use groupID %% artifactID % revision rather than groupID % artifactID % revision (the difference is the double %% after the groupID), sbt will add your project’s binary Scala version to the artifact name.
See here for a detailed explanation.
Wrapping up, in your case you should write:
name := "HelloScala"
version := "0.1"
scalaVersion := "2.11.8"
libraryDependencies += "org.apache.spark" %% "spark-core" % "2.3.1"
I get the error below when trying to import a scala play project into Intellij.
I created a project using the following seed:
sbt new playframework/play-scala-seed.g8
It compiles and runs fine from the command line.
However, when I tried to import the project into Intellij, the IDE barfed with the following:
Error while importing sbt project:
[info] Loading settings from plugins.sbt,scaffold.sbt ...
[info] Loading project definition from /home/x/IdeaProjects/p3/u/project
[info] Loading settings from build.sbt ...
[info] Set current project to user (in build file:/home/x/IdeaProjects/p3/u/)
[info] sbt server started at 127.0.0.1:4315
[user] $
[info] Defining */*:sbtStructureOptions, */*:sbtStructureOutputFile, *:shellPrompt
[info] The new values will be used by no settings or tasks.
[info] Reapplying settings...
[info] Set current project to user (in build file:/home/x/IdeaProjects/p3/u/)
[info] Applying State transformations org.jetbrains.sbt.CreateTasks from /home/x/.IdeaIC2017.3/config/plugins/Scala/launcher/sbt-structure-1.0.jar
[info] Reapplying settings...
[info] Set current project to user (in build file:/home/x/IdeaProjects/p3/user/)
[warn] Detected merged artifact: [FAILED ] com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src): (0ms).
[warn] Detected merged artifact: [FAILED ] com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc): (0ms).
[warn] ==== local: tried
[warn] ==== local: tried
[warn] /home/x/.ivy2/local/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.3/docs/sbt-web-javadoc.jar
[warn] /home/x/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.2/srcs/sbt-native-packager-sources.jar
[warn] ==== public: tried
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-web_2.12_1.0/1.4.3/sbt-web-1.4.3-javadoc.jar
[warn] https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.2/sbt-native-packager-1.3.2-sources.jar
[warn] ==== local-preloaded-ivy: tried
[warn] ==== local-preloaded-ivy: tried
[warn] /home/x/.sbt/preloaded/com.typesafe.sbt/sbt-web/1.4.3/docs/sbt-web-javadoc.jar
[warn] /home/x/.sbt/preloaded/com.typesafe.sbt/sbt-native-packager/1.3.2/srcs/sbt-native-packager-sources.jar
[warn] ==== local-preloaded: tried
[warn] ==== local-preloaded: tried
[warn] file:////home/x/.sbt/preloaded/com/typesafe/sbt/sbt-web_2.12_1.0/1.4.3/sbt-web-1.4.3-javadoc.jar
[warn] file:////home/x/.sbt/preloaded/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.2/sbt-native-packager-1.3.2-sources.jar
[warn] Detected merged artifact: [FAILED ] com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src): (0ms).
[warn] Detected merged artifact: [FAILED ] com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc): (0ms).
[warn] ==== local: tried
[warn] ==== local: tried
[warn] /home/x/.ivy2/local/com.typesafe.sbt/sbt-web/scala_2.12/sbt_1.0/1.4.3/srcs/sbt-web-sources.jar
[warn] ==== public: tried
[warn] /home/x/.ivy2/local/com.typesafe.sbt/sbt-native-packager/scala_2.12/sbt_1.0/1.3.2/docs/sbt-native-packager-javadoc.jar
[warn] https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-web_2.12_1.0/1.4.3/sbt-web-1.4.3-sources.jar
[warn] ==== public: tried
[warn] ==== local-preloaded-ivy: tried
[warn] https://repo1.maven.org/maven2/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.2/sbt-native-packager-1.3.2-javadoc.jar
[warn] /home/x/.sbt/preloaded/com.typesafe.sbt/sbt-web/1.4.3/srcs/sbt-web-sources.jar
[warn] ==== local-preloaded-ivy: tried
[warn] ==== local-preloaded: tried
[warn] /home/x/.sbt/preloaded/com.typesafe.sbt/sbt-native-packager/1.3.2/docs/sbt-native-packager-javadoc.jar
[warn] file:////home/x/.sbt/preloaded/com/typesafe/sbt/sbt-web_2.12_1.0/1.4.3/sbt-web-1.4.3-sources.jar
[warn] ==== local-preloaded: tried
[warn] file:////home/x/.sbt/preloaded/com/typesafe/sbt/sbt-native-packager_2.12_1.0/1.3.2/sbt-native-packager-1.3.2-javadoc.jar
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: FAILED DOWNLOADS ::
[warn] :: ^ see resolution messages for details ^ ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src)
[warn] :: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc)
[warn] :: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc)
[warn] :: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src)
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[error] sbt.librarymanagement.ResolveException: download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src)
[error] download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc)
[error] download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc)
[error] download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src)
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:331)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:205)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:243)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:242)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:190)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.transitiveScratch(LibraryManagement.scala:135)
[error] at sbt.Classpaths$.$anonfun$sbtClassifiersTasks$12(Defaults.scala:2178)
[error] at sbt.Classpaths$$anon$4.call(Defaults.scala:2256)
[error] at sbt.Classpaths$$anon$4.call(Defaults.scala:2249)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:78)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.Classpaths$.withExcludes(Defaults.scala:2249)
[error] at sbt.Classpaths$.$anonfun$sbtClassifiersTasks$10(Defaults.scala:2165)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:42)
[error] at sbt.std.Transform$$anon$4.work(System.scala:64)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:257)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:266)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:257)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:167)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:32)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (*:updateSbtClassifiers) sbt.librarymanagement.ResolveException: download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(src)
[error] download failed: com.typesafe.sbt#sbt-native-packager;1.3.2!sbt-native-packager.jar(doc)
[error] download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(doc)
[error] download failed: com.typesafe.sbt#sbt-web;1.4.3!sbt-web.jar(src)
[error] Total time: 8 s, completed 26-Jan-2018 22:39:24
[INFO] [01/26/2018 22:39:24.162] [Thread-4] [CoordinatedShutdown(akka://sbt-web)] Starting coordinated shutdown from JVM shutdown hook
Any ideas how to resolve this? Using this version of Intellij on Arch Linux
IntelliJ IDEA Community Edition (intellij-idea-community-edition) 2:2017.3.3-1
Added this and it works now:
resolvers += Resolver.sbtPluginRepo("releases")
As per these instructions:
https://github.com/sbt/sbt-native-packager/pull/1066
https://github.com/sbt/sbt-native-packager/issues/1063
I'm pretty new to scala and I need to sumbit my code to spark. I already tried to compress my code to a .jar trough Eclipse but I've got many dependencies so it doesn't work well.. So after some research I found sbt with the assembly plugin. I installed sbt (default version in apt-get 1.0.4) and made this organisation in my folders :
- RootFolder
-- bin
-- project
--- assembly.sbt
--- build.properties
-- src
--- scala
---- BloomFilter.scala
---- TestCRA.scala
-- target
-- buildt.sbt
So in my build.sbt :
name := "Test"
version := "1.0"
scalaVersion := "2.11.6"
in my assembly.sbt :
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.2")
and in my build.properties :
sbt.version=1.0.4
So when I launch : $ sbt assembly in my RootProject I've got this :
[warn] module not found: com.eed3si9n#sbt-assembly;0.14.2
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.2/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.2/ivys/ivy.xml
[warn] ==== local: tried
[warn] /home/quentin/.ivy2/local/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0/0.14.2/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly_2.12_1.0/0.14.2/sbt-assembly-0.14.2.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /home/quentin/.sbt/preloaded/com.eed3si9n/sbt-assembly/0.14.2/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////home/quentin/.sbt/preloaded/com/eed3si9n/sbt-assembly_2.12_1.0/0.14.2/sbt-assembly-0.14.2.pom
[info] downloading https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.8.1/log4j-core-2.8.1-tests.jar ...
[info] [SUCCESSFUL ] org.apache.logging.log4j#log4j-core;2.8.1!log4j-core.jar(test-jar) (500ms)
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.eed3si9n#sbt-assembly;0.14.2: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] com.eed3si9n:sbt-assembly:0.14.2 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn] Note: Unresolved dependencies path:
[warn] com.eed3si9n:sbt-assembly:0.14.2 (scalaVersion=2.12, sbtVersion=1.0) (/home/quentin/Documents/Eclipse/BloomFilters/project/assembly.sbt#L1-2)
[warn] +- default:bloomfilters-build:0.1-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.2: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve(IvyActions.scala:331)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1(IvyActions.scala:205)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1(Ivy.scala:243)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:204)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$$action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:95)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1(Locks.scala:80)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:99)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:60)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:50)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:199)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:196)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:242)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:190)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update(IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:38)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12(LibraryManagement.scala:91)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:68)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19(LibraryManagement.scala:104)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11(LibraryManagement.scala:104)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted(LibraryManagement.scala:87)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:149)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:118)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2356)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:42)
[error] at sbt.std.Transform$$anon$4.work(System.scala:64)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:257)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:16)
[error] at sbt.Execute.work(Execute.scala:266)
[error] at sbt.Execute.$anonfun$submit$1(Execute.scala:257)
[error] at sbt.ConcurrentRestrictions$$anon$4.$anonfun$submitValid$1(ConcurrentRestrictions.scala:167)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:32)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (*:update) sbt.librarymanagement.ResolveException: unresolved dependency: com.eed3si9n#sbt-assembly;0.14.2: not found
Actually I made a lot of research and I'm totally tied. I've read a lot of stackoverflow topics about this and I know there's a lot on this issue but I would'nt write this if I didn't tried them all.
Thank you in advance and sorry for my language.
Quentin
It seems ("sbt-assembly 0.14.5 is cross built to sbt 0.13 and 1.x.") currently only sbt-assembly 0.14.5 and 0.14.6 are supporting sbt 1.x. So you have to update to that:
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.6")
I've been trying to modify the Fratboi language (which itself is based on the ArnoldC language), and I can't seem to get either one to build, even when I've made no modifications to the source code.
I've been following the instructions in the Fratboi repository, but can't seem to actually compile the language into the handy .jar file that you're supposed to use when running the language.
This is the error:
sbt compile
[info] Loading settings from plugins.sbt ...
[info] Loading project definition from /home/user/workspace/Fratboi/project
[info] Updating {file:/home/user/workspace/Fratboi/project/}fratboi-build...
[warn] module not found: com.github.mpeltonen#sbt-idea;1.6.0
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.github.mpeltonen/sbt-idea/scala_2.12/sbt_1.0//1.6.0/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.github.mpeltonen/sbt-idea/ scala_2.12/sbt_1.0//1.6.0/ivys/ivy.xml
[warn] ==== local: tried
[warn] /home/user/.ivy2/local/com.github.mpeltonen/sbt-idea/scala_2.12/sbt_1.0//1.6.0/ivys/ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/github/mpeltonen/sbt-idea_2.12_1.0/1.6.0/sbt- idea-1.6.0.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /home/user/.sbt/preloaded/com.github.mpeltonen/sbt-idea/1.6.0/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////home/user/.sbt/preloaded/com/github/mpeltonen/sbt-idea_2.12_1.0/1.6.0/sbt-idea-1.6.0.pom
[warn] module not found: com.eed3si9n#sbt-assembly;0.14.1
[warn] ==== typesafe-ivy-releases: tried
[warn] https://repo.typesafe.com/typesafe/ivy-releases/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0//0.14.1/ivys/ivy.xml
[warn] ==== sbt-plugin-releases: tried
[warn] https://repo.scala-sbt.org/scalasbt/sbt-plugin-releases/com.eed3si9n/sbt-assembly/ scala_2.12/sbt_1.0//0.14.1/ivys/ivy.xml
[warn] ==== local: tried
[warn] /home/user/.ivy2/local/com.eed3si9n/sbt-assembly/scala_2.12/sbt_1.0//0.14.1/ivys/ ivy.xml
[warn] ==== public: tried
[warn] https://repo1.maven.org/maven2/com/eed3si9n/sbt-assembly_2.12_1.0/0.14.1/sbt- assembly-0.14.1.pom
[warn] ==== local-preloaded-ivy: tried
[warn] /home/user/.sbt/preloaded/com.eed3si9n/sbt-assembly/0.14.1/ivys/ivy.xml
[warn] ==== local-preloaded: tried
[warn] file:////home/user/.sbt/preloaded/com/eed3si9n/sbt-assembly_2.12_1.0/0.14.1/sbt- assembly-0.14.1.pom
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.github.mpeltonen#sbt-idea;1.6.0: not found
[warn] :: com.eed3si9n#sbt-assembly;0.14.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn]
[warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes.
[warn] com.github.mpeltonen:sbt-idea:1.6.0 (scalaVersion=2.12, sbtVersion=1.0)
[warn] com.eed3si9n:sbt-assembly:0.14.1 (scalaVersion=2.12, sbtVersion=1.0)
[warn]
[warn] Note: Unresolved dependencies path:
[warn] com.github.mpeltonen:sbt-idea:1.6.0 (scalaVersion=2.12, sbtVersion=1.0) (/ home/user/workspace/Fratboi/project/plugins.sbt#L1-2)
[warn] +- default:fratboi-build:0.1-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[warn] com.eed3si9n:sbt-assembly:0.14.1 (scalaVersion=2.12, sbtVersion=1.0) (/home/user/workspace/Fratboi/project/plugins.sbt#L3-4)
[warn] +- default:fratboi-build:0.1-SNAPSHOT (scalaVersion=2.12, sbtVersion=1.0)
[error] sbt.librarymanagement.ResolveException: unresolved dependency: com.github.mpeltonen#sbt-idea;1.6.0: not found
[error] unresolved dependency: com.eed3si9n#sbt-assembly;0.14.1: not found
[error] at sbt.internal.librarymanagement.IvyActions$.resolveAndRetrieve (IvyActions.scala:331)
[error] at sbt.internal.librarymanagement.IvyActions$.$anonfun$updateEither$1 (IvyActions.scala:205)
[error] at sbt.internal.librarymanagement.IvySbt$Module.$anonfun$withModule$1 (Ivy.scala:229)
[error] at sbt.internal.librarymanagement.IvySbt.$anonfun$withIvy$1(Ivy.scala:190)
[error] at sbt.internal.librarymanagement.IvySbt.sbt$internal$librarymanagement$IvySbt$ $action$1(Ivy.scala:70)
[error] at sbt.internal.librarymanagement.IvySbt$$anon$3.call(Ivy.scala:77)
[error] at xsbt.boot.Locks$GlobalLock.withChannel$1(Locks.scala:93)
[error] at xsbt.boot.Locks$GlobalLock.xsbt$boot$Locks$GlobalLock$$withChannelRetries$1 (Locks.scala:78)
[error] at xsbt.boot.Locks$GlobalLock$$anonfun$withFileLock$1.apply(Locks.scala:97)
[error] at xsbt.boot.Using$.withResource(Using.scala:10)
[error] at xsbt.boot.Using$.apply(Using.scala:9)
[error] at xsbt.boot.Locks$GlobalLock.ignoringDeadlockAvoided(Locks.scala:58)
[error] at xsbt.boot.Locks$GlobalLock.withLock(Locks.scala:48)
[error] at xsbt.boot.Locks$.apply0(Locks.scala:31)
[error] at xsbt.boot.Locks$.apply(Locks.scala:28)
[error] at sbt.internal.librarymanagement.IvySbt.withDefaultLogger(Ivy.scala:77)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:185)
[error] at sbt.internal.librarymanagement.IvySbt.withIvy(Ivy.scala:182)
[error] at sbt.internal.librarymanagement.IvySbt$Module.withModule(Ivy.scala:228)
[error] at sbt.internal.librarymanagement.IvyActions$.updateEither(IvyActions.scala:190)
[error] at sbt.librarymanagement.ivy.IvyDependencyResolution.update (IvyDependencyResolution.scala:20)
[error] at sbt.librarymanagement.DependencyResolution.update(DependencyResolution.scala:56)
[error] at sbt.internal.LibraryManagement$.resolve$1(LibraryManagement.scala:38)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$12 (LibraryManagement.scala:91)
[error] at sbt.util.Tracked$.$anonfun$lastOutput$1(Tracked.scala:64)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$19 (LibraryManagement.scala:104)
[error] at scala.util.control.Exception$Catch.apply(Exception.scala:224)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11 (LibraryManagement.scala:104)
[error] at sbt.internal.LibraryManagement$.$anonfun$cachedUpdate$11$adapted (LibraryManagement.scala:87)
[error] at sbt.util.Tracked$.$anonfun$inputChanged$1(Tracked.scala:141)
[error] at sbt.internal.LibraryManagement$.cachedUpdate(LibraryManagement.scala:118)
[error] at sbt.Classpaths$.$anonfun$updateTask$5(Defaults.scala:2313)
[error] at scala.Function1.$anonfun$compose$1(Function1.scala:44)
[error] at sbt.internal.util.$tilde$greater.$anonfun$$u2219$1(TypeFunctions.scala:42)
[error] at sbt.std.Transform$$anon$4.work(System.scala:64)
[error] at sbt.Execute.$anonfun$submit$2(Execute.scala:257)
[error] at sbt.internal.util.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
[error] at sbt.Execute.work(Execute.scala:266)
[error] at sbt.Execute.$anonfun$submit$1(Execute.s cala:257)
[error] at sbt.ConcurrentRestrictions$$anon$4.$ano nfun$submitValid$1 (ConcurrentRestrictions.scala:167)
[error] at sbt.CompletionService$$anon$2.call(CompletionService.scala:32)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[error] at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[error] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool Executor.java:1149)
[error] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
[error] at java.lang.Thread.run(Thread.java:748)
[error] (*:update) sbt.librarymanagement.ResolveException: unresolved dependency: com.github.mpeltonen#sbt-idea;1.6.0: not found
[error] unresolved dependency: com.eed3si9n#sbt-assembly;0.14.1: not found
Project loading failed: (r)etry, (q)uit, (l)ast, or (i)gnore? q
Thanks for any help.
It looks like you're using sbt 1.0, and those two sbt plugins are not (yet?) published for that version. Try with sbt 0.13.x and you should be able to resolve them.