forked from SteamWar/SteamWar
Improve dependency upload
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
import java.security.MessageDigest
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* This file is a part of the SteamWar software.
|
* This file is a part of the SteamWar software.
|
||||||
*
|
*
|
||||||
@@ -46,19 +48,6 @@ class DevServer extends DefaultTask {
|
|||||||
|
|
||||||
DevServer() {
|
DevServer() {
|
||||||
super()
|
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 {
|
doFirst {
|
||||||
List<Project> projects = []
|
List<Project> projects = []
|
||||||
projects.add(project)
|
projects.add(project)
|
||||||
@@ -83,7 +72,7 @@ class DevServer extends DefaultTask {
|
|||||||
}
|
}
|
||||||
doLast {
|
doLast {
|
||||||
checkHasTemplate()
|
checkHasTemplate()
|
||||||
uploadDependencies(upToDateTasks)
|
uploadDependencies()
|
||||||
startDevServer()
|
startDevServer()
|
||||||
}
|
}
|
||||||
finalizedBy(new Finalizer())
|
finalizedBy(new Finalizer())
|
||||||
@@ -120,7 +109,7 @@ class DevServer extends DefaultTask {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void uploadDependencies(List<Task> upToDateTasks) {
|
void uploadDependencies() {
|
||||||
def base = plugins == null ? "$template/plugins" : plugins
|
def base = plugins == null ? "$template/plugins" : plugins
|
||||||
println("Uploading to ~/$base")
|
println("Uploading to ~/$base")
|
||||||
this.dependsOn.forEach {
|
this.dependsOn.forEach {
|
||||||
@@ -132,8 +121,20 @@ class DevServer extends DefaultTask {
|
|||||||
} else {
|
} else {
|
||||||
throw new GradleException("Illegal argument for uploading dependencies")
|
throw new GradleException("Illegal argument for uploading dependencies")
|
||||||
}
|
}
|
||||||
|
|
||||||
def archive = archiveTask.archiveFile.get().asFile
|
def archive = archiveTask.archiveFile.get().asFile
|
||||||
if (upToDateTasks.contains(archiveTask)) {
|
|
||||||
|
Process process = new ProcessBuilder("ssh", host, "-T", "sha1sum $base/${archive.name.replace("-all", "")}").start();
|
||||||
|
byte[] bytes = MessageDigest.getInstance("sha1").digest(archive.bytes)
|
||||||
|
StringBuilder sb = new StringBuilder()
|
||||||
|
for (byte b : bytes) {
|
||||||
|
sb.append(String.format("%02X", b))
|
||||||
|
}
|
||||||
|
boolean same = false
|
||||||
|
process.inputStream.readLines().forEach {
|
||||||
|
same |= it.startsWith(sb.toString().toLowerCase())
|
||||||
|
}
|
||||||
|
if (same) {
|
||||||
println("Skipping $archive")
|
println("Skipping $archive")
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
+1
-1
@@ -29,7 +29,7 @@ artifacts:
|
|||||||
"/jars/TutorialSystem.jar": "TutorialSystem/build/libs/TutorialSystem.jar"
|
"/jars/TutorialSystem.jar": "TutorialSystem/build/libs/TutorialSystem.jar"
|
||||||
|
|
||||||
"/jars/PersistentVelocityCore.jar": "VelocityCore/Persistent/build/libs/Persistent.jar"
|
"/jars/PersistentVelocityCore.jar": "VelocityCore/Persistent/build/libs/Persistent.jar"
|
||||||
"/jars/DiscordVelocityCore.jar": "VelocityCore/DiscordDependency/build/libs/DiscordDependency.jar"
|
"/jars/DependenciesVelocityCore.jar": "VelocityCore/Dependencies/build/libs/Dependencies-all.jar"
|
||||||
"/jars/VelocityCore.jar": "VelocityCore/build/libs/VelocityCore-all.jar"
|
"/jars/VelocityCore.jar": "VelocityCore/build/libs/VelocityCore-all.jar"
|
||||||
"/usr/local/bin/deployarena.py": "VelocityCore/deployarena.py"
|
"/usr/local/bin/deployarena.py": "VelocityCore/deployarena.py"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user