Pkg

sbt.Pkg
object Pkg

== Package ==

This module provides an API to package jar files.

Attributes

See also
Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Pkg.type

Members list

Type members

Classlikes

final class Configuration(val sources: Seq[(HashedVirtualFileRef, String)], val jar: VirtualFileRef, val options: Seq[PackageOption])

The jar package configuration. Contains all relevant information to create a jar file.

The jar package configuration. Contains all relevant information to create a jar file.

Value parameters

jar

the destination jar file

options

additional package information, e.g. jar manifest, main class or manifest attributes

sources

the jar contents

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
object Configuration

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type

Value members

Concrete methods

def FixedTimestamp(value: Option[Long]): PackageOption
def JarManifest(m: Manifest): PackageOption
def MainClass(mainClassName: String): PackageOption
def MainfestAttributes(attributes: (Name, String)*): PackageOption
def ManifestAttributes(attributes: (String, String)*): PackageOption
def addImplManifestAttributes(name: String, version: String, homepage: Option[URL], org: String, orgName: String): PackageOption
def addSpecManifestAttributes(name: String, version: String, orgName: String): PackageOption
def apply(conf: Configuration, converter: FileConverter, log: Logger): VirtualFile

Value parameters

cacheStoreFactory

used for jar caching. We try to avoid rebuilds as much as possible

conf

the package configuration that should be build

log

feedback for the user

Attributes

def apply(conf: Configuration, converter: FileConverter, log: Logger, time: Option[Long]): VirtualFile

Value parameters

cacheStoreFactory

used for jar caching. We try to avoid rebuilds as much as possible

conf

the package configuration that should be build

log

feedback for the user

time

static timestamp to use for all entries, if any.

Attributes

def gitCommitDateTimestamp: Option[Long]
def makeJar(sources: Seq[(File, String)], jar: File, manifest: Manifest, log: Logger, time: Option[Long]): Unit
def mergeAttributes(a1: Attributes, a2: Attributes): Map[Object, Object]
def mergeManifests(manifest: Manifest, mergeManifest: Manifest): Unit
def setFixedTimestamp(value: Option[Long]): PackageOption
def setVersion(main: Attributes): Unit

updates the manifest version is there is none present.

updates the manifest version is there is none present.

Value parameters

main

the current jar attributes

Attributes

def sourcesDebugString(sources: Seq[(File, String)]): String
def timeFromConfiguration(config: Configuration): Option[Long]
def toManifest(conf: Configuration, log: Logger): Manifest

Concrete fields

lazy val defaultTimestamp: Option[Long]

by default we overwrite all timestamps in JAR to epoch time 2010-01-01 for repeatable build

by default we overwrite all timestamps in JAR to epoch time 2010-01-01 for repeatable build

Attributes

val fixed2010Timestamp: Option[Long]
val keepTimestamps: Option[Long]

Givens

Givens

given manifestFormat: JsonFormat[Manifest]