Fix task dependency for collectScreenshots
This commit is contained in:
47
build.gradle
47
build.gradle
@@ -129,30 +129,30 @@ allprojects {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
task collectScreenshots(dependsOn: 'classes') {
|
|
||||||
|
task collectScreenshots {
|
||||||
doFirst {
|
doFirst {
|
||||||
for (sub in project.subprojects) {
|
def demoProjects = project.subprojects.findAll { it.sourceSets.hasProperty("demo") }
|
||||||
if (sub.sourceSets.hasProperty("demo")) {
|
for (sub in demoProjects) {
|
||||||
def set = sub.sourceSets.demo
|
def set = sub.sourceSets.demo
|
||||||
def ucl = new URLClassLoader(set.runtimeClasspath.collect { it.toURI().toURL() } as URL[])
|
def ucl = new URLClassLoader(set.runtimeClasspath.collect { it.toURI().toURL() } as URL[])
|
||||||
for (x in set.output) {
|
for (x in set.output) {
|
||||||
if (x.exists()) {
|
if (x.exists()) {
|
||||||
for (y in x.listFiles()) {
|
for (y in x.listFiles()) {
|
||||||
def name = y.name
|
def name = y.name
|
||||||
if (!name.contains('$') && name.contains(".class")) {
|
if (!name.contains('$') && name.contains(".class")) {
|
||||||
def klass = ucl.loadClass(y.name.replace(".class", ""))
|
def klass = ucl.loadClass(y.name.replace(".class", ""))
|
||||||
try {
|
try {
|
||||||
def mainMethod = klass.getMethod("main")
|
def mainMethod = klass.getMethod("main")
|
||||||
javaexec {
|
javaexec {
|
||||||
classpath set.runtimeClasspath
|
classpath set.runtimeClasspath
|
||||||
def className = y.name.replace(".class", "")
|
def className = y.name.replace(".class", "")
|
||||||
main = className
|
main = className
|
||||||
jvmArgs += "-DtakeScreenshot=true"
|
jvmArgs += "-DtakeScreenshot=true"
|
||||||
jvmArgs += "-DscreenshotPath=${sub.name}/images/${className}.png"
|
jvmArgs += "-DscreenshotPath=${sub.name}/images/${className}.png"
|
||||||
}
|
|
||||||
} catch (e) {
|
|
||||||
// skip?
|
|
||||||
}
|
}
|
||||||
|
} catch (e) {
|
||||||
|
// skip?
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -161,3 +161,6 @@ task collectScreenshots(dependsOn: 'classes') {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
collectScreenshots.dependsOn {
|
||||||
|
project.subprojects.findAll { it.sourceSets.hasProperty("demo") }.collect { it.tasks.demoClasses }
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user