From 328402177614fbf0a80d570f0d402537c52948e0 Mon Sep 17 00:00:00 2001
From: Tejas Guruswamy <tguruswamy@xraydetector86.xray.aps.anl.gov>
Date: Fri, 28 Aug 2020 12:36:44 -0500
Subject: [PATCH] Initial build bash script and all dp-related extra files

---
 .gitignore                                 |  5 ++
 AreaDetector_Scripts/start_imageJ          |  5 ++
 AreaDetector_Scripts/start_imageJ_GC1380H  |  5 ++
 AreaDetector_Scripts/start_imageJ_GC1380H~ |  3 ++
 AreaDetector_Scripts/start_imageJ_GC2450   |  5 ++
 AreaDetector_Scripts/start_imageJ_GC2450~  |  5 ++
 AreaDetector_Scripts/start_imageJ_XrayEye  |  5 ++
 AreaDetector_Scripts/start_imageJ_XrayEye~ |  5 ++
 AreaDetector_Scripts/start_imageJ_andor    |  5 ++
 AreaDetector_Scripts/start_imageJ_andor~   |  5 ++
 AreaDetector_Scripts/start_imageJ_coolsnap |  5 ++
 AreaDetector_Scripts/start_imageJ_mar165a  |  5 ++
 AreaDetector_Scripts/start_imageJ_mar165b  |  5 ++
 AreaDetector_Scripts/start_imageJ_mar165c  |  5 ++
 AreaDetector_Scripts/start_imageJ_mar345   |  5 ++
 AreaDetector_Scripts/start_imageJ_mar345~  |  5 ++
 ImageJ.cfg                                 |  3 ++
 ImageJ.desktop                             | 14 +++++
 ImageJ_Profiles/DP_CoolSnap.properties     |  3 ++
 ImageJ_Profiles/DP_CoolSnap.properties~    |  3 ++
 ImageJ_Profiles/DP_GC1380H.properties      |  3 ++
 ImageJ_Profiles/DP_GC1380H.properties~     |  3 ++
 ImageJ_Profiles/DP_GC2450.properties       |  3 ++
 ImageJ_Profiles/DP_GC2450.properties~      |  3 ++
 ImageJ_Profiles/DP_Generic.properties      |  3 ++
 ImageJ_Profiles/DP_XrayEye.properties      |  3 ++
 ImageJ_Profiles/DP_XrayEye.properties~     |  3 ++
 ImageJ_Profiles/dp_mar165_a.properties     |  3 ++
 ImageJ_Profiles/dp_mar165_a.properties~    |  3 ++
 ImageJ_Profiles/dp_mar165_b.properties     |  3 ++
 ImageJ_Profiles/dp_mar165_c.properties     |  3 ++
 ImageJ_Profiles/dp_mar165_c.properties~    |  3 ++
 ImageJ_Profiles/dp_mar345.properties       |  3 ++
 ImageJ_Profiles/dp_mar345.properties~      |  3 ++
 build_imagej+ad_plugins.sh                 | 59 ++++++++++++++++++++++
 35 files changed, 202 insertions(+)
 create mode 100644 .gitignore
 create mode 100755 AreaDetector_Scripts/start_imageJ
 create mode 100755 AreaDetector_Scripts/start_imageJ_GC1380H
 create mode 100755 AreaDetector_Scripts/start_imageJ_GC1380H~
 create mode 100755 AreaDetector_Scripts/start_imageJ_GC2450
 create mode 100755 AreaDetector_Scripts/start_imageJ_GC2450~
 create mode 100755 AreaDetector_Scripts/start_imageJ_XrayEye
 create mode 100755 AreaDetector_Scripts/start_imageJ_XrayEye~
 create mode 100755 AreaDetector_Scripts/start_imageJ_andor
 create mode 100644 AreaDetector_Scripts/start_imageJ_andor~
 create mode 100755 AreaDetector_Scripts/start_imageJ_coolsnap
 create mode 100755 AreaDetector_Scripts/start_imageJ_mar165a
 create mode 100755 AreaDetector_Scripts/start_imageJ_mar165b
 create mode 100755 AreaDetector_Scripts/start_imageJ_mar165c
 create mode 100755 AreaDetector_Scripts/start_imageJ_mar345
 create mode 100644 AreaDetector_Scripts/start_imageJ_mar345~
 create mode 100644 ImageJ.cfg
 create mode 100755 ImageJ.desktop
 create mode 100644 ImageJ_Profiles/DP_CoolSnap.properties
 create mode 100644 ImageJ_Profiles/DP_CoolSnap.properties~
 create mode 100755 ImageJ_Profiles/DP_GC1380H.properties
 create mode 100755 ImageJ_Profiles/DP_GC1380H.properties~
 create mode 100755 ImageJ_Profiles/DP_GC2450.properties
 create mode 100755 ImageJ_Profiles/DP_GC2450.properties~
 create mode 100644 ImageJ_Profiles/DP_Generic.properties
 create mode 100644 ImageJ_Profiles/DP_XrayEye.properties
 create mode 100644 ImageJ_Profiles/DP_XrayEye.properties~
 create mode 100755 ImageJ_Profiles/dp_mar165_a.properties
 create mode 100755 ImageJ_Profiles/dp_mar165_a.properties~
 create mode 100644 ImageJ_Profiles/dp_mar165_b.properties
 create mode 100644 ImageJ_Profiles/dp_mar165_c.properties
 create mode 100755 ImageJ_Profiles/dp_mar165_c.properties~
 create mode 100644 ImageJ_Profiles/dp_mar345.properties
 create mode 100644 ImageJ_Profiles/dp_mar345.properties~
 create mode 100644 build_imagej+ad_plugins.sh

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..0b0eeb8
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+ImageJ/
+ADViewers-*/
+ij153-linux64-java8.zip
+ADViewers-R1-6-1.tar.gz
+ADViewers-R1-6-1/
diff --git a/AreaDetector_Scripts/start_imageJ b/AreaDetector_Scripts/start_imageJ
new file mode 100755
index 0000000..ff60fa8
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+sed -e 's/dp_andor3_xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx1024m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_GC1380H b/AreaDetector_Scripts/start_imageJ_GC1380H
new file mode 100755
index 0000000..58e2bf8
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_GC1380H
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_GC1380H~ b/AreaDetector_Scripts/start_imageJ_GC1380H~
new file mode 100755
index 0000000..217ca83
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_GC1380H~
@@ -0,0 +1,3 @@
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_GC2450 b/AreaDetector_Scripts/start_imageJ_GC2450
new file mode 100755
index 0000000..e22eaaa
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_GC2450
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC2450.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_GC2450~ b/AreaDetector_Scripts/start_imageJ_GC2450~
new file mode 100755
index 0000000..58e2bf8
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_GC2450~
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_XrayEye b/AreaDetector_Scripts/start_imageJ_XrayEye
new file mode 100755
index 0000000..ceb8adf
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_XrayEye
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_XrayEye.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_XrayEye~ b/AreaDetector_Scripts/start_imageJ_XrayEye~
new file mode 100755
index 0000000..58e2bf8
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_XrayEye~
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/DP_GC1380H.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_andor b/AreaDetector_Scripts/start_imageJ_andor
new file mode 100755
index 0000000..5d49617
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_andor
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+sed -e 's/xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx1024m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_andor~ b/AreaDetector_Scripts/start_imageJ_andor~
new file mode 100644
index 0000000..ff60fa8
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_andor~
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+sed -e 's/dp_andor3_xrd34/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_Generic.properties > ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx1024m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_coolsnap b/AreaDetector_Scripts/start_imageJ_coolsnap
new file mode 100755
index 0000000..20b3f67
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_coolsnap
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+sed -e 's/xrd24/'$1'/' /local/DPbin/ImageJ/ImageJ_Profiles/DP_CoolSnap.properties > ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_mar165a b/AreaDetector_Scripts/start_imageJ_mar165a
new file mode 100755
index 0000000..7747b54
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_mar165a
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_a.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_mar165b b/AreaDetector_Scripts/start_imageJ_mar165b
new file mode 100755
index 0000000..984f012
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_mar165b
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_b.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_mar165c b/AreaDetector_Scripts/start_imageJ_mar165c
new file mode 100755
index 0000000..97870f1
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_mar165c
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar165_c.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_mar345 b/AreaDetector_Scripts/start_imageJ_mar345
new file mode 100755
index 0000000..8e01339
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_mar345
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/dp_mar345.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/AreaDetector_Scripts/start_imageJ_mar345~ b/AreaDetector_Scripts/start_imageJ_mar345~
new file mode 100644
index 0000000..f0e544c
--- /dev/null
+++ b/AreaDetector_Scripts/start_imageJ_mar345~
@@ -0,0 +1,5 @@
+#!/bin/bash
+cd /local/DPbin/ImageJ/
+cp /local/DPbin/ImageJ/ImageJ_Profiles/mar345.properties ~/EPICS_AD_Viewer.properties
+export EPICS_CA_MAX_ARRAY_BYTES=30000000
+./jre/bin/java -Xmx512m -jar  ij.jar -run "EPICS AD Viewer" &
diff --git a/ImageJ.cfg b/ImageJ.cfg
new file mode 100644
index 0000000..1364a06
--- /dev/null
+++ b/ImageJ.cfg
@@ -0,0 +1,3 @@
+.
+jre/bin/java
+-Xmx9477m -cp ij.jar ij.ImageJ
diff --git a/ImageJ.desktop b/ImageJ.desktop
new file mode 100755
index 0000000..9fa77f1
--- /dev/null
+++ b/ImageJ.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=1.0
+Name=ImageJ
+GenericName=ImageJ
+X-GNOME-FullName=ImageJ
+Comment=Scientific Image Analysis
+Type=Application
+Categories=Education;Science;ImageProcessing;
+Exec=/local/DPbin/ImageJ/ImageJ
+TryExec=/local/DPbin/ImageJ/ImageJ
+Terminal=false
+StartupNotify=true
+Icon=/local/DPbin/ImageJ/images/icon.png
+StartupWMClass=ij-ImageJ
diff --git a/ImageJ_Profiles/DP_CoolSnap.properties b/ImageJ_Profiles/DP_CoolSnap.properties
new file mode 100644
index 0000000..12c6197
--- /dev/null
+++ b/ImageJ_Profiles/DP_CoolSnap.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_coolsnap_xrd24\:image1\:
diff --git a/ImageJ_Profiles/DP_CoolSnap.properties~ b/ImageJ_Profiles/DP_CoolSnap.properties~
new file mode 100644
index 0000000..12c6197
--- /dev/null
+++ b/ImageJ_Profiles/DP_CoolSnap.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_coolsnap_xrd24\:image1\:
diff --git a/ImageJ_Profiles/DP_GC1380H.properties b/ImageJ_Profiles/DP_GC1380H.properties
new file mode 100755
index 0000000..b1e18ff
--- /dev/null
+++ b/ImageJ_Profiles/DP_GC1380H.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_gc1380h\:image1\:
diff --git a/ImageJ_Profiles/DP_GC1380H.properties~ b/ImageJ_Profiles/DP_GC1380H.properties~
new file mode 100755
index 0000000..d213f30
--- /dev/null
+++ b/ImageJ_Profiles/DP_GC1380H.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_gc1380H\:image1\:
diff --git a/ImageJ_Profiles/DP_GC2450.properties b/ImageJ_Profiles/DP_GC2450.properties
new file mode 100755
index 0000000..b02c98d
--- /dev/null
+++ b/ImageJ_Profiles/DP_GC2450.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_gc2450\:image1\:
diff --git a/ImageJ_Profiles/DP_GC2450.properties~ b/ImageJ_Profiles/DP_GC2450.properties~
new file mode 100755
index 0000000..37dbf0a
--- /dev/null
+++ b/ImageJ_Profiles/DP_GC2450.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=DP_GC2450\:image1\:
diff --git a/ImageJ_Profiles/DP_Generic.properties b/ImageJ_Profiles/DP_Generic.properties
new file mode 100644
index 0000000..04957c1
--- /dev/null
+++ b/ImageJ_Profiles/DP_Generic.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_andor3_xrd34\:image1\:
diff --git a/ImageJ_Profiles/DP_XrayEye.properties b/ImageJ_Profiles/DP_XrayEye.properties
new file mode 100644
index 0000000..fddd9c3
--- /dev/null
+++ b/ImageJ_Profiles/DP_XrayEye.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_xrayeye\:image1\:
diff --git a/ImageJ_Profiles/DP_XrayEye.properties~ b/ImageJ_Profiles/DP_XrayEye.properties~
new file mode 100644
index 0000000..fddd9c3
--- /dev/null
+++ b/ImageJ_Profiles/DP_XrayEye.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_xrayeye\:image1\:
diff --git a/ImageJ_Profiles/dp_mar165_a.properties b/ImageJ_Profiles/dp_mar165_a.properties
new file mode 100755
index 0000000..9578bab
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar165_a.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar165_a\:image1\:
diff --git a/ImageJ_Profiles/dp_mar165_a.properties~ b/ImageJ_Profiles/dp_mar165_a.properties~
new file mode 100755
index 0000000..0848657
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar165_a.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar345\:image1\:
diff --git a/ImageJ_Profiles/dp_mar165_b.properties b/ImageJ_Profiles/dp_mar165_b.properties
new file mode 100644
index 0000000..54e4a43
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar165_b.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar165_b\:image1\:
diff --git a/ImageJ_Profiles/dp_mar165_c.properties b/ImageJ_Profiles/dp_mar165_c.properties
new file mode 100644
index 0000000..f460b0c
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar165_c.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar165_c\:image1\:
diff --git a/ImageJ_Profiles/dp_mar165_c.properties~ b/ImageJ_Profiles/dp_mar165_c.properties~
new file mode 100755
index 0000000..54e4a43
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar165_c.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar165_b\:image1\:
diff --git a/ImageJ_Profiles/dp_mar345.properties b/ImageJ_Profiles/dp_mar345.properties
new file mode 100644
index 0000000..0848657
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar345.properties
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar345\:image1\:
diff --git a/ImageJ_Profiles/dp_mar345.properties~ b/ImageJ_Profiles/dp_mar345.properties~
new file mode 100644
index 0000000..9578bab
--- /dev/null
+++ b/ImageJ_Profiles/dp_mar345.properties~
@@ -0,0 +1,3 @@
+#EPICS_AD_Viewer Properties
+#Fri Mar 01 10:25:41 CST 2013
+PVPrefix=dp_mar165_a\:image1\:
diff --git a/build_imagej+ad_plugins.sh b/build_imagej+ad_plugins.sh
new file mode 100644
index 0000000..0debebe
--- /dev/null
+++ b/build_imagej+ad_plugins.sh
@@ -0,0 +1,59 @@
+#!/bin/bash
+# T. Guruswamy <tguruswamy@anl.gov>, 2020
+# Download and build ImageJ and ADViewers EPICS plugins
+
+IMAGEJ_VER=153
+# Select from https://github.com/areaDetector/ADViewers/releases
+ADVIEWERS_VER="R1-6-1"
+
+# Fetch ImageJ1
+# TODO: update if Java version changes
+if [ ! -d ImageJ ]; then
+    wget -c "http://wsr.imagej.net/distros/linux/ij${IMAGEJ_VER}-linux64-java8.zip"
+    unzip -q "ij${IMAGEJ_VER}-linux64-java8.zip"
+fi
+
+if [ ! -d ImageJ ]; then
+    echo "NO ImageJ folder found."
+    exit 64
+fi
+
+# Fetch ADViewers, including ImageJ plugins
+# not necessary to use git, can just download tar.gz from github releases
+if [ ! -d ADViewers-${ADVIEWERS_VER} ]; then
+    wget -c "https://github.com/areaDetector/ADViewers/archive/${ADVIEWERS_VER}/ADViewers-${ADVIEWERS_VER}.tar.gz"
+    tar xf "ADViewers-${ADVIEWERS_VER}.tar.gz"
+    #git clone -q -b master https://github.com/areaDetector/ADViewers.git
+    #git checkout "$ADVIEWERS_VER"
+fi
+
+if [ ! -d ADViewers-${ADVIEWERS_VER} ]; then
+    echo "NO ADViewers folder found."
+    exit 64
+fi
+
+# Copy ADViewer plugins into ImageJ folder
+cp -a "ADViewers-${ADVIEWERS_VER}/ImageJ/EPICS_areaDetector" ImageJ/plugins/
+
+# Compile all plugins
+pushd ImageJ
+
+base="$(pwd)"
+plugins=(
+    "EPICS_AD_Viewer.java" 
+    "EPICS_AD_Controller.java" 
+    "EPICS_NTNDA_Viewer.java" 
+    "Gaussian_Profiler.java" 
+    "Dynamic_Profiler.java"
+)
+
+for plugin in "${plugins[@]}"; do
+    echo "Compiling ${plugin}"
+    # This command was extracted from the ImageJ logs after manually running "Plugins -> Compile and Run..."
+    # The classpath is constructed from every *.jar file in the plugins/jars and plugins/EPICS_areaDetector folders
+    javac -source 1.6 -target 1.6 -Xlint:unchecked -deprecation \
+        -classpath "${base}/ij.jar:${base}/plugins/EPICS_areaDetector:${base}/plugins/jars/Auto_Threshold.jar:${base}/plugins/jars/BeanShell.jar:${base}/plugins/EPICS_areaDetector/caj-1.1.10.jar:${base}/plugins/EPICS_areaDetector/epics-ntypes-0.3.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvaccess-5.1.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvaclient-4.3.2.jar:${base}/plugins/EPICS_areaDetector/epics-pvdata-6.1.1.jar:${base}/plugins/EPICS_areaDetector/epics-pvdatabase-4.3.1.jar:${base}/plugins/EPICS_areaDetector/jca-2.3.6.jar:${base}/plugins/EPICS_areaDetector/jna-5.1.0.jar" \
+        "${base}/plugins/EPICS_areaDetector/${plugin}"
+done
+
+popd
-- 
GitLab