Software Repository Clients

From Gcube Wiki
Revision as of 19:38, 9 December 2008 by Pasquale.pagano (Talk | contribs)

Jump to: navigation, search

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 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</Version>
		<URL>...</URL>
		<Description>Description</Description>
	</SoftwareArchive>
	<SoftwareArchive>
		<Class>MyClass</Class>
		<Name>MyName</Name>
		<Version>1.0</Version>
		<URL>...</URL>
		<Description>My Description</Description>
	</SoftwareArchive>
</Archives>

Example:

java XMLClient http://dlib25.isti.cnr.it/sr/list.xml /gcube/devsec report.xml distribution.xml


Etics Client

This is normally used by ETICS after the build process. 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.

Usage:

java org.gcube.vremanagement.softwarerepository.client.EticsClient SoftwareRepositoryEPR txtURL reportXMLFileName distributionXMLFileName scope[default:/gcube/devsec]

where

SoftwareRepositoryEPR is the Software Repository EPR of the service ex. http://dlib05.isti.cnr.it:8080/wsrf/services/gcube/vremanagement/softwarerepository/SoftwareRepository

txtURL is the URL of the txt file with le list of URLs of Software Archive's to store on Software Repository. 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

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