Utilities for checking and updating headers in files.
A big thanks to sbt-header which this project is based on.
> .mill __.headerCheck
> mill __.headerCreateIn build.sc file:
//| mvnDeps: ["com.lewisjkl::header-mill-plugin::0.1.0"]
import header._object core extends HeaderModule {
override def license: HeaderLicense = HeaderLicense.Apache2("2023", "lewisjkl")
}object core extends HeaderModule {
override def license: HeaderLicense = HeaderLicense.MIT("2023", "lewisjkl")
}object core extends HeaderModule {
override def license: HeaderLicense = HeaderLicense.Custom(
"""|The contents of this file is free and unencumbered software released into the
|public domain. For more information, please refer to <http://unlicense.org/>""".stripMargin
)
}import header._
object core extends HeaderModule {
override def license: HeaderLicense = HeaderLicense.Apache2("2023", "lewisjkl")
// defaults to List("scala")
override def includeFileExtensions: List[String] = List("scala", "java")
// if you want more control, you can use the following instead of `includeFileExtensions`
// This shows the default implementation, but you can make it whatever you would like.
override def skipFilePredicate: os.Path => Boolean = path => {
os.isFile(path) && !includeFileExtensions.exists(ext =>
path.segments.toList.last.endsWith(s".$ext")
)
}
// defaults to this.moduleDir, change this to change where the header checking/creation starts
// looking for files
override def headerRootPath: os.Path = this.moduleDir
}