@@ -21,7 +21,7 @@ object build extends Build {
21
21
id = " all" ,
22
22
base = file(" ." ),
23
23
settings = standardSettings ++ Seq (distTask),
24
- aggregate = Seq (main, cli, markdown)
24
+ aggregate = Seq (main, cli, markdown, referenceBot, tagTeamBot )
25
25
)
26
26
27
27
lazy val src = Seq (
@@ -75,6 +75,16 @@ object build extends Build {
75
75
)
76
76
)
77
77
78
+ lazy val samples = (IO .listFiles(file(" Scalatron" ) / " samples" )) filter (! _.isFile) map {
79
+ sample => Project (sample.getName, sample, settings = Defaults .defaultSettings ++ Seq (
80
+ scalaSource in Compile <<= baseDirectory / " src" ,
81
+ artifactName in packageBin := ((_, _, _) => " ScalatronBot.jar" )
82
+ ))
83
+ }
84
+ // TODO How can we do this automatically?!?
85
+ lazy val referenceBot = samples(0 )
86
+ lazy val tagTeamBot = samples(1 )
87
+
78
88
val dist = TaskKey [Unit ](" dist" , " Makes the distribution zip file" )
79
89
val distTask = dist <<= (version, scalaVersion) map { (scalatronVersion, version) =>
80
90
val distDir = file(" dist" )
@@ -102,11 +112,22 @@ object build extends Build {
102
112
for (fileToCopy <- List (" Readme.txt" , " License.txt" )) {
103
113
IO .copyFile(scalatronDir / fileToCopy, distDir / fileToCopy)
104
114
}
105
- for (dirToCopy <- List (" samples" , " webui" , " doc/pdf" , " bots" )) {
115
+
116
+ for (dirToCopy <- List (" webui" , " doc/pdf" , " bots" )) {
106
117
println(" Copying " + dirToCopy)
107
118
IO .copyDirectory(scalatronDir / dirToCopy, distDir / dirToCopy)
108
119
}
109
120
121
+ val distSamples = distDir / " samples"
122
+ for (sample <- samples) {
123
+ val sampleJar = sample.base / (" target/scala-%s/ScalatronBot.jar" format version)
124
+ if (sampleJar.exists) {
125
+ println(" Copying " + sample.base)
126
+ IO .copyDirectory(sample.base / " src" , distSamples / sample.base.getName / " src" )
127
+ IO .copyFile(sampleJar, distSamples / sample.base.getName / " ScalatronBot.jar" )
128
+ }
129
+ }
130
+
110
131
for (file <- IO .listFiles(scalatronDir / " doc/tutorial" ) if ! file.getName.endsWith(" .md" )) {
111
132
IO .copyFile(file, distDir / " webui/tutorial" / file.getName)
112
133
}
@@ -122,6 +143,6 @@ object build extends Build {
122
143
IO .zip(allDistFiles, destFile)
123
144
}
124
145
zip (distDir, file(" ./scalatron-%s.zip" format scalatronVersion), " Scalatron/" )
125
- } dependsOn (assembly in main, assembly in cli, assembly in markdown)
146
+ } dependsOn (assembly in main, assembly in cli, assembly in markdown, packageBin in Compile in referenceBot, packageBin in Compile in tagTeamBot )
126
147
127
148
}
0 commit comments