1
- lazy val noPublishSettings = Seq (
2
- publish := (),
3
- publishLocal := (),
4
- publishArtifact := false
5
- )
1
+ pgpPassphrase := Some (getEnvVar(" PGP_PASSPHRASE" ).getOrElse(" " ).toCharArray)
2
+ pgpPublicRing := file(s " $gpgFolder/pubring.gpg " )
3
+ pgpSecretRing := file(s " $gpgFolder/secring.gpg " )
6
4
7
5
lazy val root = (project in file(" ." ))
8
6
.settings(mainClass in Universal := Some (" org.scalaexercises.evaluator.EvaluatorServer" ))
9
7
.settings(stage <<= (stage in Universal in `evaluator-server`))
10
8
.settings(noPublishSettings : _* )
11
- .aggregate(`evaluator-server`, `evaluator-shared-jvm`, `evaluator-shared-js`, `evaluator-client-jvm`, `evaluator-client-js`)
9
+ .aggregate(
10
+ `evaluator-server`,
11
+ `evaluator-shared-jvm`,
12
+ `evaluator-shared-js`,
13
+ `evaluator-client-jvm`,
14
+ `evaluator-client-js`)
12
15
13
16
lazy val `evaluator-shared` = (crossProject in file(" shared" ))
14
17
.enablePlugins(AutomateHeaderPlugin )
15
18
.settings(name := " evaluator-shared" )
16
19
17
20
lazy val `evaluator-shared-jvm` = `evaluator-shared`.jvm
18
- lazy val `evaluator-shared-js` = `evaluator-shared`.js
19
-
20
- lazy val scalaJSSettings = Seq (
21
- requiresDOM := false ,
22
- scalaJSUseRhino := false ,
23
- jsEnv := NodeJSEnv ().value,
24
- libraryDependencies ++= Seq (
25
- " fr.hmil" %%% " roshttp" % v(' roshttp ),
26
- " org.typelevel" %%% " cats-free" % v(' cats ),
27
- " io.circe" %%% " circe-core" % v(' circe ),
28
- " io.circe" %%% " circe-generic" % v(' circe ),
29
- " io.circe" %%% " circe-parser" % v(' circe )
30
- )
31
- )
21
+ lazy val `evaluator-shared-js` = `evaluator-shared`.js
32
22
33
23
lazy val `evaluator-client` = (crossProject in file(" client" ))
34
24
.dependsOn(`evaluator-shared`)
35
25
.enablePlugins(AutomateHeaderPlugin )
36
26
.settings(
37
27
name := " evaluator-client" ,
38
28
libraryDependencies ++= Seq (
39
- " fr.hmil" %% " roshttp" % v(' roshttp ),
40
- " org.typelevel" %% " cats-free" % v(' cats ),
41
- " io.circe" %% " circe-core" % v(' circe ),
42
- " io.circe" %% " circe-generic" % v(' circe ),
43
- " io.circe" %% " circe-parser" % v(' circe ),
44
- " org.log4s" %% " log4s" % v(' log4s ),
45
- " org.slf4j" % " slf4j-simple" % v(' slf4j ),
46
- // Testing libraries
47
- " org.scalatest" %% " scalatest" % v(' scalaTest ) % " test"
29
+ %% (" roshttp" ),
30
+ %% (" cats-free" ),
31
+ %% (" circe-core" ),
32
+ %% (" circe-generic" ),
33
+ %% (" circe-parser" ),
34
+ %% (" log4s" ),
35
+ % (" slf4j-simple" ),
36
+ %% (" scalatest" ) % " test"
48
37
)
49
- )
50
- .jsSettings(scalaJSSettings : _* )
38
+ )
39
+ .jsSettings(sharedJsSettings : _* )
51
40
52
41
lazy val `evaluator-client-jvm` = `evaluator-client`.jvm
53
- lazy val `evaluator-client-js` = `evaluator-client`.js
42
+ lazy val `evaluator-client-js` = `evaluator-client`.js
54
43
55
44
lazy val `evaluator-server` = (project in file(" server" ))
56
45
.dependsOn(`evaluator-shared-jvm`)
@@ -61,51 +50,54 @@ lazy val `evaluator-server` = (project in file("server"))
61
50
.settings(
62
51
name := " evaluator-server" ,
63
52
libraryDependencies ++= Seq (
64
- " io.monix " %% " monix" % v( ' monix ),
65
- " org.http4s " %% " http4s-dsl " % v( ' http4s ),
66
- " org.http4s " %% " http4s-blaze-server " % v( ' http4s ),
67
- " org.http4s " %% " http4s-blaze-client " % v( ' http4s ),
68
- " org.http4s " %% " http4s-circe " % v( ' http4s ),
69
- " io.circe " %% " circe-core " % v( ' circe ),
70
- " io.circe " %% " circe-generic " % v( ' circe ),
71
- " io.circe " %% " circe-parser " % v( ' circe ),
72
- " com.typesafe " % " config " % v( ' config ),
73
- " com.pauldijou " %% " jwt-core " % v( ' jwtcore ),
74
- " org.log4s " %% " log4s " % v( ' log4s ),
75
- " org.slf4j " % " slf4j-simple " % v( ' slf4j ),
76
- " io.get-coursier " %% " coursier" % v( ' coursier ),
77
- " io.get-coursier " %% " coursier-cache" % v( ' coursier ),
78
- " org.scalatest " %% " scalatest" % v( ' scalaTest ) % " test"
53
+ %% ( " monix" ),
54
+ %% ( " circe-core " ),
55
+ %% ( " circe-generic " ),
56
+ %% ( " circe-parser " ),
57
+ %% ( " log4s " ),
58
+ % ( " slf4j-simple " ),
59
+ %% ( " http4s-dsl " , http4sV ),
60
+ %% ( " http4s-blaze-server " , http4sV ),
61
+ %% ( " http4s-blaze-client " , http4sV ),
62
+ %% ( " http4s-circe " , http4sV ),
63
+ % ( " config " ),
64
+ %% ( " jwt-core " ),
65
+ %% ( " coursier" ),
66
+ %% ( " coursier-cache" ),
67
+ %% ( " scalatest" ) % " test"
79
68
),
80
69
assemblyJarName in assembly := " evaluator-server.jar"
81
70
)
82
71
.settings(dockerSettings)
83
- .settings(compilerDependencySettings : _* )
72
+ .settings(scalaMacroDependencies : _* )
84
73
85
74
lazy val `smoketests` = (project in file(" smoketests" ))
86
75
.dependsOn(`evaluator-server`)
87
76
.settings(
88
77
name := " evaluator-server-smoke-tests" ,
89
78
libraryDependencies ++= Seq (
90
- " org.scalatest " %% " scalatest " % v( ' scalaTest ) % " test " ,
91
- " org.http4s " %% " http4s-blaze-client " % v( ' http4s ),
92
- " org.http4s " %% " http4s- circe" % v( ' http4s ),
93
- " io.circe " %% " circe-core " % v( ' circe ),
94
- " io.circe " %% " circe-generic " % v( ' circe ),
95
- " io.circe " %% " circe-parser " % v( ' circe ),
96
- " com.pauldijou " %% " jwt-core " % v( ' jwtcore )
79
+ %% ( " circe-core " ) ,
80
+ %% ( " circe-generic " ),
81
+ %% ( " circe-parser " ),
82
+ %% ( " http4s-blaze-client " , http4sV ),
83
+ %% ( " http4s-circe " , http4sV ),
84
+ %% ( " jwt-core " ),
85
+ %% ( " scalatest " ) % " test "
97
86
)
98
-
99
87
)
100
88
101
- onLoad in Global := (Command .process(" project evaluator-server" , _ : State )) compose (onLoad in Global ).value
102
- addCommandAlias(" publishSignedAll" , " ;evaluator-sharedJS/publishSigned;evaluator-sharedJVM/publishSigned;evaluator-clientJS/publishSigned;evaluator-clientJVM/publishSigned" )
89
+ onLoad in Global := (Command
90
+ .process(" project evaluator-server" , _ : State )) compose (onLoad in Global ).value
91
+ addCommandAlias(
92
+ " publishSignedAll" ,
93
+ " ;evaluator-sharedJS/publishSigned;evaluator-sharedJVM/publishSigned;evaluator-clientJS/publishSigned;evaluator-clientJVM/publishSigned"
94
+ )
103
95
104
96
lazy val dockerSettings = Seq (
105
97
docker <<= docker dependsOn assembly,
106
98
dockerfile in docker := {
107
99
108
- val artifact : File = assembly.value
100
+ val artifact : File = assembly.value
109
101
val artifactTargetPath = artifact.name
110
102
111
103
sbtdocker.immutable.Dockerfile .empty
@@ -115,7 +107,8 @@ lazy val dockerSettings = Seq(
115
107
.run(" useradd" , " -m" , " evaluator" )
116
108
.user(" evaluator" )
117
109
.add(artifact, artifactTargetPath)
118
- .cmdRaw(s " java -Dhttp.port= $$ PORT -Deval.auth.secretKey= $$ EVAL_SECRET_KEY -jar $artifactTargetPath" )
110
+ .cmdRaw(
111
+ s " java -Dhttp.port= $$ PORT -Deval.auth.secretKey= $$ EVAL_SECRET_KEY -jar $artifactTargetPath" )
119
112
},
120
113
imageNames in docker := Seq (ImageName (repository = " registry.heroku.com/scala-evaluator/web" ))
121
114
)
0 commit comments