| #!/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) { |
| } |
| |
| ?> |