Инструменты пользователя

Инструменты сайта


how-to:scala

Scala

sbt

docker

Dockerfile

Dockerfile

FROM  openjdk:8-jre-alpine
 
ARG SBT_VERSION
 
ENV SBT_VERSION ${SBT_VERSION:-1.5.1}
 
RUN set -x; \
  apk add --no-cache bash curl; \
  curl -fsL https://github.com/sbt/sbt/releases/download/v$SBT_VERSION/sbt-$SBT_VERSION.tgz | tar xfz - -C /opt; \
  ln -s /opt/sbt/bin/* /usr/local/bin; \
  rm -rf /var/cache/apk/*
 
ENTRYPOINT ["/opt/sbt/bin/sbt"]
 
CMD ["--version"]


Передать версию

В build.sbt:

version := sys.props.getOrElse("version", default = "0.0-SNAPSHOT")

Передать и проверить переменную:

sbt "show version" -Dversion=$version

Собрать пакет

Исключить из сборки doc и source пакеты:

publishArtifact in (Compile, packageDoc) := false
publishArtifact in (Compile, packageSrc) := false

Исключить путь scala-%ver% из публикации пакета в target:

crossPaths := false

Очистить, собрать, тестировать, запаковать, создать POM и передать переменную version:

sbt "clean; assembly; makePom" -Dversion=$version

Собрать POM

Установить groupId, organization*, artifactId, version:

organization := "com.domain.app"
organizationName := "com.domain"
organizationHomepage := Some(url("https://domain.com"))
name := "app"
version := sys.props.getOrElse("version", default = "0.0-SNAPSHOT")

В POM файле:

    <groupId>com.domain.app</groupId>
    <artifactId>app</artifactId>
    <packaging>jar</packaging>
    <description>app</description>
    <version>0.0-SNAPSHOT</version>
    <name>app</name>
    <organization>
        <name>com.domain</name>
        <url>https://domain.com</url>
    </organization>
how-to/scala.txt · Последнее изменение: 127.0.0.1