| #!/usr/bin/php | 
 | <?php 	 | 
 | /******************************************************************************* | 
 |  * Copyright (c) 2011 Eclipse Foundation 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: | 
 |  *   Wayne Beaton - initial API and implementation | 
 |  *******************************************************************************/ | 
 |  | 
 | /** | 
 |  * This script generates the bash code needed to run an analysis of the | 
 |  * downloads server. It generates one file for each project that can be identified | 
 |  * on the download server. | 
 |  *  | 
 |  * Example usage: | 
 |  *  | 
 |  *  php /home/data/users/wbeaton/git/org.eclipse.dash.dashboard/downloads/scan_all.php | nohup nice bash & | 
 |  *   | 
 |  * This script is currently run every Friday afternoon on the build server | 
 |  * in a crontab job created and managed by wbeaton.  | 
 |  */ | 
 | require_once (dirname(__FILE__) . '/classes/functions.php'); | 
 | require_once (dirname(__FILE__) . '/classes/debug.php'); | 
 | trace_file_info(__FILE__); | 
 |  | 
 | $tmp = "/tmp"; | 
 | $home = "/home/data/users/wbeaton/git/org.eclipse.dash.dashboard/downloads"; | 
 | $findjars = "$home/findjars.sh"; | 
 | /* | 
 |  * Add a grep pipe to the scan command to strip comments | 
 |  * For reasons I don't understand, the output files are being  | 
 |  * generated with '#!/usr/bin/php" on the first line. | 
 |  */ | 
 | $scan = "php $home/scan.php | grep -v ^#"; | 
 |  | 
 | $output = "/home/data/httpd/writable/projects/ip-scans"; | 
 |  | 
 | echo "echo \"# Project/Directory mapping\" > $output/mapping.txt\n"; | 
 | parseProjects("gatherDirectories", "doNothing"); | 
 | foreach($map as $project => $directories) { | 
 | 	$file = "$tmp/$project-list.txt"; | 
 | 	echo "echo -e '# File listing for $project.\\n' > $file\n"; | 
 | 	foreach ($directories as $directory) { | 
 | 		echo "$findjars $directory >> $file \n"; | 
 | 		echo "echo \"$project, $directory\" >> $output/mapping.txt\n"; | 
 | 	} | 
 | 	echo "cat $file | $scan > $output/$project.xml\n"; | 
 | 	echo "rm $file\n"; | 
 | 	 | 
 | } | 
 |  | 
 | function gatherDirectories($project, $path) { | 
 | 	if (!file_exists($path)) return; | 
 | 	global $map; | 
 | 	 | 
 | 	$map[$project][] = $path; | 
 | } | 
 |  | 
 | function doNothing($project, $namespace) { | 
 | } | 
 |  | 
 | ?> |