Difference between revisions of "Software Repository Clients"

From Gcube Wiki
Jump to: navigation, search
Line 10: Line 10:
 
'''How to use:'''
 
'''How to use:'''
  
java  XMLClient ''xmlURL''  ''scope''  ''reportXMLFileName''  ''distributionXMLFileName''
+
java  org.gcube.vremanagement.softwarerepository.client.XMLClient ''xmlURL''  ''scope''  ''reportXMLFileName''  ''distributionXMLFileName''
  
 
The semantic of the parameters is as follow:
 
The semantic of the parameters is as follow:
Line 18: Line 18:
 
# ''distributionXMLFileName'': the path of the file where the XMLClient reports the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it and it includes all information to download software packages from the SR.  
 
# ''distributionXMLFileName'': the path of the file where the XMLClient reports the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it and it includes all information to download software packages from the SR.  
  
The xmlURL has to point to an XML file whose syntax and structure is reported below:
+
The ''xmlURL'' has to point to an XML file whose syntax and structure is reported below:
 
<source lang=xml>
 
<source lang=xml>
 
<Archives>
 
<Archives>
Line 24: Line 24:
 
<Class>Class</Class>
 
<Class>Class</Class>
 
<Name>Name</Name>
 
<Name>Name</Name>
<Version>1.0</Version>
+
<Version>1.0.0</Version>
 
<URL>...</URL>
 
<URL>...</URL>
 
<Description>Description</Description>
 
<Description>Description</Description>
Line 31: Line 31:
 
<Class>MyClass</Class>
 
<Class>MyClass</Class>
 
<Name>MyName</Name>
 
<Name>MyName</Name>
<Version>1.0</Version>
+
<Version>1.0.0</Version>
 
<URL>...</URL>
 
<URL>...</URL>
 
<Description>My Description</Description>
 
<Description>My Description</Description>
Line 37: Line 37:
 
</Archives>
 
</Archives>
 
</source>
 
</source>
 +
 +
An example of a portion of the ''reportXMLFileName'' file is reported below:
 +
<source lang=xml>
 +
<Services>
 +
<Service>
 +
<URL>
 +
..[URL of the SA uploaded to the SR]../org.gcube.metadata-management.metadatabroker-servicearchive-0.0.0-0.tar.gz
 +
</URL>
 +
<ID>cfa6d850-997e-11dd-b66d-82c61f8d0a26</ID>
 +
<ServiceClass>MetadataManagement</ServiceClass>
 +
<ServiceName>MetadataBroker</ServiceName>
 +
<ServiceVersion>1.00.00</ServiceVersion>
 +
<Status>WARNING</Status>
 +
<Operation>UPDATE</Operation>
 +
<Timestamp>1228443386548</Timestamp>
 +
<ReportURL>
 +
..[URL of the detailed report produced by the SR]../report/05-12-2008/cfa6d850-997e-11dd-b66d-82c61f8d0a26_1228443386548.xml
 +
</ReportURL>
 +
</Service>
 +
</Services>
  
 
'''Example:'''
 
'''Example:'''
  
 
java  XMLClient  http://dlib25.isti.cnr.it/sr/list.xml  /gcube/devsec  report.xml  distribution.xml
 
java  XMLClient  http://dlib25.isti.cnr.it/sr/list.xml  /gcube/devsec  report.xml  distribution.xml
 
  
 
=== Etics Client ===
 
=== Etics Client ===
  
This is normally used by ETICS after the build process.
+
The Etics Client has been designed to be used by ETICS after the build process. It can only interact with a Software Repository previously configured in ''ETICS'' mode. A SR in Etics mode skips some steps of the validation procedure normally performed by the SR since it is assumed that the same are performed by the Etics framework.  
This client can work only with Software Repository properly configured in ETICS mode. This means that some check on Software Repository are skypped.
+
  
You '''should''' use XMLClient to submit your own Software Archive.
+
If you are not an Etics project administrator, you have to use the XMLClient to submit your own Software Archives.
  
'''Usage:'''
+
'''How to use:'''
  
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  ''SoftwareRepositoryEPR''  ''txtURL''  ''reportXMLFileName''  ''distributionXMLFileName''  ''scope[default:/gcube/devsec]''
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  ''SoftwareRepositoryEPR''  ''txtURL''  ''reportXMLFileName''  ''distributionXMLFileName''  ''scope[default:/gcube/devsec]''
  
'''where'''
+
The semantic of the parameters is as follow:
  
''SoftwareRepositoryEPR'' is the Software Repository EPR of the service  
+
# ''SoftwareRepositoryEPR':' the EPR of the Software Repository service, e.g. http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository
ex. http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository
+
# ''txtURL'': URL of the TXT file reporting the Software Archives to store on the Software Repository. For each SA the URL where to download it has to be specified. These URLs must be followed by a line-break and must contain "-servicearchive" in the name. Any other link reported in the TXT file is discarded if it is not compliant with the two described rules.
 +
# ''reportXMLFileName'': the path of the file where the XMLClient logs the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it.
 +
# ''distributionXMLFileName'': the path of the file where the XMLClient reports the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it and it includes all information to download software packages from the SR.
 +
# ''scope'': the application scope. The application must be one of the scope supported by the Software Repository and identifies which applications are allowed to use each SA. If omitted the ''/gcube/devsec'' scope will be used.
  
''txtURL'' is the URL of the txt file with le list of URLs of Software Archive's to store on Software Repository.
+
'''Example:'''
The txt must cointains an URL for each row. Each row is analized and only the one with "-servicearchive" contained in the filename will be submitted to Software Repository.
+
 
+
''reportXMLFileName'' is path of an xml file where the report informations of submission are written.
+
 
+
''distributionXMLFileName'' is a path of an xml file where the information for distribution site are written.
+
 
+
''scope'' the scope where the Software Repository is running. If omitted /gcube/devsec scope will be used.
+
 
+
An example of the usage of this this client is:
+
  
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository  http://grids16.eng.it/BuildReport/builds/recent%20builds/org.gcube.HEAD/latest/packages.txt report.xml distribution.xml /gcube/devsec
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository  http://grids16.eng.it/BuildReport/builds/recent%20builds/org.gcube.HEAD/latest/packages.txt report.xml distribution.xml /gcube/devsec

Revision as of 19:12, 9 December 2008

Software Repository Clients

Two clients are available to populate the Software Repository (SR) service with Software Archives (SAs). The first client, named XML Client, is used to populate the SR with the list of SAs that an administrator want to have available in the infrastructure. The second client, named Etics Client, is used to populate the SR with all SAs resulting from the build process performed through Etics.

XML Client

The XML Client is a simple client used to interact with the SR. It provides a single operation that allows to upload SAs to the SR. Please notice that the removal of SAs are not allowed since this operation could compromise the set of dependencies existing among software packages.

How to use:

java org.gcube.vremanagement.softwarerepository.client.XMLClient xmlURL scope reportXMLFileName distributionXMLFileName

The semantic of the parameters is as follow:

  1. xmlURL: URL of the XML file reporting the Software Archives to store on the Software Repository. The syntax of such a file is reported below.
  2. scope: the application scope. The application must be one of the scope supported by the Software Repository and identifies which applications are allowed to use each SA.
  3. reportXMLFileName: the path of the file where the XMLClient logs the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it.
  4. distributionXMLFileName: the path of the file where the XMLClient reports the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it and it includes all information to download software packages from the SR.

The xmlURL has to point to an XML file whose syntax and structure is reported below:

<Archives>
	<SoftwareArchive>
		<Class>Class</Class>
		<Name>Name</Name>
		<Version>1.0.0</Version>
		<URL>...</URL>
		<Description>Description</Description>
	</SoftwareArchive>
	<SoftwareArchive>
		<Class>MyClass</Class>
		<Name>MyName</Name>
		<Version>1.0.0</Version>
		<URL>...</URL>
		<Description>My Description</Description>
	</SoftwareArchive>
</Archives>

An example of a portion of the reportXMLFileName file is reported below:

<Services>
<Service>
<URL>
..[URL of the SA uploaded to the SR]../org.gcube.metadata-management.metadatabroker-servicearchive-0.0.0-0.tar.gz
</URL>
<ID>cfa6d850-997e-11dd-b66d-82c61f8d0a26</ID>
<ServiceClass>MetadataManagement</ServiceClass>
<ServiceName>MetadataBroker</ServiceName>
<ServiceVersion>1.00.00</ServiceVersion>
<Status>WARNING</Status>
<Operation>UPDATE</Operation>
<Timestamp>1228443386548</Timestamp>
<ReportURL>
..[URL of the detailed report produced by the SR]../report/05-12-2008/cfa6d850-997e-11dd-b66d-82c61f8d0a26_1228443386548.xml
</ReportURL>
</Service>
</Services>
 
'''Example:'''
 
java  XMLClient  http://dlib25.isti.cnr.it/sr/list.xml  /gcube/devsec  report.xml  distribution.xml
 
=== Etics Client ===
 
The Etics Client has been designed to be used by ETICS after the build process. It can only interact with a Software Repository previously configured in ''ETICS'' mode. A SR in Etics mode skips some steps of the validation procedure normally performed by the SR since it is assumed that the same are performed by the Etics framework. 
 
If you are not an Etics project administrator, you have to use the XMLClient to submit your own Software Archives.
 
'''How to use:'''
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  ''SoftwareRepositoryEPR''  ''txtURL''  ''reportXMLFileName''  ''distributionXMLFileName''  ''scope[default:/gcube/devsec]''
 
The semantic of the parameters is as follow:
 
# ''SoftwareRepositoryEPR':' the EPR of the Software Repository service, e.g. http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository
# ''txtURL'': URL of the TXT file reporting the Software Archives to store on the Software Repository. For each SA the URL where to download it has to be specified. These URLs must be followed by a line-break and must contain "-servicearchive" in the name. Any other link reported in the TXT file is discarded if it is not compliant with the two described rules.
# ''reportXMLFileName'': the path of the file where the XMLClient logs the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it.
# ''distributionXMLFileName'': the path of the file where the XMLClient reports the information about the submission operation. It is formatted in XML to facilitate programmatic parsing of it and it includes all information to download software packages from the SR.
# ''scope'': the application scope. The application must be one of the scope supported by the Software Repository and identifies which applications are allowed to use each SA. If omitted the ''/gcube/devsec'' scope will be used.
 
'''Example:'''
 
java  org.gcube.vremanagement.softwarerepository.client.EticsClient  http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository  http://grids16.eng.it/BuildReport/builds/recent%20builds/org.gcube.HEAD/latest/packages.txt report.xml distribution.xml /gcube/devsec
 
An example of the produced report file can be found here: http://grids16.eng.it/repository_recent_builds/org.gcube.HEAD/BUILD_319/certification.xml
 
An example of the produced distribution file can be found here: http://grids16.eng.it/repository_recent_builds/org.gcube.HEAD/BUILD_319/distribution.xml