Lev Kozakov wrote:
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?
You are right, I know that with the new design not all features are
supported, especially the native stuff and the environment stuff.
In the past we had a lot of issues that the PearVerification runs fine
but the users were not able to get the stuff running when the pear is
integrated into an application.
So based on this... I decided to support only these features that can
also be supported by the new UIMA pear runtime. All this native and
environment stuff must be done by the user anyway, so it can also be
done for the pear verification. My plan was to update the documentation
with what is supported out of the box and what must be
done manually.
> 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.
I talked to Thilo about this issue and he told me that this CAS creation
cannot fail if the analysis engine could be created. So do you have an
test case where the
ae creation works but the CAS creation fails?
-- Michael