diff options
author | Frank Becker | 2013-02-27 20:51:26 +0000 |
---|---|---|
committer | Frank Becker | 2013-03-03 14:19:28 +0000 |
commit | 79ab69be4e224df99536eaef5e8a36280f4f0102 (patch) | |
tree | 8bf9b1f4ac9762b9c5dac5cdcbbd8a2ebcb7550b | |
parent | d06ff2d5026b525e90a6d0424a8b0e3e431c2b21 (diff) | |
download | org.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.tar.gz org.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.tar.xz org.eclipse.mylyn-79ab69be4e224df99536eaef5e8a36280f4f0102.zip |
399803: list all services in index.html
Change-Id: Ibeae4fa4ba99b1061f960b4bbae10f0f6d35fa79
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=399803
5 files changed, 142 insertions, 23 deletions
diff --git a/org.eclipse.mylyn.releng/vagrant/Vagrantfile b/org.eclipse.mylyn.releng/vagrant/Vagrantfile index 65a0c34c..2958994f 100644 --- a/org.eclipse.mylyn.releng/vagrant/Vagrantfile +++ b/org.eclipse.mylyn.releng/vagrant/Vagrantfile @@ -19,5 +19,5 @@ Vagrant::Config.run do |config| config.vm.provision :shell, :inline => "cd /tmp/vagrant-gerrit && sudo /opt/vagrant_ruby/bin/puppet apply --modulepath /tmp/vagrant-gerrit/modules manifests/default.pp" config.vm.provision :shell, :inline => "cd /tmp/vagrant-trac && sudo /opt/vagrant_ruby/bin/puppet apply --modulepath /tmp/vagrant-trac/modules manifests/default.pp" - config.vm.provision :puppet + config.vm.provision :puppet , :module_path => "modules" end diff --git a/org.eclipse.mylyn.releng/vagrant/manifests/default.pp b/org.eclipse.mylyn.releng/vagrant/manifests/default.pp index c991dd8c..9d1fd9a8 100644 --- a/org.eclipse.mylyn.releng/vagrant/manifests/default.pp +++ b/org.eclipse.mylyn.releng/vagrant/manifests/default.pp @@ -1,23 +1,15 @@ -$content ='#!/bin/bash +/******************************************************************************* + * Copyright (c) 2012 Frank Becker and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Frank Becker - initial API and implementation + * Steffen Pingel (Tasktop Techologies) + *******************************************************************************/ +Exec { + path => ["/bin/", "/sbin/", "/usr/bin/", "/usr/sbin/"] } -echo content-type: application/json -echo - -echo "[" -c=0 -for i in $(find /home/tools -name "service*.json") -do - if [ $c != 0 ] - then - echo "," - fi - cat $i - c=c+1 -done -echo "]" -' - -file { "/usr/lib/cgi-bin/services": - content => "$content", - mode => 755, -} +include "mylyn"
\ No newline at end of file diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi new file mode 100644 index 00000000..45adb260 --- /dev/null +++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/files/services.cgi @@ -0,0 +1,41 @@ +#!/usr/bin/perl -w +use strict; +use warnings; +use CGI; +use File::Find::Rule; + +my $cgi = new CGI; +my $buffer = $cgi->query_string(); +my $callback = $cgi -> param('callback'); +my $muster = 'service*.json'; +my @verzeichnisse = ( + '/home/tools', +); + +my @files = File::Find::Rule->file() + ->name( $muster ) + ->in( @verzeichnisse ); + +print "Content-type:application/json\r\n\r\n"; +if ($callback) { + print "$callback("; +} +print "[\n"; +my $c=0; +foreach my $file (@files) { + open(INFILE, "< $file"); + my @filedata=<INFILE>; + close(INFILE); + if ($c>0) { + print ",\n"; + } + foreach my $fd (@filedata) + { + print "$fd"; + } + $c= $c + 1; +} +print "]"; +if ($callback) { + print ")"; +} diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp new file mode 100644 index 00000000..7847184d --- /dev/null +++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/manifests/init.pp @@ -0,0 +1,48 @@ +/******************************************************************************* + * Copyright (c) 2012 Frank Becker and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Frank Becker - initial API and implementation + * Steffen Pingel (Tasktop Techologies) + *******************************************************************************/ +class mylyn { + + exec { "apt-get update": + command => "apt-get update", + onlyif => "find /var/lib/apt/lists/ -mtime -7 | (grep -q Package; [ $? != 0 ])", + } + + $requirements = [ + "apache2", + "apache2.2-common", + "libfile-find-rule-perl-perl" + ] + + package { $requirements: + ensure => "installed", + require => Exec["apt-get update"], + } + + service { "apache2": + ensure => running, + require => Package["apache2"], + } + + file { "/usr/lib/cgi-bin/services": + source => "puppet:///modules/mylyn/services.cgi", + mode => 755, + require => Package[$requirements], + } + + file { "/var/www/index.html": + content => template('mylyn/index.html.erb'), + mode => 644, + require => Package[$requirements], + } + +} +
\ No newline at end of file diff --git a/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb new file mode 100644 index 00000000..57aa17c4 --- /dev/null +++ b/org.eclipse.mylyn.releng/vagrant/modules/mylyn/templates/index.html.erb @@ -0,0 +1,38 @@ +<html><body><h1>Mylyn Services</h1> +<p>This is the default web page for the Mylyn Test Server.</p> +<p>The web server software is running with the following services.</p> +<blockquote> + <script type="text/javascript"> + <!-- to hide script contents from old browsers + function insertReply(content) { + var erg = "<table width=\"100%\" border=\"1\"><tbody>"; + erg = erg + "<tr><td>Kind</td><td>URL</td><td>Version</td><td>Info</td><td>Properties</td></tr>"; + for (var i=0,len=content.length; i<len; i++) { + erg = erg + "<tr><td>" + content[i].type + + "</td><td><a href=\"" + content[i].url + + "\">"+ content[i].url + "</a></td><td>" + content[i].version+ "</td><td>" + + content[i].info + "</td><td>"; + var properties = content[i].properties; + if(!properties) { + erg = erg + " "; + } else { + var keys = Object.keys(properties); + for (var j=0,lenkeys=keys.length; j<lenkeys; j++) { + erg = erg + keys[j]+ " = " + properties[keys[j]] +"<br>"; + } + } + erg = erg + "</td></tr>"; + } + erg = erg + "</tbody></table>"; + document.getElementById('output').innerHTML = erg; + } + // create script element + var script = document.createElement('script'); + // assing src with callback name + script.src = 'cgi-bin/services?callback=insertReply'; + // insert script to document and load content + document.body.appendChild(script); + // end hiding contents from old browsers --> + </script> </blockquote> + <a id="output">empty service list</a> +</body></html> |