Difference between revisions of "Software Repository Clients"

From Gcube Wiki
Jump to: navigation, search
Line 1: Line 1:
 
== Software Repository Clients ==
 
== Software Repository Clients ==
  
Two clients are available to populate the Software Repository with Software Archives.
+
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.  
=== Etics Client ===
+
The second client, named Etics Client, is used to populate the SR with all SAs resulting from the build process performed through Etics.
 
+
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
+
  
 
=== XML Client ===
 
=== 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.
  
'''Usage:'''
+
'''How to use:'''
  
 
java  XMLClient  ''xmlURL''  ''scope''  ''reportXMLFileName''  ''distributionXMLFileName''
 
java  XMLClient  ''xmlURL''  ''scope''  ''reportXMLFileName''  ''distributionXMLFileName''
  
''xmlURL'' is the URL of the XML file with Software Archives to store on Software Repository.
+
The semantic of the parameters is as follow:
The XML format have to be like this:
+
# ''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.
 +
# ''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.
 +
# ''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.
 +
 
 +
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 63: Line 38:
 
</source>
 
</source>
  
''scope'' the scope where the Software Repository is running
+
'''Example:'''
  
 +
java  XMLClient  http://dlib25.isti.cnr.it/sr/list.xml  /gcube/devsec  report.xml  distribution.xml
  
''reportXMLFileName'' is path of an xml file where the report informations of submission are written.
 
  
 +
=== Etics Client ===
  
''distributionXMLFileName'' is a path of an xml file where the information for distribution site are written.  
+
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'''
  
'''Example:'''
+
''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.
  
java  XMLClient  http://dlib25.isti.cnr.it/sr/list.xml /gcube/devsec  report.xml  distribution.xml
+
''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.
  
In this client the running instance for the scope specified is discovered through the IS
+
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

Revision as of 19:38, 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 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