Skip to content

Commit a456b89

Browse files
committed
Add scripted test, downgrade sbt-typelevel to publish to legacy sonatype
1 parent 50d9e43 commit a456b89

File tree

7 files changed

+66
-2
lines changed

7 files changed

+66
-2
lines changed

project/plugins.sbt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.8.0")
2-
addSbtPlugin("org.typelevel" % "sbt-typelevel-mergify" % "0.8.0")
1+
addSbtPlugin("org.typelevel" % "sbt-typelevel" % "0.7.7")
2+
addSbtPlugin("org.typelevel" % "sbt-typelevel-mergify" % "0.7.7")
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
val traits = project
2+
.enablePlugins(SmithyTraitCodegenPlugin)
3+
.settings(
4+
smithyTraitCodegenDependencies := List(
5+
"io.github.disneystreaming.alloy" % "alloy-core" % "0.3.23"
6+
),
7+
smithyTraitCodegenJavaPackage := "demo",
8+
smithyTraitCodegenNamespace := "demo",
9+
)
10+
11+
val root = project
12+
.in(file("."))
13+
.dependsOn(traits)
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
sys.props.get("plugin.version") match {
2+
case Some(x) => addSbtPlugin("org.polyvariant" % "smithy-trait-codegen-sbt" % x)
3+
case _ => sys.error("""|The system property 'plugin.version' is not defined.
4+
|Specify this property using the scriptedLaunchOpts -D.""".stripMargin)
5+
}
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
import software.amazon.smithy.model.Model
2+
3+
object DemoApp extends App {
4+
val trt = demo.MyTrait.builder().name("hello").build()
5+
assert(
6+
trt.getName() == "hello",
7+
s"Expected name to be hello but it was: ${trt.getName()}",
8+
)
9+
10+
val model = Model
11+
.assembler()
12+
.addUnparsedModel(
13+
"test.smithy",
14+
"""$version: "2"
15+
|namespace test
16+
|
17+
|@demo#myTrait(name: "hello")
18+
|structure Test {}
19+
|""".stripMargin,
20+
)
21+
.discoverModels()
22+
.assemble()
23+
.unwrap()
24+
25+
val traitInModel = model
26+
.getShapesWithTrait(classOf[demo.MyTrait])
27+
.iterator()
28+
.next()
29+
.expectTrait(classOf[demo.MyTrait])
30+
31+
assert(
32+
traitInModel == trt,
33+
s"Expected trait in model to be equal to the one created, but they were not: $traitInModel != $trt",
34+
)
35+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
> run
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
$version: "2"
2+
3+
namespace demo
4+
5+
@trait
6+
structure myTrait {
7+
@required
8+
name: String
9+
}
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
demo.smithy

0 commit comments

Comments
 (0)