JAL-3210 Different j2s plugin for different versions of eclipse. Not great, but good...
[jalview.git] / build.gradle
index 03dacfb..c42b7bd 100644 (file)
@@ -1332,8 +1332,11 @@ task jalviewjsUnzipFiles {
 
 def eclipseDropinsDir
 def eclipseBinary
+def eclipseVersion
+def fromDropinsDir
 task jalviewjsEclipsePaths {
   def eclipseRoot
+  def eclipseProduct
   eclipseRoot = jalviewjs_eclipse_root
   if (eclipseRoot.startsWith("~")) {
     eclipseRoot = System.getProperty("user.home") + eclipseRoot.substring(1)
@@ -1342,18 +1345,36 @@ task jalviewjsEclipsePaths {
     eclipseRoot += "/Eclipse.app"
     eclipseDropinsDir = eclipseRoot+"/Contents/Eclipse/dropins"
     eclipseBinary = eclipseRoot+"/Contents/MacOS/eclipse"
+    eclipseProduct = eclipseRoot+"/Contents/Eclipse/.eclipseproduct"
   } else if (OperatingSystem.current().isWindows()) { // check these paths!!
     eclipseDropinsDir = eclipseRoot+"/dropins"
     eclipseBinary = eclipseRoot+"/eclipse"
+    eclipseProduct = eclipseRoot+"/.eclipseproduct"
   } else { // linux or unix
     eclipseDropinsDir = eclipseRoot+"/dropins"
     eclipseBinary = eclipseRoot+"/eclipse"
+    eclipseProduct = eclipseRoot+"/.eclipseproduct"
   }
+
+  def fis = new FileInputStream(eclipseProduct)
+  def props = new Properties()
+  props.load(fis)
+  eclipseVersion = props.getProperty("version")
+  fis.close()
+  println("ECLIPSE_VERSION=${eclipseVersion}")
+  String[] v = eclipseVersion.split("\\.")
+  def v0 = Integer.valueOf(v[0])
+  def v1 = Integer.valueOf(v[1])
+  if (v0 < 4 || ( v0 == 4 && v1 < 13 )) {
+    fromDropinsDir = "eclipse/dropins_4.12"
+  } else {
+    fromDropinsDir = "eclipse/dropins_4.13"
+  } 
 }
 
 task jalviewjsEclipseCopyDropins {
   dependsOn jalviewjsEclipsePaths
-  def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+jalviewjs_eclipse_dropins_dir, include: "*.jar")
+  def inputFiles = fileTree(dir: jalviewjs_utils_dir+"/"+fromDropinsDir, include: "*.jar")
   def outputDir = eclipseDropinsDir
 
   inputs.files inputFiles