OSDN Git Service

Merge branch 'release/2.6.0beta2'
[ethna/ethna.git] / bin / ethna_make_package.php
index 67c5152..26fce70 100644 (file)
@@ -1,26 +1,25 @@
 <?php
 /**
- *     ethna_make_package.php
+ *  ethna_make_package.php
  *
  *  package.xml generator for Ethna
  *
- *     @license        http://www.opensource.org/licenses/bsd-license.php The BSD License
- *     @package        Ethna
- *     @version        $Id$
+ *  @license    http://www.opensource.org/licenses/bsd-license.php The BSD License
+ *  @package    Ethna
+ *  @version    $Id$
  */
-include_once('PEAR.php');
-include_once('Console/Getopt.php');
-include_once('PEAR/PackageFileManager2.php');
-include_once('PEAR/PackageFileManager/File.php');   // avoid bugs
+require_once 'PEAR.php';
+require_once 'Console/Getopt.php';
+require_once 'PEAR/PackageFileManager2.php';
+require_once 'PEAR/PackageFileManager/File.php';   // avoid bugs
 
 // args
-$getopt =& new Console_Getopt();
-$arg_list = $getopt->readPHPArgv();
+$arg_list = Console_Getopt::readPHPArgv();
 $state = "stable";
 $is_old_package = false;
 $get_version = false;
 
-$r = $getopt->getopt($arg_list, "abov", array("alpha", "beta", "old-package", "version"));
+$r = Console_Getopt::getopt($arg_list, "abov", array("alpha", "beta", "old-package", "version"));
 foreach ($r[0] as $opt) {
     if ($opt[0] == "a" || $opt[0] == "--alpha") {
         $state = "alpha";
@@ -41,7 +40,7 @@ $package = 'Ethna';
 
 // x.0.y -> beta
 // x.1.y -> stable
-$major_version = "2.1";
+$major_version = "2.6";
 $minor_version = "0";
 
 if ($state == 'alpha' || $state == 'beta') {
@@ -59,20 +58,22 @@ $config = array(
     'baseinstalldir' => 'Ethna',
     'packagedirectory' => dirname(dirname(__FILE__)),
     'filelistgenerator' => 'file',
-    'ignore' => array('CVS/', 'package.xml', 'ethna_make_package.php', 'ethna_make_package.sh'),
+    'ignore' => array('CVS/', '.svn/', 'package.xml', 'ethna_make_package.php', 'ethna_make_package.sh', '*optional_package*', ),
     'changelogoldtonew' => false,
-    'exceptions' => array('README' => 'doc', 'LICENSE' => 'doc', 'CHANGES' => 'doc'),
+    'exceptions' => array('README' => 'doc', 'LICENSE' => 'doc', 'CHANGES' => 'doc',),
     'description' => $description,
+    'exceptions' => array('bin/ethna.sh' => 'script', 'bin/ethna.bat' => 'script'),
     'installexceptions' => array('bin/ethna.sh' => '/', 'bin/ethna.bat' => '/'),
     'installas' => array('bin/ethna.sh' => 'ethna', 'bin/ethna.bat' => 'ethna.bat'),
 );
  
+$ethna_channel = 'pear.ethna.jp';
 $packagexml = new PEAR_PackageFileManager2();
 $packagexml->setOptions($config);
 $packagexml->setPackage($package);
 $packagexml->setSummary('Ethna PHP Framework Package');
 $packagexml->setDescription($description);
-$packagexml->setChannel('pear.ethna.jp');
+$packagexml->setChannel($ethna_channel);
 $packagexml->setAPIVersion($version);
 $packagexml->setReleaseVersion($version);
 $packagexml->setReleaseStability($state);
@@ -80,23 +81,21 @@ $packagexml->setAPIStability($state);
 $packagexml->setNotes('Ethna PHP Web Application Framework');
 $packagexml->setPackageType('php');
 
-$packagexml->addRole('css', 'php');
-$packagexml->addRole('tpl', 'php');
-$packagexml->addRole('ethna', 'php');
-$packagexml->addRole('sh', 'script');
-$packagexml->addRole('bat', 'script');
+$packagexml->addRole('*', 'php');
 
 $packagexml->setPhpDep('4.1.0');
 $packagexml->setPearinstallerDep('1.3.5');
+$packagexml->addPackageDepWithChannel('optional', 'DB', 'pear.php.net');
+$packagexml->addPackageDepWithChannel('optional', 'Smarty', $ethna_channel);
+$packagexml->addPackageDepWithChannel('optional', 'simpletest', $ethna_channel);
 
-$packagexml->addMaintainer('lead', 'fujimoto' , 'Masaki Fujimoto', 'fujimoto@php.net');
-$packagexml->addMaintainer('lead', 'halt' , 'halt feits', 'halt.hde@gmail.com');
-$packagexml->addMaintainer('lead', 'cocoitiban', 'Keita Arai', 'cocoiti@comio.info');
+$packagexml->addMaintainer('lead', 'sotarok' , 'Sotaro Karasawa', 'sotaro.k@gmail.com');
 
 $packagexml->setLicense('The BSD License', 'http://www.opensource.org/licenses/bsd-license.php');
 
 $packagexml->addReplacement('bin/ethna.bat', 'pear-config', '@PEAR-DIR@', 'php_dir');
 $packagexml->addReplacement('bin/ethna.bat', 'pear-config', '@PHP-BIN@', 'bin_dir');
+$packagexml->addReplacement('bin/ethna.sh', 'pear-config', '@PHP-BINARY@', 'php_bin');
 $packagexml->addReplacement('bin/ethna.sh', 'pear-config', '@PEAR-DIR@', 'php_dir');
 $packagexml->addReplacement('bin/ethna.sh', 'pear-config', '@PHP-BIN@', 'bin_dir');
 
@@ -111,9 +110,13 @@ $packagexml->addIgnoreToRelease('bin/ethna.bat');
 $packagexml->generateContents();
 
 if ($is_old_package) {
-    $pkg =& $packagexml->exportCompatiblePackageFile1();
-    $pkg->writePackageFile();
+    if (method_exists($packagexml, 'exportCompatiblePackageFile1')) {
+        $pkg =& $packagexml->exportCompatiblePackageFile1();
+        $pkg->writePackageFile();
+    } else {
+        //  PEAR package version 1 is not supported over PEAR 1.8.0.
+        echo "WARNING: PEAR package version 1 is not supported in this PEAR version.\n";
+    }
 } else {
     $packagexml->writePackageFile();
 }
-?>