Specification of implementation library in scdl is not platform neutral
-----------------------------------------------------------------------
Key: TUSCANY-494
URL: http://issues.apache.org/jira/browse/TUSCANY-494
Project: Tuscany
Type: Improvement
Components: C++ SCA, Specification
Versions: Cpp-current
Reporter: Pete Robbins
Assigned to: Pete Robbins
Specification of a component implementation for C++ requires e.g.
<implementation.cpp dll="libMyValue.so"
header="MyValueImpl.h"></implementation.cpp>
for linux and
<implementation.cpp dll="MyValue.dll"
header="MyValueImpl.h"></implementation.cpp>
for Windows.
This means we can not have a common sca.module defintion across the platforms.
I propose we change this to
<implementation.cpp library="MyValue"
header="MyValueImpl.h"></implementation.cpp>
and allow the platform code to add the prefix and suffix lib and .so for linux
and the suffix .dll for windows. This is consistent with other
C++ projects for specifying libraries. We would need an extra parameter path=
to specify the relative pass to the location of the library.
Existing schema:
<element name="implementation.cpp" type="sca:CPPImplementation"
substitutionGroup="sca:implementation" sdo:name="implementationCpp"/>
<complexType name="CPPImplementation">
<complexContent>
<extension base="sca:Implementation">
<sequence>
<any namespace="##other"
processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="dll" type="NCName"
use="required"/>
<attribute name="header" type="NCName" use="required"/>
<attribute name="class" type="Name" use="optional"/>
<anyAttribute namespace="##any"
processContents="lax"/>
</extension>
</complexContent>
</complexType>
would become:
<element name="implementation.cpp" type="sca:CPPImplementation"
substitutionGroup="sca:implementation" sdo:name="implementationCpp"/>
<complexType name="CPPImplementation">
<complexContent>
<extension base="sca:Implementation">
<sequence>
<any namespace="##other"
processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="library" type="NCName"
use="required"/>
<attribute name="path" type="NCName" use="optional"/>
<attribute name="header" type="NCName" use="required"/>
<attribute name="class" type="Name" use="optional"/>
<anyAttribute namespace="##any"
processContents="lax"/>
</extension>
</complexContent>
</complexType>
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]