Skip to content

Commit ce3cc85

Browse files
cheesengbvenners
authored andcommitted
Made all test generators and scala-js generators to generate files only when necessary, completed this behavior now.
(cherry picked from commit a996db8)
1 parent a282f47 commit ce3cc85

15 files changed

+717
-594
lines changed

project/GenCommonTestJS.scala

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,11 @@ object GenCommonTestJS {
6060
files.map { sourceFileName =>
6161
val sourceFile = new File(sourceDir, sourceFileName)
6262
val destFile = new File(packageDir, sourceFile.getName)
63-
copyFile(sourceFile, destFile)
63+
if (!destFile.exists || sourceFile.lastModified > destFile.lastModified) {
64+
copyFile(sourceFile, destFile)
65+
}
66+
67+
destFile
6468
}
6569
}
6670

project/GenContain1.scala

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import io.Source
1919
import java.io.{File, FileWriter, BufferedWriter}
2020

2121
object GenContain1 extends GenContainBase {
22+
23+
val generatorSource = new File("GenContain1.scala")
2224

2325
def genTest(targetBaseDir: File, version: String, scalaVersion: String): Seq[File] = {
2426

@@ -29,21 +31,23 @@ object GenContain1 extends GenContainBase {
2931
def generateFile(sourceFileName: String, typeName: String, mapping: (String, String)*): File = {
3032
val generatedFileName = sourceFileName.replaceAll("List", typeName)
3133
val generatedFile = new File(targetBaseDir, generatedFileName)
32-
val writer = new BufferedWriter(new FileWriter(generatedFile))
33-
try {
34-
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
35-
for (line <- lines) {
36-
val generatedLine = translateLine(line, mapping.toList: _*)
37-
writer.write(generatedLine.toString)
38-
writer.newLine() // add for 2.8
34+
if (!generatedFile.exists || generatorSource.lastModified > generatedFile.lastModified) {
35+
val writer = new BufferedWriter(new FileWriter(generatedFile))
36+
try {
37+
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
38+
for (line <- lines) {
39+
val generatedLine = translateLine(line, mapping.toList: _*)
40+
writer.write(generatedLine.toString)
41+
writer.newLine() // add for 2.8
42+
}
43+
}
44+
finally {
45+
writer.flush()
46+
writer.close()
47+
println("Generated " + generatedFile.getAbsolutePath)
3948
}
40-
generatedFile
41-
}
42-
finally {
43-
writer.flush()
44-
writer.close()
45-
println("Generated " + generatedFile.getAbsolutePath)
4649
}
50+
generatedFile
4751
}
4852

4953
Seq(

project/GenContain2.scala

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import java.io.{File, FileWriter, BufferedWriter}
2020

2121
object GenContain2 extends GenContainBase {
2222

23+
val generatorSource = new File("GenContain2.scala")
24+
2325
def genTest(targetBaseDir: File, version: String, scalaVersion: String): Seq[File] = {
2426

2527
val sourceBaseDir = new File("scalatest-test/src/test/scala/org/scalatest")
@@ -29,21 +31,23 @@ object GenContain2 extends GenContainBase {
2931
def generateFile(sourceFileName: String, typeName: String, mapping: (String, String)*): File = {
3032
val generatedFileName = sourceFileName.replaceAll("List", typeName)
3133
val generatedFile = new File(targetBaseDir, generatedFileName)
32-
val writer = new BufferedWriter(new FileWriter(generatedFile))
33-
try {
34-
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
35-
for (line <- lines) {
36-
val generatedLine = translateLine(line, mapping.toList: _*)
37-
writer.write(generatedLine.toString)
38-
writer.newLine() // add for 2.8
34+
if (!generatedFile.exists || generatorSource.lastModified > generatedFile.lastModified) {
35+
val writer = new BufferedWriter(new FileWriter(generatedFile))
36+
try {
37+
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
38+
for (line <- lines) {
39+
val generatedLine = translateLine(line, mapping.toList: _*)
40+
writer.write(generatedLine.toString)
41+
writer.newLine() // add for 2.8
42+
}
43+
}
44+
finally {
45+
writer.flush()
46+
writer.close()
47+
println("Generated " + generatedFile.getAbsolutePath)
3948
}
40-
generatedFile
41-
}
42-
finally {
43-
writer.flush()
44-
writer.close()
45-
println("Generated " + generatedFile.getAbsolutePath)
4649
}
50+
generatedFile
4751
}
4852

4953
Seq(

project/GenEmpty.scala

Lines changed: 17 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ import io.Source
1919
import java.io.{File, FileWriter, BufferedWriter}
2020

2121
object GenEmpty {
22+
23+
val generatorSource = new File("GenEmpty.scala")
2224

2325
def translateLine(line: String, mapping: (String, String)*): String = {
2426
@tailrec
@@ -41,21 +43,23 @@ object GenEmpty {
4143
def generateFile(sourceFileName: String, typeName: String, mapping: (String, String)*): File = {
4244
val generatedFileName = sourceFileName.replaceAll("List", typeName)
4345
val generatedFile = new File(targetBaseDir, generatedFileName)
44-
val writer = new BufferedWriter(new FileWriter(generatedFile))
45-
try {
46-
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
47-
for (line <- lines) {
48-
val generatedLine = translateLine(line, mapping.toList: _*)
49-
writer.write(generatedLine.toString)
50-
writer.newLine() // add for 2.8
46+
if (!generatedFile.exists || generatorSource.lastModified > generatedFile.lastModified) {
47+
val writer = new BufferedWriter(new FileWriter(generatedFile))
48+
try {
49+
val lines = Source.fromFile(new File(sourceBaseDir, sourceFileName)).getLines().toList // for 2.8
50+
for (line <- lines) {
51+
val generatedLine = translateLine(line, mapping.toList: _*)
52+
writer.write(generatedLine.toString)
53+
writer.newLine() // add for 2.8
54+
}
55+
}
56+
finally {
57+
writer.flush()
58+
writer.close()
59+
println("Generated " + generatedFile.getAbsolutePath)
5160
}
52-
generatedFile
53-
}
54-
finally {
55-
writer.flush()
56-
writer.close()
57-
println("Generated " + generatedFile.getAbsolutePath)
5861
}
62+
generatedFile
5963
}
6064

6165
val arrayMapping =

0 commit comments

Comments
 (0)