Skip to content

Commit 019d0c9

Browse files
committed
Docker with fat jar
1 parent ae78ab9 commit 019d0c9

File tree

3 files changed

+25
-17
lines changed

3 files changed

+25
-17
lines changed

Dockerfile

+15-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
FROM openjdk:8
1+
# Start from openjdk and name this stage 'build'
2+
FROM openjdk:8 AS build
23

34
ENV SBT_VERSION 0.13.12
45

@@ -10,8 +11,18 @@ RUN \
1011
apt-get install sbt && \
1112
sbt sbtVersion
1213

13-
WORKDIR /galileo
14+
WORKDIR /galileo
15+
16+
ADD . /galileo
17+
18+
# This works inside the docker image; not locally (at least not for me)
19+
RUN sbt assembly
20+
21+
22+
FROM openjdk:8
23+
COPY --from=build \
24+
/galileo/target/scala-2.12/Galileo-assembly-0.1.2.jar galileo.jar
25+
26+
CMD [ "java", "-jar", "galileo.jar" ]
1427

15-
ADD . /galileo
1628

17-
CMD sbt run

build.sbt

+9-13
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,20 @@
11
organization := "com.github.cascala"
2-
32
name := "Galileo"
4-
5-
version := "0.1.2-SNAPSHOT"
6-
7-
scalaVersion := "2.11.8"
8-
3+
version := "0.1.2"
4+
scalaVersion := "2.12.8"
95
scalacOptions ++= Seq( "-deprecation", "-feature" )
10-
11-
libraryDependencies += "org.scalatest" % "scalatest_2.11" % "2.2.1" % "test"
12-
13-
libraryDependencies += "org.jline" % "jline" % "3.7.0"
14-
15-
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.2"
6+
libraryDependencies += "org.scalatest" % "scalatest_2.12" % "3.0.8" % "test"
7+
libraryDependencies += "org.jline" % "jline" % "3.13.1"
8+
libraryDependencies += "org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2"
169

1710
// Publication to Sonatype Ivy - artefacts
1811
// Maven
19-
12+
resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases"
2013
resolvers += Resolver.url("scalasbt", new URL("http://scalasbt.artifactoryonline.com/scalasbt/sbt-plugin-releases")) (Resolver.ivyStylePatterns)
14+
resolvers += Resolver.url("sbt-assembly", new URL("https://dl.bintray.com/sbt/sbt-plugin-releases")) (Resolver.ivyStylePatterns)
2115

16+
//lazy val util = enablePlugins(AssemblyPlugin).settings(site.settings)
17+
2218
publishMavenStyle := true
2319

2420
publishTo := {

project/assembly.sbt

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
addSbtPlugin("com.eed3si9n" % "sbt-assembly" % "0.14.7" )

0 commit comments

Comments
 (0)