Veuillez trouver ci-dessous un exemple de fichier build.sbt qui utilise notre plugin. Dans cet exemple BasePlugin, nous voulons chemin complet à un/projet, b/répertoire du projet: -accéder à des projets dépendants (pas enfants) dans le plugin sbt
import sbt._
import Keys._
import BasePlugin._
BasePlugin.settings
lazy val root = Project("root", file(".")).dependsOn(
ProjectRef(uri("../some/where/a"), "a"),
ProjectRef(uri("../some/where/b"), "b")
)
enablePlugins(BasePlugin)
En outre, trouver ci-dessous, plugin SBT simplifié BasePlugin.scala: -
package base
import sbt.{ThisBuild, Def, TaskKey, AutoPlugin}
import sbt._
import Keys._
/**
* Created by mogli on 4/23/2017.
*/
object BasePlugin extends AutoPlugin {
object autoImport {
lazy val customtask: TaskKey[Unit] = TaskKey("customtask")
}
import autoImport.customtask
override def projectSettings: Seq[Def.Setting[_]] = Seq(
customtask := {
//expectation: to get an iterator or collection sort of thing for dependent projects, but they are not in this variable (projectDependencies)
val deps = projectDependencies
deps map { c => println("project : " + c) }
}
)
}
Comment accéder aux projets dépendants dans le plugin sbt.
val deps = thisProjet.value.dependencies.map {dep => dep.projet}? –
Je pense que vous avez oublié par hasard d'inclure votre question – Martijn
@Micro: Veuillez ajouter votre commentaire dans la section de réponse, de sorte que peut l'accepter :) – mogli