未验证 提交 0d957910 编写于 作者: 梦境迷离's avatar 梦境迷离 提交者: GitHub

Scala DBT: refactor to add BuildInfo (#466)

* refactor to add buildinfo

* refactor to add buildinfo
上级 bdc689ed
import Dependencies._
import sbtrelease.ReleaseStateTransformations._
name := "graphql-codegen-sbt-plugin"
// must be equals to oss Group Id
organization := "io.github.jxnu-liguobin"
val jValidationVersion = settingKey[String]("default java Validation api")
jValidationVersion := "2.0.1.Final"
// publish only root project
//publish / skip := true
//keep version is equals with parent project `graphql-java-codegen`
// keep version is equals with parent project `graphql-java-codegen`.
// Plugin don't need to care about the scala version, just the SBT version.
lazy val `graphql-codegen-sbt-plugin` = Project(id = "graphql-codegen-sbt-plugin", base = file(".")).
enablePlugins(SbtPlugin).
enablePlugins(SbtPlugin, BuildInfoPlugin).
settings(Publishing.publishSettings).
settings(
sbtPlugin := true,
scalaVersion := Versions.scala212,
crossScalaVersions := List(Versions.scala212, Versions.scala211),
scalaVersion := "2.12.12",
scriptedBufferLog := false,
scriptedLaunchOpts += s"-Dplugin.version=${version.value}",
scalacOptions += "-target:jvm-1.8",
......@@ -32,5 +30,10 @@ lazy val `graphql-codegen-sbt-plugin` = Project(id = "graphql-codegen-sbt-plugin
setNextVersion,
commitNextVersion,
pushChanges
)).
settings(Compiles.selfDependencies)
\ No newline at end of file
),
libraryDependencies ++= Seq(
"io.github.kobylynskyi" % "graphql-java-codegen" % (version in ThisBuild).value
),
buildInfoKeys := Seq[BuildInfoKey](name, version, scalaVersion, sbtVersion, jValidationVersion),
buildInfoPackage := "io.github.dreamylost.graphql.codegen"
)
\ No newline at end of file
import sbt.Keys.libraryDependencies
import sbt._
/**
* The dependence of the plugin itself
*
* @author 梦境迷离 dreamylost
* @since 2020-07-19
* @version v1.0
*/
object Dependencies {
object Versions {
lazy val scala212 = "2.12.12"
lazy val scala211 = "2.11.12"
val codegen = "4.0.2-SNAPSHOT"
}
import Versions._
object Compiles {
val selfDependencies = libraryDependencies ++= Seq(
"io.github.kobylynskyi" % "graphql-java-codegen" % codegen
)
}
}
addSbtPlugin("org.scalariform" % "sbt-scalariform" % "1.8.3")
addSbtPlugin("org.xerial.sbt" % "sbt-sonatype" % "2.3")
addSbtPlugin("com.jsuereth" % "sbt-pgp" % "2.0.1")
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")
\ No newline at end of file
addSbtPlugin("com.github.gseitz" % "sbt-release" % "1.0.13")
addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.10.0")
\ No newline at end of file
......@@ -29,11 +29,9 @@ object GraphQLCodegenPlugin extends GraphQLCodegenPlugin(Compile, configurationP
class GraphQLCodegenPlugin(configuration: Configuration, private[codegen] val configurationPostfix: String = "") extends AutoPlugin with Compat {
self =>
//TODO if impl GraphQLCodegenConfiguration, can not use settingKey in override method
//override this by graphqlJavaCodegenVersion and javaxValidationApiVersion
private val jValidation = "2.0.1.Final"
private val codegen = "4.0.2-SNAPSHOT"
private val jValidation = BuildInfo.jValidationVersion
private val codegen = BuildInfo.version
object GlobalImport extends GraphQLCodegenKeys {
......@@ -121,7 +119,6 @@ class GraphQLCodegenPlugin(configuration: Configuration, private[codegen] val co
private def getMappingConfig(): Def.Initialize[MappingConfig] = Def.setting[MappingConfig] {
//TODO use builder
val mappingConfig = new MappingConfig
mappingConfig.setPackageName((generatePackageName in GraphQLCodegenConfig).value.orNull)
mappingConfig.setCustomTypesMapping((customTypesMapping in GraphQLCodegenConfig).value)
......@@ -168,8 +165,7 @@ class GraphQLCodegenPlugin(configuration: Configuration, private[codegen] val co
mappingConfig.setResponseProjectionMaxDepth((responseProjectionMaxDepth in GraphQLCodegenConfig).value)
mappingConfig.setRelayConfig((relayConfig in GraphQLCodegenConfig).value)
mappingConfig.setGeneratedLanguage((generatedLanguage in GraphQLCodegenConfig).value)
// sLog.value.debug(s"Current mapping config is <$mappingConfig>") // NO toString
sLog.value.info(s"Version is <${BuildInfo.toString}>")
mappingConfig
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册