JAL-3210 Improvements to eclipse detection. New src tree and SwingJS updated from...
[jalview.git] / build.gradle
index fc183a5..7890fd0 100644 (file)
@@ -233,19 +233,25 @@ def eclipseBinary
 def eclipseDropinsDir
 def eclipsePluginsDir
 task jalviewjsEclipsePaths {
+  def eclipseRoot = jalviewjs_eclipse_root
+  if (eclipseRoot.startsWith("~")) {
+    eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
+  }
        if (OperatingSystem.current().isMacOsX()) {
-               eclipseDropinsDir = jalviewjs_eclipse_root+"/Contents/Eclipse/dropins"
-               eclipsePluginsDir = jalviewjs_eclipse_root+"/Contents/Eclipse/plugins"
-               eclipseBinary = jalviewjs_eclipse_root+"/Contents/MacOS/eclipse"
-       } else if (OperatingSystem.current().isWindows()) { // check this!
-               eclipseDropinsDir = jalviewjs_eclipse_root+"/dropins"
-               eclipsePluginsDir = jalviewjs_eclipse_root+"/plugins"
-               eclipseBinary = jalviewjs_eclipse_root+"/eclipse"
+    eclipseRoot += "/Eclipse.app"
+               eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
+               eclipsePluginsDir = eclipseRoot+"/Contents/Eclipse/plugins"
+               eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
+       } else if (OperatingSystem.current().isWindows()) { // check these paths!!
+               eclipseDropinsDir = eclipseRoot+"/dropins"
+               eclipsePluginsDir = eclipseRoot+"/plugins"
+               eclipseBinary = eclipseRoot+"/eclipse"
        } else { // linux or unix
-               eclipseDropinsDir = jalviewjs_eclipse_root+"/dropins"
-               eclipsePluginsDir = jalviewjs_eclipse_root+"/plugins"
-               eclipseBinary = jalviewjs_eclipse_root+"/eclipse"
+               eclipseDropinsDir = eclipseRoot+"/dropins"
+               eclipsePluginsDir = eclipseRoot+"/plugins"
+               eclipseBinary = eclipseRoot+"/eclipse"
        }
+  println("ECLIPSE ROOT: "+eclipseRoot)
 }
 
 task jalviewjsEclipseCopyDropins (type: Copy) {
@@ -284,10 +290,10 @@ def tempEclipseWorkspace = ""
 
 task jalviewjsSetTempEclipseWorkspace {
   tempEclipseWorkspace = file(jalviewjs_eclipse_workspace)
-  if (!tempEclipseWorkspace.exists()) {
+  if (!tempEclipseWorkspace.exists() && jalviewjs_eclipse_workspace.startsWith(File.separator)) {
     tempEclipseWorkspace = File.createTempDir()
     print("ECLIPSE WORKSPACE: "+tempEclipseWorkspace.getPath())
-    //tempEclipseWorkspace.deleteOnExit()
+    tempEclipseWorkspace.deleteOnExit()
   }
 }
 
@@ -353,8 +359,9 @@ task jalviewjsProjectImport(type: Exec) {
   executable(eclipseBinary)
   args(["-nosplash", "--launcher.suppressErrors", "-application", "com.seeq.eclipse.importprojects.headlessimport", "-data", tempEclipseWorkspace.getPath(), "-import", jalviewDirAbsolutePath])
 
-  def tempdir = tempEclipseWorkspace.getPath()+"/.metadata/.plugins/org.eclipse.core.resources/.projects/jalview"
-  outputs.dir(tempdir)
+  def projdir = tempEclipseWorkspace.getPath()+"/.metadata/.plugins/org.eclipse.core.resources/.projects/jalview/org.eclipse.jdt.core/"
+  inputs.file(jalviewDir+"/.project")
+  outputs.dir(projdir)
 }
 
 task jalviewjsTranspile(type: Exec) {
@@ -371,7 +378,25 @@ task jalviewjsBuildSite {
   dependsOn jalviewjsTranspile
 }
 
+task jalviewjsSiteTar(type: Tar) {
+  dependsOn jalviewjsBuildSite
+  def outputFilename = "site.tar.gz"
+  try {
+    archiveFileName = outputFilename
+  } catch (Exception e) {
+    archiveName = outputFilename
+  }
+
+  compression Compression.GZIP
+
+  from jalviewjs_site_dir
+  into jalviewjs_site_dir
+
+  inputs.dir(jalviewjs_site_dir)
+}
+
 task jalviewjs {
   dependsOn jalviewjsCreateJ2sSettings 
   dependsOn jalviewjsBuildSite
 }
+