mirror of
https://github.com/eclipse-cdt/cdt
synced 2025-04-29 19:45:01 +02:00
Added automatic upload of the test result reports.
This commit is contained in:
parent
191615c830
commit
bcbcf4266c
7 changed files with 139 additions and 4 deletions
|
@ -6,9 +6,9 @@
|
||||||
|
|
||||||
if [ -n "$CDT_ROOT" ]; then cd $CDT_ROOT; fi
|
if [ -n "$CDT_ROOT" ]; then cd $CDT_ROOT; fi
|
||||||
|
|
||||||
for i in dobuild doinstall dotest
|
for i in dobuild doinstall dotests dopost
|
||||||
do
|
do
|
||||||
if ! $i
|
if ! workspace/org.eclipse.cdt.releng/$i
|
||||||
then
|
then
|
||||||
echo $i failed
|
echo $i failed
|
||||||
exit 1
|
exit 1
|
||||||
|
|
|
@ -23,7 +23,7 @@ do
|
||||||
export DEST=$d/`echo $i | sed -e s:$BUILD_SITE/$d/:: -e s/.jar//`
|
export DEST=$d/`echo $i | sed -e s:$BUILD_SITE/$d/:: -e s/.jar//`
|
||||||
mkdir $DEST
|
mkdir $DEST
|
||||||
cd $DEST
|
cd $DEST
|
||||||
jar xf $i
|
jar xf ../../$i
|
||||||
cd ../..
|
cd ../..
|
||||||
done
|
done
|
||||||
done
|
done
|
||||||
|
|
16
releng/org.eclipse.cdt.releng/dopost
Normal file
16
releng/org.eclipse.cdt.releng/dopost
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
cd results
|
||||||
|
|
||||||
|
# Update the build page
|
||||||
|
|
||||||
|
export CDT_VERSION=`cat version.txt`
|
||||||
|
export CDT_LOGS=`echo org.*.html`
|
||||||
|
|
||||||
|
../workspace/org.eclipse.cdt.releng/edit.pl $CDT_VERSION $CDT_LOGS < index.html > index2.html
|
||||||
|
mv index2.html index.html
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
# Upload to build page using eclipse
|
||||||
|
|
||||||
|
./eclipse -nosplash -application org.eclipse.cdt.releng.postResults \
|
||||||
|
-version $CDT_VERSION -logs $CDT_LOGS \
|
||||||
|
-vmargs -Dcdt.build.user=$CDT_USER -Dcdt.build.passwd=$CDT_PASSWD
|
24
releng/org.eclipse.cdt.releng/edit.pl
Normal file
24
releng/org.eclipse.cdt.releng/edit.pl
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
#!/usr/bin/perl
|
||||||
|
|
||||||
|
# First arg is version number
|
||||||
|
# The rest are the log files
|
||||||
|
|
||||||
|
foreach (<STDIN>)
|
||||||
|
{
|
||||||
|
if (/<!--new..>/)
|
||||||
|
{
|
||||||
|
$version = shift;
|
||||||
|
$date = `date`;
|
||||||
|
chomp $date;
|
||||||
|
print " <li>$version - $date</li>\n";
|
||||||
|
print " <ul>\n";
|
||||||
|
foreach (@ARGV)
|
||||||
|
{
|
||||||
|
$plugin = $_;
|
||||||
|
$plugin =~ s/\.html//;
|
||||||
|
print " <li><a href=\"logs/$version/$_\">$plugin</a></li>\n"
|
||||||
|
}
|
||||||
|
print " </ul>\n";
|
||||||
|
}
|
||||||
|
print $_;
|
||||||
|
}
|
|
@ -31,5 +31,15 @@
|
||||||
</run>
|
</run>
|
||||||
</application>
|
</application>
|
||||||
</extension>
|
</extension>
|
||||||
|
<extension
|
||||||
|
id="postResults"
|
||||||
|
name="Post Build Results"
|
||||||
|
point="org.eclipse.core.runtime.applications">
|
||||||
|
<application>
|
||||||
|
<run
|
||||||
|
class="org.eclipse.cdt.releng.PostResults">
|
||||||
|
</run>
|
||||||
|
</application>
|
||||||
|
</extension>
|
||||||
|
|
||||||
</plugin>
|
</plugin>
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.io.File;
|
||||||
import java.io.FileOutputStream;
|
import java.io.FileOutputStream;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
|
import java.io.PrintStream;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
|
||||||
import javax.xml.parsers.DocumentBuilder;
|
import javax.xml.parsers.DocumentBuilder;
|
||||||
|
@ -21,8 +22,10 @@ import org.eclipse.core.resources.IResource;
|
||||||
import org.eclipse.core.resources.IWorkspace;
|
import org.eclipse.core.resources.IWorkspace;
|
||||||
import org.eclipse.core.resources.ResourcesPlugin;
|
import org.eclipse.core.resources.ResourcesPlugin;
|
||||||
import org.eclipse.core.runtime.CoreException;
|
import org.eclipse.core.runtime.CoreException;
|
||||||
|
import org.eclipse.core.runtime.IPath;
|
||||||
import org.eclipse.core.runtime.IProgressMonitor;
|
import org.eclipse.core.runtime.IProgressMonitor;
|
||||||
import org.eclipse.core.runtime.NullProgressMonitor;
|
import org.eclipse.core.runtime.NullProgressMonitor;
|
||||||
|
import org.eclipse.core.runtime.Platform;
|
||||||
import org.eclipse.pde.core.plugin.IFragment;
|
import org.eclipse.pde.core.plugin.IFragment;
|
||||||
import org.eclipse.pde.core.plugin.IPlugin;
|
import org.eclipse.pde.core.plugin.IPlugin;
|
||||||
import org.eclipse.pde.internal.core.feature.WorkspaceFeatureModel;
|
import org.eclipse.pde.internal.core.feature.WorkspaceFeatureModel;
|
||||||
|
@ -213,8 +216,13 @@ public class DoBuild implements IPlatformRunnable {
|
||||||
ftp.login(ftpUser, ftpPassword);
|
ftp.login(ftpUser, ftpPassword);
|
||||||
ftp.chdir(ftpPath);
|
ftp.chdir(ftpPath);
|
||||||
|
|
||||||
|
IPath resultDir = Platform.getLocation().removeLastSegments(1).append("results");
|
||||||
|
OutputStream stream = new FileOutputStream(resultDir.append("index.html").toOSString());
|
||||||
|
ftp.get(stream, "index.html");
|
||||||
|
stream.close();
|
||||||
|
|
||||||
IFile file = buildSite.getFile("version.xml");
|
IFile file = buildSite.getFile("version.xml");
|
||||||
OutputStream stream = new FileOutputStream(file.getRawLocation().toOSString());
|
stream = new FileOutputStream(file.getRawLocation().toOSString());
|
||||||
ftp.get(stream, "version.xml");
|
ftp.get(stream, "version.xml");
|
||||||
stream.close();
|
stream.close();
|
||||||
|
|
||||||
|
@ -255,6 +263,14 @@ public class DoBuild implements IPlatformRunnable {
|
||||||
transformer.transform(new DOMSource(versionDoc), new StreamResult(versionResult));
|
transformer.transform(new DOMSource(versionDoc), new StreamResult(versionResult));
|
||||||
versionFile.refreshLocal(IResource.DEPTH_ONE, monitor);
|
versionFile.refreshLocal(IResource.DEPTH_ONE, monitor);
|
||||||
version = versionId + "." + buildNum;
|
version = versionId + "." + buildNum;
|
||||||
|
|
||||||
|
// Save the version in a text file for inclusion in the build page
|
||||||
|
IPath resultDir = Platform.getLocation().removeLastSegments(1).append("results");
|
||||||
|
OutputStream stream = new FileOutputStream(resultDir.append("version.txt").toOSString());
|
||||||
|
PrintStream versionText = new PrintStream(stream);
|
||||||
|
versionText.println(version);
|
||||||
|
stream.close();
|
||||||
|
|
||||||
System.out.println("Version: " + version);
|
System.out.println("Version: " + version);
|
||||||
|
|
||||||
// Go through the projects and update the version info
|
// Go through the projects and update the version info
|
||||||
|
|
|
@ -0,0 +1,69 @@
|
||||||
|
package org.eclipse.cdt.releng;
|
||||||
|
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import org.eclipse.core.boot.IPlatformRunnable;
|
||||||
|
import org.eclipse.core.runtime.IPath;
|
||||||
|
import org.eclipse.core.runtime.Platform;
|
||||||
|
|
||||||
|
import com.enterprisedt.net.ftp.FTPClient;
|
||||||
|
import com.enterprisedt.net.ftp.FTPConnectMode;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This application ftps the test results up to the server.
|
||||||
|
* @see IPlatformRunnable
|
||||||
|
*/
|
||||||
|
public class PostResults implements IPlatformRunnable {
|
||||||
|
|
||||||
|
private static final String ftpHost = "download.eclipse.org";
|
||||||
|
private static final String ftpPath = "cdt/updates/builds/1.2";
|
||||||
|
private static final String ftpUser = System.getProperty("cdt.build.user");
|
||||||
|
private static final String ftpPassword = System.getProperty("cdt.build.passwd");
|
||||||
|
|
||||||
|
public PostResults() {
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see IPlatformRunnable#run
|
||||||
|
*/
|
||||||
|
public Object run(Object args) throws Exception {
|
||||||
|
// Get the goodies out of the argument list
|
||||||
|
String version = "unversioned";
|
||||||
|
List logs = new ArrayList();
|
||||||
|
|
||||||
|
String[] strargs = (String[])args;
|
||||||
|
for (int i = 0; i < strargs.length; ++i)
|
||||||
|
if (strargs[i].equals("-version")) {
|
||||||
|
version = strargs[++i];
|
||||||
|
} else if (strargs[i].equals("-logs")) {
|
||||||
|
for (i++; i < strargs.length; ++i) {
|
||||||
|
logs.add(strargs[i]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
IPath resultDir = Platform.getLocation().removeLastSegments(1).append("results");
|
||||||
|
|
||||||
|
// Open ftp connection
|
||||||
|
FTPClient ftp = new FTPClient(ftpHost);
|
||||||
|
ftp.setConnectMode(FTPConnectMode.ACTIVE);
|
||||||
|
ftp.login(ftpUser, ftpPassword);
|
||||||
|
ftp.chdir(ftpPath);
|
||||||
|
|
||||||
|
// Upload the html files
|
||||||
|
ftp.put(new FileInputStream(resultDir.append("index.html").toOSString()), "index.html");
|
||||||
|
|
||||||
|
ftp.chdir("logs");
|
||||||
|
ftp.mkdir(version);
|
||||||
|
ftp.chdir(version);
|
||||||
|
|
||||||
|
for (int i = 0; i < logs.size(); ++i) {
|
||||||
|
String log = (String)logs.get(i);
|
||||||
|
ftp.put(new FileInputStream(resultDir.append(log).toOSString()), log);
|
||||||
|
}
|
||||||
|
|
||||||
|
ftp.quit();
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
Loading…
Add table
Reference in a new issue