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