IQTOOLS Documentation
Installation documentation is here :
Installation, and output example is available here :
OutputExampleThe list of tools is :
- IQTools
- IQ2HTML
- IQDiff
- Diff2HTML
At the end of the documentation you'll have an example on how to integrate it inside an Hudson job.
Scripts and command lines help
IQTools
//Syntaxe : IQTools.ps1 -configFile <fileName> -outputFile <Absolutefilename>
-debug -helpHelp :
IQTools.ps1 -configFile <fileName> [-debug] [-help]
this tools is able to generate a list of software/file
-debug : display additional message
-help : display usage of the function
The config file syntax is pretty simple :
// multi-line
<?xml version="1.0"?>
<IQTOOLS>
<!-- if present, OS informations are computed -->
<OS/>
<!-- if present, softwareinformations are computed -->
<software/>
<!-- if present, services list and status are computed -->
<services/>
<!-- if present, environment variables and values are computed -->
<environment/>
<!-- if present, hardware information is computed -->
<hardware>
<!-- NOTE, each property is optionnal -->
<!-- compute each disks with its name and size (GB) -->
<disks/>
<!-- compute the global memory (MB) -->
<memory/>
<!-- compute the number of CPU -->
<cpu/>
</hardware>
<!-- if present, Server information is computed -->
<serverId>
<!-- NOTE, each property is optionnal -->
<!-- compute the sever name -->
<name/>
<!-- compute the domain name-->
<domain/>
</serverId>
<!-- if present, hotfixes are computed -->
</hotfixes>
<!-- NOTE it is mandatory to have the directories element -->
<directories>
<!-- NOTE it is mandatory to have at least on action -->
<directory Name="AbsolutePATH" Pattern="*hpi">
<actions>
<!-- compute the checksum of the file -->
<checksum/>
<!-- display the name of the file -->
<name/>
<!-- get the version (windows's one) of the file -->
<version/>
</actions>
</directory>
<directory Name="ABSOLUTE_PATH" Pattern="MANIFEST.MF">
<actions>
<name/>
<!-- extract some data inside the file ... will work only on txt/xml file -->
<extract>
<field>PLUGIN-VERSION</field>
<field>IMPLEMENTATION-VERSION</field>
<field>SHORT-NAME</field>
<field>LONG-NAME</field>
</extract>
</actions>
</directory>
</directories>
</IQTOOLS>
Config.Xml file sample
IQ2Html
Syntaxe : .\bin\IQ2HTML.ps1 -filename <reference filename> -outputfilename <Absolutefilename> [-debug] [-help]
Note : you should be in the IQTools repository, not in the bin one. Note : you need to copy the logo, in the output directory where you store the HTML report
IQDiff
Syntaxe :
IQDiff.ps1 -file1 <reference filename> -file2 <filename> -outputFile <Absolutefilename> [-simple] [-debug] [-help]
-simple : The simple mode, will only check differences relative to data in file1
Diff2HTML
Syntaxe :
//Diff2HTML.ps1 -filename <reference filename> -outputfilename <Absolutefilename>
-debug -helpNote : you should be in the IQTools repository, not in the bin one. Note : you need to copy the logo, in the output directory where you store the HTML report
How to integrate the scripts set in an Hudson job
#Create a powershell task with :
cd "C:\Program Files\IQTools"
.\bin\IQTools.ps1 -configFile .\conf\config.xml -outputFile 'C:\Program Files\IQTools\res\iqDaily.xml'
Write-Output "IQ GENERATED"
.\bin\IQ2HTML.ps1 -filename .\res\iqDaily.xml -outputfilename 'C:\Program Files\IQTools\res\iqDaily.html'
Write-Output "HTML IQ GENERATED"
.\bin\IQDiff.ps1 -file1 .\res\iqAdminRelease1.14.xml -file2 .\res\iqDaily.xml -outputFile 'C:\Program Files\IQTools\res\diffDaily.xml'
Write-Output "DIFF GENERATED"
.\bin\Diff2HTML.ps1 -filename .\res\diffDaily.xml -outputfilename 'C:\Program Files\IQTools\res\diffDaily.html'
Write-Output "HTML GENERATED, copy both html to workspace"
copy 'C:\Program Files\IQTools\res\iqDaily.html' 'C:\.hudson\jobs\Agilent.CI.BuildTools.CreateRelease.FunctionalTests\workspace\'
copy 'C:\Program Files\IQTools\res\diffDaily.html' 'C:\.hudson\jobs\Agilent.CI.BuildTools.CreateRelease.FunctionalTests\workspace\'
Write-Output "HTML COPIED"