forked from SteamWar/SteamWar
Optimize and improve VelocityCore size
Improve steamwar.devserver.gradle to not upload anything that is up to date!
This commit is contained in:
@@ -46,6 +46,19 @@ class DevServer extends DefaultTask {
|
||||
|
||||
DevServer() {
|
||||
super()
|
||||
List<Task> upToDateTasks = []
|
||||
project.gradle.taskGraph.addTaskExecutionListener(new TaskExecutionListener() {
|
||||
@Override
|
||||
void beforeExecute(Task task) {
|
||||
}
|
||||
|
||||
@Override
|
||||
void afterExecute(Task task, TaskState state) {
|
||||
if (state.upToDate) {
|
||||
upToDateTasks.add(task);
|
||||
}
|
||||
}
|
||||
})
|
||||
doFirst {
|
||||
List<Project> projects = []
|
||||
projects.add(project)
|
||||
@@ -70,7 +83,7 @@ class DevServer extends DefaultTask {
|
||||
}
|
||||
doLast {
|
||||
checkHasTemplate()
|
||||
uploadDependencies()
|
||||
uploadDependencies(upToDateTasks)
|
||||
startDevServer()
|
||||
}
|
||||
finalizedBy(new Finalizer())
|
||||
@@ -107,7 +120,7 @@ class DevServer extends DefaultTask {
|
||||
}
|
||||
}
|
||||
|
||||
void uploadDependencies() {
|
||||
void uploadDependencies(List<Task> upToDateTasks) {
|
||||
def base = plugins == null ? "$template/plugins" : plugins
|
||||
println("Uploading to ~/$base")
|
||||
this.dependsOn.forEach {
|
||||
@@ -119,8 +132,12 @@ class DevServer extends DefaultTask {
|
||||
} else {
|
||||
throw new GradleException("Illegal argument for uploading dependencies")
|
||||
}
|
||||
|
||||
def archive = archiveTask.archiveFile.get().asFile
|
||||
if (upToDateTasks.contains(archiveTask)) {
|
||||
println("Skipping $archive")
|
||||
return
|
||||
}
|
||||
|
||||
println("Uploading $archive")
|
||||
new ProcessBuilder("ssh", host, "-T", "rm $base/${archive.name.replace("-all", "")}").start().waitFor()
|
||||
new ProcessBuilder("scp", archive.absolutePath, "$host:~/$base/${archive.name.replace("-all", "")}").start().waitFor()
|
||||
|
||||
Reference in New Issue
Block a user