import org.gradle.plugins.ide.eclipse.model.*
import groovy.transform.ExternalizeMethods
+
plugins {
id 'java'
id 'application'
gitHash = ""
gitBranch = ""
+
+ jalviewjsServer = ""
}
def JAVA_INTEGER_VERSION
}
cp.entries.removeAll(removeTheseToo)
- cp.entries += new Output("bin/main")
+ cp.entries += new Output(eclipse_bin_dir+"/main")
cp.entries += new Library(fileReference(helpParentDir))
cp.entries += new Library(fileReference(resourceDir))
task jalviewjsSetTempEclipseWorkspace {
tempEclipseWorkspace = file(jalviewjs_eclipse_workspace)
- if (!tempEclipseWorkspace.exists() && jalviewjs_eclipse_workspace.startsWith(File.separator)) {
+ if (!tempEclipseWorkspace.exists()) {
tempEclipseWorkspace = File.createTempDir()
- print("ECLIPSE WORKSPACE: "+tempEclipseWorkspace.getPath())
tempEclipseWorkspace.deleteOnExit()
}
+ println("ECLIPSE WORKSPACE: "+tempEclipseWorkspace.getPath())
}
task jalviewjsEclipseSetup {
inputs.files inputFiles
}
-task cleanJalviewjsSite {
- delete jalviewjs_site_dir
+task cleanJalviewjs {
+ /*
+ delete jalviewDir+"/"+jalviewjs_site_dir
+ delete jalviewDir+"/"+eclipse_bin_dir
+ delete file(tempEclipseWorkspace.getAbsolutePath()+"/.metadata")
+ delete jalviewDir+"/"+jalviewjs_j2s_settings
+ */
}
task jalviewjsProjectImport(type: Exec) {
}
task jalviewjsTranspile(type: Exec) {
+ dependsOn jalviewjsCreateJ2sSettings
dependsOn jalviewjsProjectImport
dependsOn jalviewjsEclipsePaths
executable(eclipseBinary)
args(["-nosplash", "--launcher.suppressErrors", "-application", "org.eclipse.jdt.apt.core.aptBuild", "-data", tempEclipseWorkspace, "-"+jalviewjs_eclipseBuildArg, eclipse_project_name ])
+ inputs.dir(sourceDir)
+ outputs.dir(eclipse_bin_dir+"/main")
+ outputs.file(eclipse_bin_dir+"/main/jalview/bin/Jalview.class")
+ outputs.dir(jalviewjs_site_dir+"/"+jalviewjs_j2s_subdir)
}
task jalviewjsBuildSite {
compression Compression.GZIP
from jalviewjs_site_dir
- into jalviewjs_site_dir
+ into jalviewjs_site_dir // this is inside the tar file
inputs.dir(jalviewjs_site_dir)
}
task jalviewjs {
- dependsOn jalviewjsCreateJ2sSettings
dependsOn jalviewjsBuildSite
}
+def jalviewjsServer = null
+task jalviewjsServerStart {
+ doLast {
+
+ if (jalviewjsServer != null) {
+ println("SERVER ALREADY RUNNING. Go to "+jalviewjsServer.getResourceUrl(jalviewjs_server_resource)+" . Run gradle jalviewjsServerStop to stop.")
+ } else {
+
+ SimpleHttpFileServerFactory factory = new SimpleHttpFileServerFactory()
+ def port = Integer.valueOf(jalviewjs_server_port)
+ def start = port
+ def running = false
+ while(port < start+1000 && !running) {
+ try {
+ jalviewjsServer = factory.start(new File(jalviewDirAbsolutePath+"/"+jalviewjs_site_dir), port)
+ running = true
+ println("SERVER STARTED. Go to "+jalviewjsServer.getResourceUrl(jalviewjs_server_resource)+" . Run gradle jalviewjsServerStop to stop.")
+ //println("Ctrl-c to stop.");java.lang.Thread.sleep(Integer.valueOf(jalviewjs_server_wait)*1000);
+ } catch (Exception e) {
+ port++;
+ }
+ }
+
+ }
+
+ }
+
+}
+
+/* server persists in gradle daemon but reference is not accessible across builds
+task jalviewjsServerStop {
+ doLast {
+
+ if (jalviewjsServer != null) {
+
+ println("SERVER ON PORT "+jalviewjsServer.getPort()+" STOPPING. Run gradle jalviewjsServerStart to start again.")
+ jalviewjsServer.stop()
+
+ } else {
+ println("SERVER NOT RUNNING. Run gradle jalviewjsServerStart to start.")
+ }
+
+ }
+}
+*/