Repository navigation
EPICS Code Debugging
The package that deals with EPICS connections in Seqexec is edu.gemini.epics.acm. This package uses epics-service, provided by GIAPI. The actual EPICS network protocol is provided by CAJ (Channel Access for Java), which is used by epics-service. CAJ is in turn an implementation of JCA (Java Channel Access).
The JCA and CAJ classes are provided by two JAR files. GIAPI uses a copy of the files stored in our own repository, under the group names edu.gemini.external.osgi.com.cosylab.epics.caj and edu.gemini.external.osgi.com.cosylab.epics.jca. The GIAPI packages themselves are accessed by ocs3 through the same repository.
The way the packages are accessed makes difficult to implement changes to debug a problem that involves CAJ. Here there is the procedure to create a build environment that involves using a local repository.
The latest version of JCA, available in Github, integrates CAJ in the same package.
git clone https://github.com/epics-base/jca
cd jca
mvn install
That procedure will put the JCA jar file in the local Maven repository, usually located in ~/.m2/repository