Before installing the EPIC plug-in Eclipse version 3.6 (for EPIC "stable") or version 3.7 or higher (for EPIC "testing") has to be installed. Eclipse can be downloaded from www.eclipse.org.
Eclipse is distributed in several flavors which differ in their pre-installed set of plug-ins. Because EPIC has a very modest of dependencies, you are free to pick any flavor of Eclipse you like. We develop and test EPIC using the "Eclipse IDE for Java Developers" flavor.
Eclipse does not include a Java runtime environment (JRE). You will need a 1.6 (for EPIC "stable") or 1.8 (for EPIC "testing") level or higher Java runtime or Java development kit (JDK) installed on your machine in order to run Eclipse. If you are on Linux, do not use the gcj version of Java, which is preconfigured in some distributions (e.g. Ubuntu). Instead, install the Java implementation from Oracle. (gcj is known to cause slowdowns in the editor and problems with displaying variables in the debugger.)
If you are running into this error while trying to install...
Unable to read repository at https://epic-ide.org/updates/testing/content.xml. PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested targetThe likely reason is that your Java is old and missing the required LetsEncrypt intermediate certificate used by the web server. You can download the certificate from https://letsencrypt.org/certs/lets-encrypt-r3.pem and import it manually as a trusted CA certificate like so (replace /usr/local/jdk1.8.0_91-x64 with path to the JRE used by Eclipse, which you can find out through Help > About Eclipse IDE > Installation Details > Configuration):
/usr/local/jdk1.8.0_91-x64/bin/keytool \ -trustcacerts \ -keystore /usr/local/jdk1.8.0_91-x64/jre/lib/security/cacerts \ -storepass changeit \ -noprompt \ -importcert \ -file /tmp/lets-encrypt-r3.pem \ -alias letsencrypt_r3
In order to have all EPIC features like Syntax Checking, Source Formatting etc. a Perl interpreter is needed. In principle any Perl interpreter can be used. EPIC works with the following versions of Perl: 5.20.x, 5.10.x, 5.8.x and 5.6.x (no longer tested and not recommended). Perl 5.26 is also supported since 0.7.5 release of EPIC.
Most *nix/Linux installations will provide Perl interpreters out of the box. For Windows, we recommend the ActivePerl distribution. The Cygwin distribution of Perl is also supported.
If you wish to use the debugger, make sure that the Perl module PadWalker, version 1.0 or later, is installed as part of your Perl distribution. EPIC is unable to display values of local variables without PadWalker and will tell you so. The preferred way to install PadWalker is by using either your Linux distribution's package manager or, under Windows, using ActiveState's PPM tool. For ActivePerl 5.10.x, a version of PadWalker installable with PPM might not be available in the standard repository, but is provided in the Bribes de Perl repository. Of course, you can also install PadWalker directly from CPAN, but this requires a working C compiler on your system.
Make sure that the mount command is available and that it is in your system path. As mount is a standard component of Cygwin this usually only have to add the cygwin\bin directory to your system path.
The error you are seeing is misleading. There is no content.xml in the update site. Read the section about LetsEncrypt certificate in the system requirements above.
A recent release of PathTools (part of Perl distribution, file Cwd.pm) unfortunately contains a bug which breaks EPIC's debugger frontend. The specific symptom is the error message "perl5db.pl did not return a true value." - to see this message, you should enable the "debugger console" in EPIC Preferences. Furthermore, if you have this problem, debugging doesn't work at all. To fix it, you must edit Cwd.pm of your Perl distribution and remove the offending "eval" keyword from one line, as described in this bug report. DO NOT attempt to fix it by adding Perl's "lib" directory to your project's include path, as this will cause all breakpoints to be ignored!
The autocompletion suggestions will pop up automatically after you have typed a trigger character. Triggers are ":" and ">". Alternatively, it can be triggered by pressing CTRL-SPACE.
Currently the Indirect Object Invocation is not recognized by the content assist.
This code block will not work:
$smtp = new Net::SMTP; $smtp->[no content assist]
This one will work:
$smtp = Net::SMTP->new(.....); $smtp->[content assist]
EPIC requires a Perl interpreter in order for features like syntax check and the content assist to work (not to mention running your Perl programs).
EPIC was tested with the following Perl implementations (but should also work with others):
The best tested versions are Perl on Linux and ActiveState on Windows
Yes.
Based on a previous, out-of-date version of this FAQ, the IBM tutorial article recommended using wperl.exe. This advice is wrong for the current version of EPIC, JDK and Windows. Do not use wperl.exe. Use the standard perl.exe interpreter. Otherwise the unwanted DOS box will appear.
The Single Step feature allows for a step by step inspection of the regular expression.
If no sub expressons (...) are defined by the user the RegExp plugin tries to use logical blocks for matching, otherwise the already existing subexpressions are used.
The folowing buttons are provided:
Reset (clears all colour markers)
Step forward
Step backward
Using the current version of EPIC, the simplest way to run scripts is to set up a launch configuration using the Run/Run... dialog, or by choosing the "Run As Perl Local" command from the context menu.
The following information might be relevant for old versions of EPIC:
Christopher H. Laco (http://today.icantfocus.com/) has written a nice article about Running Perl Scripts Within Eclipse for a previous version of EPIC.
This article provides useful information to set up "External Tools..." to start Perl scripts from within the Eclipse IDE.
Though the original link to the article no longer works, you can still read a static version of it here.
Thanks to Christopher for providing the article.