File tree Expand file tree Collapse file tree 12 files changed +137
-32
lines changed
sbt-test/sbt-dotty/example-project
src/dotty/tools/sbtplugin Expand file tree Collapse file tree 12 files changed +137
-32
lines changed Original file line number Diff line number Diff line change @@ -40,7 +40,7 @@ matrix:
40
40
CI_PUBLISH : true
41
41
- CI_TEST : legacyTests
42
42
CI_PUBLISH : false
43
- - CI_TEST : test
43
+ - CI_TEST : ; test;sbt-dotty/scripted
44
44
CI_PUBLISH : false
45
45
- CI_TEST : ;dotty-sbt-bridge/publishLocal ;dotty-bootstrapped/test
46
46
CI_PUBLISH : false
Original file line number Diff line number Diff line change 1
- eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciB1cGRhdGluZyB0aGlzIGZpbGUsIHlvdSBuZWVkIHRvIHJlLXNpZ24gaXQ6CiMKIyAtIEluc3RhbGwgW2Ryb25lLWNsaV0oaHR0cDovL3JlYWRtZS5kcm9uZS5pby91c2FnZS9nZXR0aW5nLXN0YXJ0ZWQtY2xpLykKIyAtIENvcHkgeW91ciB0b2tlbiBmcm9tICBodHRwOi8vZG90dHktY2kuZXBmbC5jaC9hY2NvdW50IChDbGljayBTSE9XIFRPS0VOKQojIC0gKGV4cG9ydCBEUk9ORV9UT0tFTj15b3VyLXRva2VuOyBleHBvcnQgRFJPTkVfU0VSVkVSPWh0dHA6Ly9kb3R0eS1jaS5lcGZsLmNoOyBkcm9uZSBzaWduIGxhbXBlcGZsL2RvdHR5KQojCiMgUGxlYXNlIG5vdGUgdGhhdCB0aGUgc2lnbmluZyBjYW4gb25seSBiZSBkb25lIGJ5IGNvbGxhYm9yYXRvcnMuCgpwaXBlbGluZToKICB0ZXN0OgogICAgaW1hZ2U6IGxhbXBlcGZsL2RvdHR5OjI0LTA0LTIwMTcKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIGxuIC1zIC92YXIvY2FjaGUvZHJvbmUvc2NhbGEtc2NhbGEgc2NhbGEtc2NhbGEKICAgICAgLSBsbiAtcyAvdmFyL2NhY2hlL2Ryb25lL2l2eTIgIiRIT01FLy5pdnkyIgogICAgICAtIC4vcHJvamVjdC9zY3JpcHRzL3VwZGF0ZVNjYWxhTGlicmFyeQogICAgICAtIHNidCAtSi1YbXg0MDk2bSAtSi1YWDpSZXNlcnZlZENvZGVDYWNoZVNpemU9NTEybSAtSi1YWDpNYXhNZXRhc3BhY2VTaXplPTEwMjRtIC1EZG90dHkuZHJvbmUubWVtPTQwOTZtICIke0NJX1RFU1R9IgogICAgd2hlbjoKICAgICAgYnJhbmNoOgogICAgICAgIGV4Y2x1ZGU6IGdoLXBhZ2VzCgogIGRvY3VtZW50YXRpb246CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjQtMDQtMjAxNwogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvZ2VuRG9jcyAiJHtDSV9QVUJMSVNIfSIgJEJPVF9QQVNTCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3RlcgoKICBzbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICBjaGFubmVsOiBkb3R0eQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgc3RhdHVzOiBjaGFuZ2VkCgptYXRyaXg6CiAgaW5jbHVkZToKICAgIC0gQ0lfVEVTVDogZG90dHktYmluLXRlc3RzL3Rlc3QKICAgICAgQ0lfUFVCTElTSDogdHJ1ZQogICAgLSBDSV9URVNUOiBsZWdhY3lUZXN0cwogICAgICBDSV9QVUJMSVNIOiBmYWxzZQogICAgLSBDSV9URVNUOiB0ZXN0CiAgICAgIENJX1BVQkxJU0g6IGZhbHNlCiAgICAtIENJX1RFU1Q6IDtkb3R0eS1zYnQtYnJpZGdlL3B1Ymxpc2hMb2NhbCA7ZG90dHktYm9vdHN0cmFwcGVkL3Rlc3QKICAgICAgQ0lfUFVCTElTSDogZmFsc2UK.oGDqInSbkSMvrUuLat_UdKNbHNTTvv0yK7WGdsnOdMc
1
+ eyJhbGciOiJIUzI1NiJ9.IyBBZnRlciB1cGRhdGluZyB0aGlzIGZpbGUsIHlvdSBuZWVkIHRvIHJlLXNpZ24gaXQ6CiMKIyAtIEluc3RhbGwgW2Ryb25lLWNsaV0oaHR0cDovL3JlYWRtZS5kcm9uZS5pby91c2FnZS9nZXR0aW5nLXN0YXJ0ZWQtY2xpLykKIyAtIENvcHkgeW91ciB0b2tlbiBmcm9tICBodHRwOi8vZG90dHktY2kuZXBmbC5jaC9hY2NvdW50IChDbGljayBTSE9XIFRPS0VOKQojIC0gKGV4cG9ydCBEUk9ORV9UT0tFTj15b3VyLXRva2VuOyBleHBvcnQgRFJPTkVfU0VSVkVSPWh0dHA6Ly9kb3R0eS1jaS5lcGZsLmNoOyBkcm9uZSBzaWduIGxhbXBlcGZsL2RvdHR5KQojCiMgUGxlYXNlIG5vdGUgdGhhdCB0aGUgc2lnbmluZyBjYW4gb25seSBiZSBkb25lIGJ5IGNvbGxhYm9yYXRvcnMuCgpwaXBlbGluZToKICB0ZXN0OgogICAgaW1hZ2U6IGxhbXBlcGZsL2RvdHR5OjI0LTA0LTIwMTcKICAgIHB1bGw6IHRydWUKICAgIGNvbW1hbmRzOgogICAgICAtIGxuIC1zIC92YXIvY2FjaGUvZHJvbmUvc2NhbGEtc2NhbGEgc2NhbGEtc2NhbGEKICAgICAgLSBsbiAtcyAvdmFyL2NhY2hlL2Ryb25lL2l2eTIgIiRIT01FLy5pdnkyIgogICAgICAtIC4vcHJvamVjdC9zY3JpcHRzL3VwZGF0ZVNjYWxhTGlicmFyeQogICAgICAtIHNidCAtSi1YbXg0MDk2bSAtSi1YWDpSZXNlcnZlZENvZGVDYWNoZVNpemU9NTEybSAtSi1YWDpNYXhNZXRhc3BhY2VTaXplPTEwMjRtIC1EZG90dHkuZHJvbmUubWVtPTQwOTZtICIke0NJX1RFU1R9IgogICAgd2hlbjoKICAgICAgYnJhbmNoOgogICAgICAgIGV4Y2x1ZGU6IGdoLXBhZ2VzCgogIGRvY3VtZW50YXRpb246CiAgICBpbWFnZTogbGFtcGVwZmwvZG90dHk6MjQtMDQtMjAxNwogICAgcHVsbDogdHJ1ZQogICAgY29tbWFuZHM6CiAgICAgIC0gLi9wcm9qZWN0L3NjcmlwdHMvZ2VuRG9jcyAiJHtDSV9QVUJMSVNIfSIgJEJPVF9QQVNTCiAgICB3aGVuOgogICAgICBicmFuY2g6IG1hc3RlcgoKICBzbGFjazoKICAgIGltYWdlOiBwbHVnaW5zL3NsYWNrCiAgICBjaGFubmVsOiBkb3R0eQogICAgd2hlbjoKICAgICAgYnJhbmNoOiBtYXN0ZXIKICAgICAgc3RhdHVzOiBjaGFuZ2VkCgptYXRyaXg6CiAgaW5jbHVkZToKICAgIC0gQ0lfVEVTVDogZG90dHktYmluLXRlc3RzL3Rlc3QKICAgICAgQ0lfUFVCTElTSDogdHJ1ZQogICAgLSBDSV9URVNUOiBsZWdhY3lUZXN0cwogICAgICBDSV9QVUJMSVNIOiBmYWxzZQogICAgLSBDSV9URVNUOiA7dGVzdDtzYnQtZG90dHkvc2NyaXB0ZWQKICAgICAgQ0lfUFVCTElTSDogZmFsc2UKICAgIC0gQ0lfVEVTVDogO2RvdHR5LXNidC1icmlkZ2UvcHVibGlzaExvY2FsIDtkb3R0eS1ib290c3RyYXBwZWQvdGVzdAogICAgICBDSV9QVUJMSVNIOiBmYWxzZQo.g6eg6JBtlJFjOb9oCS6kzRJ3E1Df5gV8LVksXBmFDq8
Original file line number Diff line number Diff line change @@ -19,4 +19,6 @@ val `scala-compiler` = Build.`scala-compiler`
19
19
val `scala-reflect` = Build .`scala-reflect`
20
20
val scalap = Build .scalap
21
21
22
+ val `sbt-dotty` = Build .`sbt-dotty`
23
+
22
24
inThisBuild(Build .thisBuildSettings)
Original file line number Diff line number Diff line change 2
2
< div class ="centered " style ="padding-top: 32px ">
3
3
< h1 id ="getting-started "> Getting Started</ h1 >
4
4
< p >
5
- Using Dotty to compile your project is now pretty simple. Create the
6
- following structure:
7
- </ p >
8
- < pre class ="sourceCode bordered ">
9
- < code > .
10
- ├── build.sbt
11
- ├── project
12
- │ ├── build.properties
13
- │ └── plugins.sbt
14
- └── src</ code > </ pre >
15
- < h2 id ="build.sbt "> build.sbt</ h2 >
16
- < pre class ="sourceCode bordered "> < code > name := "application"
17
- version := "0.1"
18
- enablePlugins(DottyPlugin)</ code > </ pre >
19
- < h2 id ="build.properties "> build.properties</ h2 >
20
- < pre class ="sourceCode bordered "> < code > sbt.version=0.13.11</ code > </ pre >
21
- < h2 id ="plugins.sbt "> plugins.sbt</ h2 >
22
- < pre class ="sourceCode bordered "> < code > addSbtPlugin("com.felixmulder" % "sbt-dotty" % "0.1.7")</ code > </ pre >
23
- < p >
24
- This plugin is based on the
25
- < a href ="https://github.com/smarter/dotty-example-project ">
26
- dotty-example-project
27
- </ a > , but let’s you skip building dotty from scratch.
5
+ See the < a href ="https://github.com/lampepfl/dotty-example-project "> example project</ a > .
28
6
</ p >
29
7
</ div >
30
8
</ div >
Original file line number Diff line number Diff line change @@ -3,10 +3,4 @@ layout: doc-page
3
3
title : " Using Dotty with sbt"
4
4
---
5
5
6
- It is now possible to use Dotty with sbt thanks to the dotty-bridge project.
7
- There are two alternatives in how to create an sbt project that uses dotty:
8
-
9
- * [ dotty-example-project] ( https://github.com/smarter/dotty-example-project )
10
- for a simple sbt project that compiles code with Dotty
11
- * [ sbt-dotty] ( https://github.com/felixmulder/sbt-dotty ) an sbt plugin that
12
- takes care of all dependencies and settings needed to get a Dotty sbt project
6
+ See the [ example project] ( https://github.com/lampepfl/dotty-example-project ) .
Original file line number Diff line number Diff line change @@ -844,6 +844,20 @@ object DottyInjectedPlugin extends AutoPlugin {
844
844
libraryDependencies := Seq (" org.scala-lang" % " scalap" % scalacVersion)
845
845
)
846
846
847
+
848
+ // sbt plugin to use Dotty in your own build, see
849
+ // https://github.com/lampepfl/dotty-example-project for usage.
850
+ lazy val `sbt-dotty` = project.in(file(" sbt-dotty" )).
851
+ settings(commonSettings).
852
+ settings(
853
+ sbtPlugin := true ,
854
+ version := " 0.1.0-RC4" ,
855
+ ScriptedPlugin .scriptedSettings,
856
+ ScriptedPlugin .sbtTestDirectory := baseDirectory.value / " sbt-test" ,
857
+ ScriptedPlugin .scriptedBufferLog := false ,
858
+ ScriptedPlugin .scriptedLaunchOpts += " -Dplugin.version=" + version.value
859
+ )
860
+
847
861
lazy val publishSettings = Seq (
848
862
publishMavenStyle := true ,
849
863
isSnapshot := version.value.contains(" SNAPSHOT" ),
Original file line number Diff line number Diff line change
1
+ scalaVersion := dottyLatestNightlyBuild.get
2
+
3
+ libraryDependencies += (" org.scala-lang.modules" %% " scala-xml" % " 1.0.1" ).withDottyCompat()
Original file line number Diff line number Diff line change
1
+ sbt.version =0.13.15
Original file line number Diff line number Diff line change
1
+ addSbtPlugin(" ch.epfl.lamp" % " sbt-dotty" % sys.props(" plugin.version" ))
Original file line number Diff line number Diff line change
1
+ package hello
2
+ object Hello {
3
+ def main (args : Array [String ]): Unit = {
4
+ val dotty : Int | String = " dotty"
5
+ println(s " Hello $dotty! " )
6
+ }
7
+ }
You can’t perform that action at this time.
0 commit comments