+task jalviewjsIDE_checkJ2sPlugin {
+ group "00 JalviewJS in Eclipse"
+ description "Compare the swingjs/net.sf.j2s.core(-j11)?.jar file with the Eclipse IDE's plugin version (found in the 'dropins' dir)"
+
+ doFirst {
+ def j2sPlugin = string("${jalviewDir}/${jalviewjsJ2sPlugin}")
+ def j2sPluginFile = file(j2sPlugin)
+ def eclipseHome = System.properties["eclipse.home.location"]
+ if (eclipseHome == null || ! IN_ECLIPSE) {
+ throw new StopExecutionException("Cannot find running Eclipse home from System.properties['eclipse.home.location']. Skipping J2S Plugin Check.")
+ }
+ def eclipseJ2sPlugin = "${eclipseHome}/dropins/${j2sPluginFile.getName()}"
+ def eclipseJ2sPluginFile = file(eclipseJ2sPlugin)
+ if (!eclipseJ2sPluginFile.exists()) {
+ def msg = "Eclipse J2S Plugin is not installed (could not find '${eclipseJ2sPlugin}')\nTry running task jalviewjsIDE_copyJ2sPlugin"
+ System.err.println(msg)
+ throw new StopExecutionException(msg)
+ }
+
+ def digest = MessageDigest.getInstance("MD5")
+
+ digest.update(j2sPluginFile.text.bytes)
+ def j2sPluginMd5 = new BigInteger(1, digest.digest()).toString(16).padLeft(32, '0')
+
+ //digest.update(eclipseJ2sPluginFile.text.bytes)
+ def eclipseJ2sPluginMd5 = new BigInteger(1, digest.digest()).toString(16).padLeft(32, '0')
+
+ if (j2sPluginMd5 != eclipseJ2sPluginMd5) {
+ def msg = "WARNING! Eclipse J2S Plugin '${eclipseJ2sPlugin}' is different to this commit's version '${j2sPlugin}'"
+ System.err.println(msg)
+ throw new StopExecutionException(msg)
+ } else {
+ def msg = "Eclipse J2S Plugin is the same as '${j2sPlugin}' (this is good)"
+ println(msg)
+ }
+ }
+}
+
+task jalviewjsIDE_copyJ2sPlugin {
+ group "00 JalviewJS in Eclipse"
+ description "Copy the swingjs/net.sf.j2s.core(-j11)?.jar file into the Eclipse IDE's 'dropins' dir"
+
+ doFirst {
+ def j2sPlugin = string("${jalviewDir}/${jalviewjsJ2sPlugin}")
+ def j2sPluginFile = file(j2sPlugin)
+ def eclipseHome = System.properties["eclipse.home.location"]
+ if (eclipseHome == null || ! IN_ECLIPSE) {
+ throw new StopExecutionException("Cannot find running Eclipse home from System.properties['eclipse.home.location']. NOT copying J2S Plugin.")
+ }
+ def eclipseJ2sPlugin = "${eclipseHome}/dropins/${j2sPluginFile.getName()}"
+ def eclipseJ2sPluginFile = file(eclipseJ2sPlugin)
+ def msg = "WARNING! Copying this commit's j2s plugin '${j2sPlugin}' to Eclipse J2S Plugin '${eclipseJ2sPlugin}'\n* May require an Eclipse restart"
+ System.err.println(msg)
+ copy {
+ from j2sPlugin
+ eclipseJ2sPluginFile.getParentFile().mkdirs()
+ into eclipseJ2sPluginFile.getParent()
+ }
+ }
+}
+