Simplify and cleanup MultiJvm, MultiNode, Copyright in sbt build
This commit is contained in:
parent
b273c06c68
commit
9b00480828
9 changed files with 35 additions and 61 deletions
|
|
@ -11,22 +11,18 @@
|
|||
* Copyright (C) 2018-2022 Lightbend Inc. <https://www.lightbend.com>
|
||||
*/
|
||||
|
||||
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport._
|
||||
import de.heikoseeberger.sbtheader.{ CommentCreator, HeaderPlugin, NewLine }
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import sbt.Keys._
|
||||
import sbt._
|
||||
|
||||
import MultiJvmPlugin.MultiJvmKeys._
|
||||
object CopyrightHeader extends AutoPlugin {
|
||||
import HeaderPlugin.autoImport._
|
||||
|
||||
trait CopyrightHeader extends AutoPlugin {
|
||||
override def requires = HeaderPlugin
|
||||
override def trigger = allRequirements
|
||||
|
||||
override def requires: Plugins = HeaderPlugin
|
||||
|
||||
override def trigger: PluginTrigger = allRequirements
|
||||
|
||||
protected def headerMappingSettings: Seq[Def.Setting[_]] =
|
||||
Seq(Compile, Test, MultiJvm).flatMap { config =>
|
||||
override def projectSettings = Def.settings(
|
||||
Seq(Compile, Test).flatMap { config =>
|
||||
inConfig(config)(
|
||||
Seq(
|
||||
headerLicense := Some(HeaderLicense.Custom(apacheHeader)),
|
||||
|
|
@ -36,20 +32,7 @@ trait CopyrightHeader extends AutoPlugin {
|
|||
HeaderFileType.conf -> hashLineComment,
|
||||
HeaderFileType("template") -> cStyleComment,
|
||||
HeaderFileType("sbt") -> cStyleComment)))
|
||||
}
|
||||
|
||||
override def projectSettings: Seq[Def.Setting[_]] =
|
||||
Def.settings(headerMappingSettings, additional)
|
||||
|
||||
def additional: Seq[Def.Setting[_]] =
|
||||
Def.settings(Compile / compile := {
|
||||
(Compile / headerCreate).value
|
||||
(Compile / compile).value
|
||||
},
|
||||
Test / compile := {
|
||||
(Test / headerCreate).value
|
||||
(Test / compile).value
|
||||
})
|
||||
})
|
||||
|
||||
val apacheFromAkkaSourceHeader: String =
|
||||
"""Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
|
|
@ -89,7 +72,7 @@ trait CopyrightHeader extends AutoPlugin {
|
|||
HeaderCommentStyle.cStyleBlockComment.commentCreator(apacheFromAkkaSourceHeader,
|
||||
existingText) + NewLine * 2 + currentText
|
||||
case Some(currentText) =>
|
||||
throw new IllegalStateException(s"Unable to detect copyright for header:[$currentText]")
|
||||
throw new IllegalStateException(s"Unable to detect copyright for header: [$currentText]")
|
||||
case None =>
|
||||
HeaderCommentStyle.cStyleBlockComment.commentCreator(text, existingText)
|
||||
}
|
||||
|
|
@ -127,11 +110,6 @@ trait CopyrightHeader extends AutoPlugin {
|
|||
private def isValidCopyrightAnnotated(text: String): Boolean =
|
||||
isApacheCopyrighted(text)
|
||||
|
||||
private def isOnlyLightbendOrEpflCopyrightAnnotated(text: String): Boolean = {
|
||||
private def isOnlyLightbendOrEpflCopyrightAnnotated(text: String): Boolean =
|
||||
(isLightbendCopyrighted(text) || isLAMPCopyrighted(text)) && !isApacheCopyrighted(text)
|
||||
}
|
||||
}
|
||||
|
||||
object CopyrightHeader extends CopyrightHeader
|
||||
|
||||
object CopyrightHeaderInPr extends CopyrightHeader
|
||||
|
|
|
|||
|
|
@ -11,17 +11,17 @@
|
|||
* Copyright (C) 2019-2022 Lightbend Inc. <https://www.lightbend.com>
|
||||
*/
|
||||
|
||||
import de.heikoseeberger.sbtheader.HeaderPlugin
|
||||
import CopyrightHeader.cStyleComment
|
||||
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport._
|
||||
import sbt.Keys.sourceDirectory
|
||||
import sbt.{ inConfig, Compile, Def, Plugins, Test, _ }
|
||||
import spray.boilerplate.BoilerplatePlugin
|
||||
|
||||
object CopyrightHeaderForBoilerplate extends CopyrightHeader {
|
||||
override def requires: Plugins = BoilerplatePlugin && HeaderPlugin
|
||||
object CopyrightHeaderForBoilerplate extends AutoPlugin {
|
||||
override def requires: Plugins = BoilerplatePlugin && CopyrightHeader
|
||||
override def trigger: PluginTrigger = allRequirements
|
||||
|
||||
override protected def headerMappingSettings: Seq[Def.Setting[_]] = {
|
||||
super.headerMappingSettings
|
||||
override def projectSettings: Seq[Def.Setting[_]] = {
|
||||
Seq(Compile, Test).flatMap { config =>
|
||||
inConfig(config) {
|
||||
Seq(
|
||||
|
|
|
|||
|
|
@ -11,11 +11,13 @@
|
|||
* Copyright (C) 2019-2022 Lightbend Inc. <https://www.lightbend.com>
|
||||
*/
|
||||
|
||||
import CopyrightHeader.cStyleComment
|
||||
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport.{ headerMappings, headerSources, HeaderFileType }
|
||||
import sbt.Keys.baseDirectory
|
||||
import sbt.{ inConfig, Compile, Def, PluginTrigger, Test, _ }
|
||||
|
||||
object CopyrightHeaderForBuild extends CopyrightHeader {
|
||||
object CopyrightHeaderForBuild extends AutoPlugin {
|
||||
override def requires: Plugins = CopyrightHeader
|
||||
override def trigger: PluginTrigger = noTrigger
|
||||
|
||||
override def projectSettings: Seq[Def.Setting[_]] = {
|
||||
|
|
|
|||
|
|
@ -15,10 +15,12 @@ import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport.headerSources
|
|||
import sbt.Keys.sourceDirectory
|
||||
import sbt.{ Compile, Def, Test, _ }
|
||||
|
||||
object CopyrightHeaderForJdk9 extends CopyrightHeader {
|
||||
object CopyrightHeaderForJdk9 extends AutoPlugin {
|
||||
|
||||
override protected def headerMappingSettings: Seq[Def.Setting[_]] = {
|
||||
super.headerMappingSettings
|
||||
override def requires = CopyrightHeader && Jdk9
|
||||
override def trigger = allRequirements
|
||||
|
||||
override def projectSettings: Seq[Def.Setting[_]] = {
|
||||
import Jdk9._
|
||||
Seq(
|
||||
Compile / headerSources ++=
|
||||
|
|
|
|||
|
|
@ -11,13 +11,17 @@
|
|||
* Copyright (C) 2019-2022 Lightbend Inc. <https://www.lightbend.com>
|
||||
*/
|
||||
|
||||
import CopyrightHeader.cStyleComment
|
||||
import de.heikoseeberger.sbtheader.HeaderPlugin.autoImport.{ headerMappings, headerSources, HeaderFileType }
|
||||
import sbt.Keys.sourceDirectory
|
||||
import sbt.{ inConfig, Compile, Def, Test, _ }
|
||||
|
||||
object CopyrightHeaderForProtobuf extends CopyrightHeader {
|
||||
override protected def headerMappingSettings: Seq[Def.Setting[_]] = {
|
||||
super.headerMappingSettings
|
||||
object CopyrightHeaderForProtobuf extends AutoPlugin {
|
||||
|
||||
override def requires = CopyrightHeader
|
||||
override def trigger = allRequirements
|
||||
|
||||
override def projectSettings: Seq[Def.Setting[_]] = {
|
||||
Seq(Compile, Test).flatMap { config =>
|
||||
inConfig(config) {
|
||||
Seq(
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@
|
|||
*/
|
||||
|
||||
import TestExtras.Filter.Keys._
|
||||
import MultiJvmPlugin.MultiJvmKeys.multiJvmCreateLogger
|
||||
import MultiJvmPlugin.MultiJvmKeys._
|
||||
import MultiJvmPlugin.autoImport.multiJvmCreateLogger
|
||||
import MultiJvmPlugin.autoImport._
|
||||
|
||||
import sbt.{ Def, _ }
|
||||
import sbt.Keys._
|
||||
|
|
@ -47,7 +47,7 @@ object MultiNode extends AutoPlugin {
|
|||
val multiTest = CliOptions.multiNode.ifTrue(MultiJvm / multiNodeTest).getOrElse(MultiJvm / test)
|
||||
|
||||
override def trigger = noTrigger
|
||||
override def requires = plugins.JvmPlugin
|
||||
override def requires = plugins.JvmPlugin && MultiJvmPlugin
|
||||
|
||||
override lazy val projectSettings: Seq[Def.Setting[_]] = multiJvmSettings
|
||||
|
||||
|
|
|
|||
|
|
@ -85,7 +85,6 @@ object PekkoValidatePullRequest extends AutoPlugin {
|
|||
*/
|
||||
object MultiNodeWithPrValidation extends AutoPlugin {
|
||||
import PekkoValidatePullRequest._
|
||||
import MultiJvmPlugin.MultiJvmKeys.MultiJvm
|
||||
|
||||
override def trigger = allRequirements
|
||||
override def requires = PekkoValidatePullRequest && MultiNode
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue