You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Pete Robbins (JIRA)" <tu...@ws.apache.org> on 2006/06/24 15:27:29 UTC

[jira] Created: (TUSCANY-494) Specification of implementation library in scdl is not platform neutral

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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Commented: (TUSCANY-494) Specification of implementation library in scdl is not platform neutral

Posted by "Jean-Sebastien Delfino (JIRA)" <tu...@ws.apache.org>.
    [ http://issues.apache.org/jira/browse/TUSCANY-494?page=comments#action_12427637 ] 
            
Jean-Sebastien Delfino commented on TUSCANY-494:
------------------------------------------------

This is now implemented, except for the optional path attribute, which is still ignored.

> Specification of implementation library in scdl is not platform neutral
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-494
>                 URL: http://issues.apache.org/jira/browse/TUSCANY-494
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Specification, C++ SCA
>    Affects 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org


[jira] Closed: (TUSCANY-494) Specification of implementation library in scdl is not platform neutral

Posted by "Pete Robbins (JIRA)" <tu...@ws.apache.org>.
     [ http://issues.apache.org/jira/browse/TUSCANY-494?page=all ]

Pete Robbins closed TUSCANY-494.
--------------------------------

    Fix Version/s: Cpp-current
       Resolution: Fixed

This is fixed in the latest Tuscany code and has also been accepted by the spec group (included in C++ C&I 0.95 draft)

> Specification of implementation library in scdl is not platform neutral
> -----------------------------------------------------------------------
>
>                 Key: TUSCANY-494
>                 URL: http://issues.apache.org/jira/browse/TUSCANY-494
>             Project: Tuscany
>          Issue Type: Improvement
>          Components: Specification, C++ SCA
>    Affects Versions: Cpp-current
>            Reporter: Pete Robbins
>         Assigned To: Pete Robbins
>             Fix For: Cpp-current
>
>
> 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: tuscany-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: tuscany-dev-help@ws.apache.org