On 5/23/07, Michael Baessler (JIRA) <[email protected]> wrote:
> PearInstallerTest fails when running from mvn install target - caused by class loading issues in the PEAR verification code
> The PEAR verification code starts a new process for the verification with the classpath either build from UIMA_HOME or build from java.class.path.
The child process was necessary for creating a separate process environment, where you can define any environment variables, including PATH, etc. Without such an environment, some annotators, which use native code and may require other non-Java environment settings, will be hard/impossible to verify. Modifying JVM system properties at runtime does not have the same effect as setting environment variables, especially for PATH and non-Java environment settings. A recent example of such an annotator is the LexifierAnnotator from CMU (see http://www.ibm.com/developerworks/forums/dw_thread.jsp?message=13955696&cat=28&thread=163741&treeDisplayType=threadmode1&forum=444#13955696). How are we going to validate PEARs that need specific PATH-like and non-Java settings with the modified validation process?
> To fix this issue the PEAR verification code must be modified/changed so that the UIMA extension class loading is used to verify the installed components.
I looked at the modified InstallationTester code. The new version of the testAnalysisEngine() method does not contain one important test - creating new CAS. Our previous experience with various PEARs demonstrated that without this test the AE validation is not complete. I recommend adding this test to the testAnalysisEngine() method. -- Lev
