Release 0.5.0: Minor updates
This commit is contained in:
parent
011ce15ffc
commit
f570c91b6b
5 changed files with 50 additions and 53 deletions
|
@ -1,5 +1,5 @@
|
||||||
// See: https://github.com/scalameta/scalafmt/tags for the latest tags.
|
// See: https://github.com/scalameta/scalafmt/tags for the latest tags.
|
||||||
version = 3.7.17
|
version = 3.9.4
|
||||||
runner.dialect = scala3
|
runner.dialect = scala3
|
||||||
maxColumn = 80
|
maxColumn = 80
|
||||||
|
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
sbt.version=1.9.9
|
sbt.version=1.10.11
|
||||||
|
|
|
@ -3,95 +3,91 @@ package gs;
|
||||||
import sbt._
|
import sbt._
|
||||||
|
|
||||||
object Gs {
|
object Gs {
|
||||||
/**
|
|
||||||
* Standard compiler options used by GS projects.
|
/** Standard compiler options used by GS projects.
|
||||||
*/
|
*/
|
||||||
val CompilerOptions: Seq[String] = Seq(
|
val CompilerOptions: Seq[String] = Seq(
|
||||||
"-encoding",
|
"-encoding",
|
||||||
"utf8", // Set source file character encoding.
|
"utf8", // Set source file character encoding.
|
||||||
"-deprecation", // Emit warning and location for usages of deprecated APIs.
|
"-deprecation", // Emit warning and location for usages of deprecated APIs.
|
||||||
"-feature", // Emit warning and location for usages of features that should be imported explicitly.
|
"-feature", // Emit warning and location for usages of features that should be imported explicitly.
|
||||||
"-explain", // Explain errors in more detail.
|
"-explain", // Explain errors in more detail.
|
||||||
"-unchecked", // Enable additional warnings where generated code depends on assumptions.
|
"-unchecked", // Enable additional warnings where generated code depends on assumptions.
|
||||||
"-explain-types", // Explain type errors in more detail.
|
"-explain-types", // Explain type errors in more detail.
|
||||||
"-Xfatal-warnings", // Fail the compilation if there are any warnings.
|
"-Xfatal-warnings", // Fail the compilation if there are any warnings.
|
||||||
"-language:strictEquality", // Enable multiversal equality (require CanEqual)
|
"-language:strictEquality", // Enable multiversal equality (require CanEqual)
|
||||||
"-Wunused:implicits", // Warn if an implicit parameter is unused.
|
"-Wunused:implicits", // Warn if an implicit parameter is unused.
|
||||||
"-Wunused:explicits", // Warn if an explicit parameter is unused.
|
"-Wunused:explicits", // Warn if an explicit parameter is unused.
|
||||||
"-Wunused:imports", // Warn if an import selector is not referenced.
|
"-Wunused:imports", // Warn if an import selector is not referenced.
|
||||||
"-Wunused:locals", // Warn if a local definition is unused.
|
"-Wunused:locals", // Warn if a local definition is unused.
|
||||||
"-Wunused:privates", // Warn if a private member is unused.
|
"-Wunused:privates", // Warn if a private member is unused.
|
||||||
"-Wsafe-init" // Enable the safe initialization check.
|
"-Wsafe-init" // Enable the safe initialization check.
|
||||||
)
|
)
|
||||||
|
|
||||||
/**
|
/** Host of the GS Git server.
|
||||||
* Host of the GS Git server.
|
|
||||||
*/
|
*/
|
||||||
val GitHost: String = "git.garrity.co"
|
val GitHost: String = "git.garrity.co"
|
||||||
|
|
||||||
/**
|
/** Host of the Maven server.
|
||||||
* Host of the Maven server.
|
|
||||||
*/
|
*/
|
||||||
val MavenHost: String = "maven.garrity.co"
|
val MavenHost: String = "maven.garrity.co"
|
||||||
|
|
||||||
/**
|
/** Realm of the Maven server.
|
||||||
* Realm of the Maven server.
|
|
||||||
*/
|
*/
|
||||||
val MavenRealm: String = "Reposilite"
|
val MavenRealm: String = "Reposilite"
|
||||||
|
|
||||||
/**
|
/** Organization name used to organize projects in Git.
|
||||||
* Organization name used to organize projects in Git.
|
|
||||||
*/
|
*/
|
||||||
val GitOrganization: String = "garrity-software"
|
val GitOrganization: String = "garrity-software"
|
||||||
|
|
||||||
/**
|
/** Human readable organization name.
|
||||||
* Human readable organization name.
|
|
||||||
*/
|
*/
|
||||||
val OrganizationName: String = "Garrity Software"
|
val OrganizationName: String = "Garrity Software"
|
||||||
|
|
||||||
/**
|
/** Maven Group ID for GS projects.
|
||||||
* Maven Group ID for GS projects.
|
|
||||||
*/
|
*/
|
||||||
val GroupId: String = "gs"
|
val GroupId: String = "gs"
|
||||||
|
|
||||||
/**
|
/** Calculate the Git repository for a project.
|
||||||
* Calculate the Git repository for a project.
|
|
||||||
*
|
*
|
||||||
* @param projectName The project name.
|
* @param projectName
|
||||||
* @return The HTTPS Git repository URL.
|
* The project name.
|
||||||
|
* @return
|
||||||
|
* The HTTPS Git repository URL.
|
||||||
*/
|
*/
|
||||||
def gitRepo(projectName: String): String =
|
def gitRepo(projectName: String): String =
|
||||||
s"https://$GitHost/$GitOrganization/$projectName"
|
s"https://$GitHost/$GitOrganization/$projectName"
|
||||||
|
|
||||||
/**
|
/** Calculate the Git SSH target for a project.
|
||||||
* Calculate the Git SSH target for a project.
|
|
||||||
*
|
*
|
||||||
* @param projectName The project name.
|
* @param projectName
|
||||||
* @return The SSH target.
|
* The project name.
|
||||||
|
* @return
|
||||||
|
* The SSH target.
|
||||||
*/
|
*/
|
||||||
def gitSsh(projectName: String): String =
|
def gitSsh(projectName: String): String =
|
||||||
s"git@$GitHost:$GitOrganization/${projectName}.git"
|
s"git@$GitHost:$GitOrganization/$projectName.git"
|
||||||
|
|
||||||
object Environment {
|
object Environment {
|
||||||
val MavenUser: String = "GS_MAVEN_USER"
|
val MavenUser: String = "GS_MAVEN_USER"
|
||||||
val MavenToken: String = "GS_MAVEN_TOKEN"
|
val MavenToken: String = "GS_MAVEN_TOKEN"
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/** Prefers to load credentials from file, if a file is available. Otherwise
|
||||||
* Prefers to load credentials from file, if a file is available. Otherwise
|
|
||||||
* mandates that the following environment variables exist:
|
* mandates that the following environment variables exist:
|
||||||
*
|
*
|
||||||
* - `GS_MAVEN_USER`
|
* - `GS_MAVEN_USER`
|
||||||
* - `GS_MAVEN_TOKEN`
|
* - `GS_MAVEN_TOKEN`
|
||||||
*
|
*
|
||||||
* @return The selected credentials for GS Maven.
|
* @return
|
||||||
|
* The selected credentials for GS Maven.
|
||||||
*/
|
*/
|
||||||
def selectCredentials(): Credentials =
|
def selectCredentials(): Credentials =
|
||||||
if ((Path.userHome / ".sbt" / ".credentials").exists())
|
if ((Path.userHome / ".sbt" / ".credentials").exists())
|
||||||
Credentials(Path.userHome / ".sbt" / ".credentials")
|
Credentials(Path.userHome / ".sbt" / ".credentials")
|
||||||
else
|
else
|
||||||
Credentials.apply(
|
Credentials.apply(
|
||||||
realm =Gs.MavenRealm,
|
realm = Gs.MavenRealm,
|
||||||
host = Gs.MavenHost,
|
host = Gs.MavenHost,
|
||||||
userName = sys.env
|
userName = sys.env
|
||||||
.get(Gs.Environment.MavenUser)
|
.get(Gs.Environment.MavenUser)
|
||||||
|
@ -107,5 +103,6 @@ object Gs {
|
||||||
s"You must either provide ~/.sbt/.credentials or specify the ${Gs.Environment.MavenToken} environment variable."
|
s"You must either provide ~/.sbt/.credentials or specify the ${Gs.Environment.MavenToken} environment variable."
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,12 +6,12 @@ import sbt._
|
||||||
*/
|
*/
|
||||||
object GsKeys {
|
object GsKeys {
|
||||||
|
|
||||||
/**
|
/** Required setting for projects using the Garrity Software plugin. This
|
||||||
* Required setting for projects using the Garrity Software plugin. This
|
|
||||||
* value must match the Git repository name. This value is used to configure
|
* value must match the Git repository name. This value is used to configure
|
||||||
* publishing and generate sub-project names.
|
* publishing and generate sub-project names.
|
||||||
*/
|
*/
|
||||||
lazy val gsProjectName = settingKey[String](
|
lazy val gsProjectName = settingKey[String](
|
||||||
"Name of the project and Git repository."
|
"Name of the project and Git repository."
|
||||||
)
|
)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,18 +11,18 @@ object GsPlugin extends AutoPlugin {
|
||||||
import autoImport._
|
import autoImport._
|
||||||
|
|
||||||
override def projectSettings: Seq[Setting[_]] = Seq(
|
override def projectSettings: Seq[Setting[_]] = Seq(
|
||||||
publishMavenStyle := true,
|
publishMavenStyle := true,
|
||||||
Test / Keys.publishArtifact := false,
|
Test / Keys.publishArtifact := false,
|
||||||
pomIncludeRepository := Function.const(false),
|
pomIncludeRepository := Function.const(false),
|
||||||
scmInfo := Some(
|
scmInfo := Some(
|
||||||
ScmInfo(
|
ScmInfo(
|
||||||
browseUrl = url(Gs.gitRepo(gsProjectName.value)),
|
browseUrl = url(Gs.gitRepo(gsProjectName.value)),
|
||||||
connection = Gs.gitSsh(gsProjectName.value)
|
connection = Gs.gitSsh(gsProjectName.value)
|
||||||
)
|
)
|
||||||
),
|
),
|
||||||
homepage := Some(url(Gs.gitRepo(gsProjectName.value))),
|
homepage := Some(url(Gs.gitRepo(gsProjectName.value))),
|
||||||
organizationName := Gs.OrganizationName,
|
organizationName := Gs.OrganizationName,
|
||||||
organization := Gs.GroupId,
|
organization := Gs.GroupId,
|
||||||
organizationHomepage := Some(url("https://garrity.co/")),
|
organizationHomepage := Some(url("https://garrity.co/")),
|
||||||
publishTo := {
|
publishTo := {
|
||||||
val repo = "https://maven.garrity.co/"
|
val repo = "https://maven.garrity.co/"
|
||||||
|
|
Loading…
Add table
Reference in a new issue