| <?php |
| /******************************************************************************* |
| * Copyright (c) 2007-2008 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: |
| * Antoine Toulme, Intalio Inc. bug 248845: Refactoring generate1.php into different files with a functional approach |
| *******************************************************************************/ |
| |
| /* |
| * Documentation: http://wiki.eclipse.org/Babel_/_Server_Tool_Specification#Outputs |
| */ |
| |
| ini_set("memory_limit", "64M"); |
| require(dirname(__FILE__) . "/../system/backend_functions.php"); |
| |
| global $addon; |
| $context = $addon->callHook('context'); |
| $work_dir = $addon->callHook('babel_working'); |
| |
| require(dirname(__FILE__) . "/../system/dbconnection.class.php"); |
| require(dirname(__FILE__) . "/../system/feature.class.php"); |
| $dbc = new DBConnection(); |
| $dbh = $dbc->connect(); |
| |
| $work_context_dir = $work_dir . $context . "_site/"; |
| $tmp_dir = $work_context_dir . "tmp/"; |
| $output_dir = $work_context_dir . "output/"; |
| $sites_dir = $work_context_dir . "sites/"; |
| |
| exec("rm -rf $work_context_dir*"); |
| exec("mkdir -p $output_dir"); |
| exec("mkdir -p $sites_dir"); |
| |
| |
| //iterate over all the release trains |
| foreach(ReleaseTrain::all() as $train) { |
| $features = array(); |
| // create a dedicated folder for each of them |
| exec("mkdir -p $sites_dir/$train->id"); |
| // create the output folder for temporary artifacts |
| $output_dir_for_train = "$output_dir/$train->id/"; |
| // iterate over each language |
| foreach(Language::all() as $lang) { |
| // create a new feature object |
| $feature = new Feature($lang, $train, $tmp_dir, $output_dir_for_train); |
| // make it generate itself |
| $feature->generateAll(); |
| $feature->jar(); |
| $features[] = $feature; |
| } |
| $site = fopen("$output_dir_for_train/eclipse/site.xml", "w"); |
| $head = <<<HEAD |
| <site mirrorsURL="http://www.eclipse.org/downloads/download.php?file=/technology/babel/update-site/ganymede/site.xml&format=xml"> |
| <description url="http://babel.eclipse.org/"> |
| |
| This update site contains user-contributed translations of the strings in all Eclipse projects. |
| Please see the http://babel.eclipse.org/ Babel project web pages for a full how-to-use explanation of |
| these translations as well as how you can contribute to the translations of this and future versions of Eclipse. |
| |
| </description> |
| HEAD; |
| fwrite($site, $head); |
| $version = $train->version ."_". $train->timestamp; |
| foreach($features as $f) { |
| $language_name = $f->language->name; |
| $filename = $f->filename(); |
| |
| $feature_text = <<<FEATURE_TEXT |
| <category-def name="Babel Language Packs in $language_name" label="Babel Language Packs in $language_name"> |
| <description>Babel Language Packs in Pseudo Translations</description> |
| </category-def> |
| |
| <feature url="features/$filename.jar" id="$filename" version="$version"> |
| <category name="Babel Language Packs in $language_name"/> |
| </feature> |
| FEATURE_TEXT; |
| fwrite($site, $feature_text); |
| } |
| fclose($site); |
| exec("mv $output_dir_for_train/eclipse $sites_dir/" . $train->id . "_" . $train->timestamp); |
| } |
| |
| |
| |