Skip to content
Browse files

Tagging release 2.4.0

  • Loading branch information...
2 parents dc0dc59 + bc374e7 commit e09fa3dfeaf24f1b074fe521406874665b64184a @mrook mrook committed Jan 17, 2010
Showing with 0 additions and 19,776 deletions.
  1. +0 −432 trunk/CHANGELOG
  2. +0 −64 trunk/CREDITS
  3. +0 −165 trunk/LICENSE
  4. +0 −78 trunk/README
  5. +0 −56 trunk/UPGRADE
  6. +0 −22 trunk/bin/pear-phing
  7. +0 −44 trunk/bin/pear-phing.bat
  8. +0 −87 trunk/bin/phing
  9. +0 −58 trunk/bin/phing.bat
  10. +0 −56 trunk/bin/phing.php
  11. +0 −306 trunk/build/BuildPhingPEARPackageTask.php
  12. +0 −242 trunk/build/build.xml
  13. +0 −198 trunk/classes/phing/BuildEvent.php
  14. +0 −121 trunk/classes/phing/BuildException.php
  15. +0 −91 trunk/classes/phing/BuildListener.php
  16. +0 −70 trunk/classes/phing/BuildLogger.php
  17. +0 −83 trunk/classes/phing/ConfigurationException.php
  18. +0 −538 trunk/classes/phing/IntrospectionHelper.php
  19. +0 −1,346 trunk/classes/phing/Phing.php
  20. +0 −982 trunk/classes/phing/Project.php
  21. +0 −70 trunk/classes/phing/ProjectComponent.php
  22. +0 −118 trunk/classes/phing/RuntimeConfigurable.php
  23. +0 −317 trunk/classes/phing/Target.php
  24. +0 −265 trunk/classes/phing/Task.php
  25. +0 −84 trunk/classes/phing/TaskAdapter.php
  26. +0 −42 trunk/classes/phing/TaskContainer.php
  27. +0 −215 trunk/classes/phing/UnknownElement.php
  28. +0 −157 trunk/classes/phing/filters/BaseFilterReader.php
  29. +0 −69 trunk/classes/phing/filters/BaseParamFilterReader.php
  30. +0 −43 trunk/classes/phing/filters/ChainableReader.php
  31. +0 −82 trunk/classes/phing/filters/ExpandProperties.php
  32. +0 −161 trunk/classes/phing/filters/HeadFilter.php
  33. +0 −260 trunk/classes/phing/filters/LineContains.php
  34. +0 −179 trunk/classes/phing/filters/LineContainsRegexp.php
  35. +0 −142 trunk/classes/phing/filters/PrefixLines.php
  36. +0 −129 trunk/classes/phing/filters/ReplaceRegexp.php
  37. +0 −435 trunk/classes/phing/filters/ReplaceTokens.php
  38. +0 −325 trunk/classes/phing/filters/ReplaceTokensWithFile.php
  39. +0 −148 trunk/classes/phing/filters/StripLineBreaks.php
  40. +0 −207 trunk/classes/phing/filters/StripLineComments.php
  41. +0 −188 trunk/classes/phing/filters/StripPhpComments.php
  42. +0 −95 trunk/classes/phing/filters/StripWhitespace.php
  43. +0 −144 trunk/classes/phing/filters/TabToSpaces.php
  44. +0 −157 trunk/classes/phing/filters/TailFilter.php
  45. +0 −162 trunk/classes/phing/filters/TidyFilter.php
  46. +0 −285 trunk/classes/phing/filters/TranslateGettext.php
  47. +0 −176 trunk/classes/phing/filters/XincludeFilter.php
  48. +0 −408 trunk/classes/phing/filters/XsltFilter.php
  49. +0 −183 trunk/classes/phing/filters/util/ChainReaderHelper.php
  50. +0 −97 trunk/classes/phing/filters/util/IniFileTokenReader.php
  51. +0 −81 trunk/classes/phing/input/DefaultInputHandler.php
  52. +0 −45 trunk/classes/phing/input/InputHandler.php
  53. +0 −107 trunk/classes/phing/input/InputRequest.php
  54. +0 −58 trunk/classes/phing/input/MultipleChoiceInputRequest.php
  55. +0 −47 trunk/classes/phing/input/YesNoInputRequest.php
  56. +0 −267 trunk/classes/phing/lib/Capsule.php
  57. +0 −234 trunk/classes/phing/listener/AnsiColorLogger.php
  58. +0 −279 trunk/classes/phing/listener/DefaultLogger.php
  59. +0 −59 trunk/classes/phing/listener/NoBannerLogger.php
  60. +0 −197 trunk/classes/phing/listener/PearLogListener.php
  61. +0 −39 trunk/classes/phing/listener/StreamRequiredBuildLogger.php
  62. +0 −354 trunk/classes/phing/listener/XmlLogger.php
  63. +0 −43 trunk/classes/phing/listener/defaults.properties
  64. +0 −59 trunk/classes/phing/mappers/FileNameMapper.php
  65. +0 −55 trunk/classes/phing/mappers/FlattenMapper.php
  66. +0 −113 trunk/classes/phing/mappers/GlobMapper.php
  67. +0 −54 trunk/classes/phing/mappers/IdentityMapper.php
  68. +0 −69 trunk/classes/phing/mappers/MergeMapper.php
  69. +0 −97 trunk/classes/phing/mappers/RegexpMapper.php
  70. +0 −98 trunk/classes/phing/parser/AbstractHandler.php
  71. +0 −116 trunk/classes/phing/parser/AbstractSAXParser.php
  72. +0 −144 trunk/classes/phing/parser/DataTypeHandler.php
  73. +0 −31 trunk/classes/phing/parser/ExpatParseException.php
  74. +0 −140 trunk/classes/phing/parser/ExpatParser.php
  75. +0 −76 trunk/classes/phing/parser/Location.php
  76. +0 −186 trunk/classes/phing/parser/NestedElementHandler.php
  77. +0 −81 trunk/classes/phing/parser/PhingXMLContext.php
  78. +0 −373 trunk/classes/phing/parser/ProjectConfigurator.php
  79. +0 −169 trunk/classes/phing/parser/ProjectHandler.php
  80. +0 −82 trunk/classes/phing/parser/RootHandler.php
  81. +0 −180 trunk/classes/phing/parser/TargetHandler.php
  82. +0 −234 trunk/classes/phing/parser/TaskHandler.php
  83. +0 −168 trunk/classes/phing/system/io/BufferedReader.php
  84. +0 −71 trunk/classes/phing/system/io/BufferedWriter.php
  85. +0 −84 trunk/classes/phing/system/io/ConsoleReader.php
  86. +0 −76 trunk/classes/phing/system/io/FileInputStream.php
  87. +0 −71 trunk/classes/phing/system/io/FileOutputStream.php
  88. +0 −41 trunk/classes/phing/system/io/FileReader.php
  89. +0 −691 trunk/classes/phing/system/io/FileSystem.php
  90. +0 −42 trunk/classes/phing/system/io/FileWriter.php
  91. +0 −68 trunk/classes/phing/system/io/FilterReader.php
  92. +0 −27 trunk/classes/phing/system/io/IOException.php
  93. +0 −178 trunk/classes/phing/system/io/InputStream.php
  94. +0 −127 trunk/classes/phing/system/io/InputStreamReader.php
  95. +0 −108 trunk/classes/phing/system/io/OutputStream.php
  96. +0 −84 trunk/classes/phing/system/io/OutputStreamWriter.php
  97. +0 −934 trunk/classes/phing/system/io/PhingFile.php
  98. +0 −91 trunk/classes/phing/system/io/Reader.php
  99. +0 −84 trunk/classes/phing/system/io/StringReader.php
  100. +0 −306 trunk/classes/phing/system/io/UnixFileSystem.php
  101. +0 −477 trunk/classes/phing/system/io/Win32FileSystem.php
  102. +0 −35 trunk/classes/phing/system/io/WinNTFileSystem.php
  103. +0 −53 trunk/classes/phing/system/io/Writer.php
  104. +0 −49 trunk/classes/phing/system/lang/Character.php
  105. +0 −52 trunk/classes/phing/system/lang/EventObject.php
  106. +0 −26 trunk/classes/phing/system/lang/FileNotFoundException.php
  107. +0 −26 trunk/classes/phing/system/lang/NullPointerException.php
  108. +0 −26 trunk/classes/phing/system/lang/SecurityException.php
  109. +0 −289 trunk/classes/phing/system/util/Properties.php
  110. +0 −115 trunk/classes/phing/system/util/Register.php
  111. +0 −96 trunk/classes/phing/system/util/Timer.php
  112. +0 −101 trunk/classes/phing/tasks/defaults.properties
  113. +0 −480 trunk/classes/phing/tasks/ext/CapsuleTask.php
  114. +0 −151 trunk/classes/phing/tasks/ext/ExportPropertiesTask.php
Sorry, we could not display the entire diff because too many files (450) changed.
View
432 trunk/CHANGELOG
@@ -1,432 +0,0 @@
- _________________________
- P H I N G
-
-
-Jan. 17, 2010 - Phing 2.4.0
-
-[414] PhpLintTask: retrieving bad files
-[413] PDOSQLExecTask does not recognize "delimiter" command
-[411] PhpEvalTask calculation should not always returns anything
-[410] Allow setting alias for Phar files as well as a custom stub
-[384] Delete directories fails on '[0]' name
-
-Dec. 17, 2009 - Phing 2.4.0 RC3
-
-[407] some error with svn info
-[406] an ability to turn phpLint verbose ON and OFF
-[405] I can't get a new version of Phing through PEAR
-[402] Add fileset/filelist support to scp tasks
-[401] PHPUnitTask 'summary' formatter produces a long list of results
-[400] Support for Clover coverage XML
-[399] PhpDocumentorExternal stops in method constructArguments
-[398] Error using ResolvePath on Windows
-[397] DbDeployTask only looks for -- //@UNDO (requires space)
-[396] PDOSQLExecTask requires both fileset and filelist, rather than either or
-[395] PharPackageTask fails to compress files
-[394] Fix differences in zip and tar tasks
-[393] prefix parameter for tar task
-[391] Docs: PharPackageTask 'compress' attribute wrong
-[389] Code coverage shows incorrect results Part2
-[388] Beautify directory names in zip archives
-[387] IoncubeEncoderTask noshortopentags
-[386] PhpCpd output to screen
-[385] Directory ignored in PhpCpdTask.php
-[382] Add prefix parameter to ZipTask
-[381] FtpDeployTask: invalid default transfer mode
-[380] How to use PhpDocumentorExternalTask
-[379] PHPUnit error handler issue
-[378] PHPUnit task bootstrap file included too late
-[377] Code coverage shows incorrect results
-[376] ReplaceToken boolean problems
-[375] error in docs for echo task
-[373] grammar errors
-[372] Use E_DEPRECATED
-[367] Can't build simple build.xml file
-[361] Bug in PHPCodeSnifferTask
-[360] && transfers into & in new created task
-[309] startdir and 'current directory' not the same when build.xml not in current directory
-[268] Patch - xmlproperties Task
-[204] Resolve task class names with PEAR/ZEND/etc. naming convention
-[137] Excluded files may be included in Zip/Tar tasks
-
-Oct. 20, 2009 - Phing 2.4.0 RC2
-
-[370] Fatal error: Cannot redeclare class PHPUnit_Framework_TestSuite
-[366] Broken link in "Getting Started/More Complex Buildfile"
-[365] Phing 2.4rc1 via pear is not usable
-[364] 2.4.0-rc1 download links broken
-[363] PHPUnit task fails with formatter type 'xml'
-[359] 403 for Documentation (User Guide) Phing HEAD
-[355] PDOSQLExecTask should accept filelist subelement
-[352] Add API documentation
-
-Sep. 14, 2009 - Phing 2.4.0 RC1
-
-[362] Can't get phpunit code coverage to export as XML
-[361] Bug in PHPCodeSnifferTask
-[357] SvnLastRevisionTask fails when locale != EN
-[356] Documentation for tasks Chmod and Chown
-[349] JslLint task fails to escape shell argument
-[347] PHPUnit / Coverage tasks do not deal with bootstrap code
-[344] Phing ignores public static array named $browsers in Selenium tests
-[342] custom-made re-engine in SelectorUtils is awful slow
-[339] PHAR signature setting
-[336] Use intval to loop through files
-[333] XmlLogger doesn't ensure proper ut8 encoding of log messages
-[332] Conditions: uptodate does not work
-[331] UpToDateTask documentation says that nested FileSet tags are allowed
-[330] "DirectoryScanner cannot find a folder/file named ""0"" (zero)"
-[326] Add revision to svncheckout and svnupdate
-[325] "<filterchain id=""xxx""> and <filterchain refid=""xxx""> don't work"
-[322] phpdoc task not parsing and including RIC files in documentation output
-[319] Simpletest sometimes reports an undefined variable
-[317] PhpCodeSnifferTask lacks of haltonerror and haltonwarning attributes
-[316] Make haltonfailure attribute for ZendCodeAnalyzerTask
-[312] SimpleTestXMLResultFormatter
-[311] Fileset support for the TouchTask?
-[307] Replaceregexp filter works in Copy task but not Move task
-[306] Command-line option to output the <target> description attribute text
-[303] Documentation of Task Tag SimpleTest
-[300] ExecTask should return command output as a property (different from passthru)
-[299] PhingCall crashes if an AdhocTask is defined
-[292] Svn copy task
-[290] Add facility for setting resolveExternals property of DomDocument object in XML related tasks
-[289] Undefined property in XincludeFilter class
-[282] Import Task fix/improvement
-[280] Add Phar support (task) to Phing
-[279] Add documentation to PHK package task
-[278] Add PHK package task
-[277] PhpCodeSnifferTask has mis-named class, patch included
-[273] PHPUnit 3.3RC1 error in phpunit task adding files to filter
-[270] [patch] ReplaceRegExp
-[269] Allow properties to be recursively named.
-[263] phpunit code coverage file format change
-[262] Archive_Zip fails to extract on Windows
-[261] UnZip task reports success on failure on Windows
-[259] Unneeded warning in Untar task
-[256] Ignore dead code in code coverage
-[254] Add extra debug resultformatter to the simpletest task
-[252] foreach on a fileset
-[248] Extend taskdef task to allow property file style imports
-[247] New task: Import
-[246] Phing test brocken but no failure entry if test case class has no test method
-[245] TAR task
-[243] Delete task won't delete all files
-[240] phing test succesful while phpunit test is broken
-[233] Separate docs from phing package
-[231] File::exists() returns false on *existing* but broken symlinks
-[229] CopyTask shoul accept filelist subelement
-[226] <move> task doesn't support filters
-[222] Terminal output dissapears and/or changes color
-[221] Support for copying symlinks as is
-[212] Make file perms configurable in copy task
-[209] Cache the results of PHPLintTask so as to not check unmodified files
-[187] "ExecTask attribute ""passthru"" to make use of the PHP function ""passthru"""
-[21] svn tasks doesn't work
-
-Dec. 8, 2008 - Phing 2.3.3
-
-[314] <phpunit> task does not work
-[313] Incorrect PhpDoc package of SimpleTestResultFormatter
-[302] Incorrect error detecting in XSLT filter
-[293] Contains condition fails on case-insensitive checks
-[291] The release package is not the one as the version(2.3.2) suppose to be
-
-Oct. 16, 2008 - Phing 2.3.2
-
-[296] Problem with the Phing plugin with Hudson CI Tool
-[288] Comment syntax for dbdeploy violates standard
-
-Oct. 16, 2008 - Phing 2.3.1
-
-[287] DateSelector.php bug
-[286] dbdeploy failes with MySQL strict mode
-[285] Syntax error in dbdeploy task
-[284] XSL Errors in coverage-report task
-[275] AnsiColorLogger should not be final
-[274] PHPUnit 3.3RC1 incompatibility with code coverage
-[272] Using CDATA with ReplaceTokens values
-[271] Warning on iterating over empty keys
-[264] Illeal use of max() with empty array
-[260] Error processing reults: SQLSTATE[HY000]: General error: 2053 when executing inserts or create statements.
-[258] getPhingVersion + printVersion should be public static
-[255] Timestamp in Phing Properties for Echo etc
-[253] CCS nav bug on PHING.info site
-[251] debug statement in Path datatype for DirSet
-[249] See failed tests in console
-[244] Phing pear install nor working
-[242] Log incomplete and skipped tests for phpunit3
-[241] FtpDeployTask reports FTP port as FTP server on error
-[239] ExecTask shows no output from running command
-[238] Bug in SummaryPHPUnit3ResultFormatter
-[237] Several PHP errors in XSLTProcessor
-[236] Do not show passwords for svn in log
-[234] typo in foreach task documentation
-[230] Fatal error: Call to undefined method PHPUnit2_Framework_TestResult::skippedCount() in /usr/local/lib/php/phing/tasks/ext/phpunit/PHPUnitTestRunner.php on line 120
-[227] simpletestformaterelement bad require
-[225] Missing Software Dependence in documentation
-[224] Path class duplicates absolute path on subsequent path includes
-[220] AnsiColorLogger colors cannot be changed by build.properties
-[219] Add new chown task
-[218] Clear support of PHPUnit versions
-[217] Memory limit in phpdoc
-[216] output messages about errors and warnings in JslLint task
-[215] boolean attributes of task PhpCodeSniffer are wrong
-[214] PhpCodeSnifferTask should be able to output file
-[213] Error in documentation task related to copy task
-[211] XSLT does not handle multiple testcase nodes for the same test method
-[210] Reworked PhpDocumentorExternalTask
-[208] ReplaceRegexp problem with newline as replace string
-[207] PhpLintTask: optional use a different PHP interpreter
-[206] Installation guide out of date (phing fails to run)
-[205] AvailableTask::_checkResource ends up with an exception if resource isn't found.
-[203] ExecTask returnProperty
-[202] Add PHP_CodeSniffer task
-[201] "Improve Phing's ability to work as an ""embedded"" process"
-[200] Additional attribute for SvnUpdateTask
-[199] Invalid error message in delete task when deleting directory fails.
-[198] PDO SQL exec task unable to handle multi-line statements
-[197] phing delete task sometimes fails to delete file that could be deleted
-[195] SvnLastRevisionTask fails if Subversion is localized (Spanish)
-[194] haltonincomplete attribute for phpunit task
-[193] Manifest Task
-[192] Error when skip test
-[191] Akismet says content is spam
-[190] Add test name in printsummary in PHPUnit task
-[185] PHPUnit_MAIN_METHOD defined more than once
-[184] PlainPHPUnit3ResultFormatter filteres test in stack trace
-[183] Undefined variable in PhingTask.php
-[182] Undefined variable in SummaryPHPUnit3ResultFormatter
-[181] PhingCallTask should call setHaltOnFailure
-[179] Add documentation for TidyFilter
-[178] printsummary doens work in PHP Unit task
-[177] Only write ConfigurationExceptions to stdout
-[176] Cleanup installation documentation.
-[175] passing aarguments to phing
-[169] Spurious PHP Error from XSLT Filter
-[150] unable to include phpdocumentor.ini in PHPDoc-Task
-[15] FTP upload task
-
-Nov. 3, 2007 - Phing 2.3.0
-
-[174] Add differentiation for build loggers that require explicit streams to be set
-[173] Add 'value' alias to XSLTParam type.
-[172] broken phpunit2-frames.xsl
-[171] Allow results from selector to be loosely type matched to true/false
-[170] SvnLastRevisionTask cannot get SVN revision number on single file
-[168] XincludeFilter PHP Error
-[167] Add new formatter support for PDOSQLExecTask
-[166] Change CreoleTask to use <creole> tagname instead of <sql>
-[165] Add support for PHPUnit_Framework_TestSuite subclasses in fileset of test classes
-[164] Failed build results in empty log.xml
-[163] Add stripwhitespace filter
-[162] Add @pattern alias for @name in <fileset>
-[161] phing/etc directory missing (breaking PHPUnit)
-[157] Fatal error in PDOSQLExecTask when using filesets
-[155] <delete> fails when it encounters symlink pointing to non-writable file
-[154] Suggestion to add attribute to PDOSQLExecTask for fetch_style
-[153] sqlite select failure
-[152] result of PHP-Unit seems to be incorrect
-[151] add group-option to PHPUnit-Task
-[149] using TestSuites in fileset of PHPUnit-Task
-[148] remove dependency to PEAR in PHPUnit-Task
-[146] Illegal offset type PHP notice in CopyTask
-[143] Example for PhpDocumentor task has typographical errors and a wrong attribute.
-[142] SvnCheckout task only makes non-recursive checkouts.
-[141] Add 'recursive' attribute to svncheckout task.
-[136] Attribute os of ExecTask is not working
-[135] add source file attribute for code coverage xml report
-[133] Error in documenation: AppendTask
-[129] Typo in documentation
-[128] <pearpkg2> is missing in the doc completely
-[127] Error in documentation
-[126] Typo in documentation
-[122] PearPackage2Task Replacements don't seem to work
-[121] BUILD FAILED use JsLintTask
-[119] PhpDocumentorTask fails when trying to use parsePrivate attribute.
-[118] custom tasks have this->project == null
-[117] CoverageSetupTask and autoloaders
-[116] Test unit don't report notice or strict warnings
-[110] "Add ""errorproperty"" attribute to PhpLintTask"
-[107] SvnLastRevisionTask doesn't work with repositoryUrl
-[106] "document ""haltonfailure"" attribute for phplint task"
-[105] FileSystemUnix::normalize method: Improve handling
-[97] delete dir and mkdir are incompatible
-[92] Inconsistent newlines in PHP files
-[91] Improve detection for PHPUnit3
-[83] "XmlLogger improperly handling ""non-traditional"" buildfile execution paths"
-[82] Error when use markTestIncomplete in test
-[79] Allow escaped dots in classpaths
-[78] (SVN doc) ${phing.version} and ${php.version} are different!
-[77] taskdef doesn't support fileset
-[76] Overhaul PhpDocumentor task
-[75] files excluded by fileset end up in .tgz but not .zip
-[74] Phing commandline args don't support quoting / spaces
-[73] Semantical error in PhingFile::getParent()
-[72] "Remove use of getProperty(""line.separator"") in favor of PHP_EOL"
-[71] "Add ""-p"" alias for project help"
-[70] Create Project class constants for log levels (replacing PROJECT_MSG_*)
-[69] mkdir and delete tasks don't work properly together
-[68] Xinclude filter
-[67] Add PDO SQL execution task
-[66] Incorrectly set PHP_CLASSPATH in phing.bat
-[65] Convert all loggers/listeners to use streams
-[64] Build listeners currently not working
-[63] Configured -logger can get overridden
-[62] phing.buildfile.dirname built-in property
-[58] Path::listPaths() broken for DirSet objects.
-[57] FileList.getListFile method references undefined variable
-[56] TaskHandler passing incorrect param to ProjectConfigurator->configureId()
-[53] _makeCircularException seems to have an infinite loop
-[52] \<match>-syntax does not work correctly with preg_*()
-[51] Cannot get phing to work with PHPUnit 3
-[48] Supported PHPUnit2_Framework_TestSuite and PHPUnit2_Extensions_TestSetup sub-classes for the PHPUnit2Task and CoverageReportTask tasks
-[33] Implement changes to use PHPUnit2 3.0 code coverage information
-[22] Description about integrating into CruiseControl
-
-Aug. 21, 2006 - Phing 2.2.0
-
- * Refactored parser to support many tags as children of base <project> tag (HL)
- * Added new IfTask (HL)
- * Added "spawn" attribute to ExecTask (only applies to *nix)
- * Several bugfixes & behavior imporvements to ExecTask (HL, MR, Ben Gollmer)
- * Bugfixes & refactoring for SVNLastRevisionTask (MR, Knut Urdalen)
- * Fixed reference copy bug (HL, Matthias Pigulla)
- * Added SvnExportTask (MR)
- * Added support for FileList in DeleteTask. (HL)
- * Added support for using setting Properties using CDATA value of <property> tag. (HL)
- * Added ReferenceExistsCondition (Matthias Pigulla)
- * Added Phing::log() static method & integrated PHP error handling with Phing logging (HL)
- * Added new task to run the ionCube Encoder (MR)
- * Added new HTML Tidy filter (HL)
- * Added PhpLintTask (Knut Urdalen)
- * Added XmlLintTask (Knut Urdalen)
- * Added ZendCodeAnalyzerTask (Knut Urdalen)
- * Removed CoverageFormatter class (MR)
- NOTE: This changes the usage of the collection of PHPUnit2 code coverage reports, see the
- updated documentation for the CoverageSetupTask
- * Added Unzip and Untar tasks contributed by Joakim Bodin
- * [#8, #49] Fixed bugs in TarTask related to including empty directories (HL)
- * [#44] Fixed bug related to copying empty dirs. (HL)
- * [#32] Fixed PHPUnit2 tasks to work with PHPUnit2-3.0.0 (MR)
- * [#31] Fixed bug with using PHPDocumentor 1.3.0RC6 (MR)
- * [#43] Fixed top-level (no target) IfTask behavior (Matthias Pigulla)
- * [#41] Removed some lingering E_STRICT errors, bugs with 5.1.x and PHP >= 5.0.5 (HL)
- * [#25] Fixed 'phing' script to also run on non-bash unix /bin/sh
- * Numerous documentation improvements by many members of the community (Thanks!)
-
-Sept. 18, 2005 - Phing 2.1.1
-
- * Added support for specifying 4-char mask (e.g. 1777) to ChmodTask. (Hans Lellelid)
- * Added .svn files to default excludes in DirectoryScanner.
- * Updated PHPUnit2 BatchTest to use class detection and non-dot-path loader. (Michiel Rook)
- * Added support for importing non dot-path files (Michiel Rook)
- * Add better error message when build fails with exception (Hans Lellelid)
- * Fixed runtime error when errors were encountered in AppendTask (Hans Lellelid)
-
-June 17, 2005 - Phing 2.1.0
-
- * Renamed File -> PhingFile to avoid namespace collisions (Michiel Rook)
- * Add ZipTask to create .zip files (Michiel Rook)
- * Removed redudant logging of build errors in Phing::start() (Michiel Rook)
- * Added tasks to execute PHPUnit2 testsuites and generate coverage and
- test reports. (Michiel Rook, Sebastian Bergmann)
- * Added SvnLastRevisionTask that stores the number of the last revision
- of a workingcopy in a property. (Michiel Rook)
- * Added MailTask that sends a message by mail() (Michiel Rook, contributed by Francois Harvey)
- * New IncludePathTask (<includepath/>) for adding values to PHP's include_path. (Hans Lellelid)
- * Fix to Phing::import() to *not* attempt to invoke __autoload() in class_exists() check. (Hans Lellelid)
- * Fixed AppendTask to allow use of only <fileset> as source. (Hans Lellelid)
- * Removed dependency on posix, by changing posix_uname to php_uname if needed. (Christian Stocker)
- * Fixed issues: (Michiel Rook)
- 11 ExtendedFileStream does not work on Windows
- 12 CoverageFormatter problem on Windows
- 13 DOMElement warnings in PHPUnit2 tasks
- 14 RuntimeException conflicts with SPL class
- 15 It is not possible to execute it with PHP5.1
- 16 Add Passthru option to ExecTask
- 17 Blank list on foreach task will loop once
- 19 Problem with <formatter outfile="...">
- 20 Phpunit2report missing XSL stylesheets
- 21 Warnings when output dir does not exist in PHPUnit2Report
-
-Oct 16, 2004 - Phing 2.0.0
- * Minor fixes to make Phing run under E_STRICT/PHP5.
- * Fix to global/system properties not being set in project. (Matt Zandstra)
- * Fixes to deprecated return by reference issues w/ PHP5.0.0
-
-June 8, 2004 - Phing 2.0.0b3
- * Brought up-to-date w/ PHP5.0.0RC3
- * Fixed several bugs in ForeachTask
- * Fixed runtime errors and incomplete inheriting of properties in PhingTask
- * Added <fileset> support to AppendTask
-
-March 19, 2004 - Phing 2.0.0b2
-
- * Brought up-to-date w/ PHP5.0.0RC1 (Hans)
- * Fixed bug in seting XSLT params using XSLTask (Hans, Jeff Moss)
- * Fixed PHPUnit test framework for PHPUnit-2.0.0alpha3
- * Added "Adhoc" tasks, which allow for defining PHP task or type classes within the
- buildfile. (Hans)
- * Added PhpEvalTask which allows property values to be set to simple PHP evaluations or
- the results of function/method calls. (Hans)
- * Added new phing.listener.PearLogger listener (logger). Also, the -logfile arg is now
- supported. (Hans)
- * Fixed broken ForeachTask task. (Manuel)
-
-Dec 24, 2003 - Phing 2.0.0b1
-
- * Added PEAR installation framework & ability to build Phing into PEAR package.
- * Added TarTask using PEAR Archive_Tar
- * Added PearPackageTask which creates a PEAR package.xml (using PEAR_PackageFileManager).
- * Added ResolvePathTask which converts relative paths into absolute paths.
- * Removed System class, due to namespace collision w/ PEAR.
- * Basic "working?" tests performed with all selectors.
- * Added selectors: TypeSelector, ContainsRegexpSelector
- * CreoleSQLExec task is now operational.
- * Corrected non-fatal bugs in: DeleteTask, ReflexiveTask
- * All core Phing classes now in PHP5 syntax (no "var" used, etc.)
- * CopyTask will not stop build execution if a file cannot be copied (will log and
- continue to next file).
- * New abstract MatchingTask task makes it easier to create your own tasks that use
- selectors.
- * Removed redundant calls in DirectoryScanner (<fileset> scanning now much faster).
- * Fixed fatal errors in File::equals()
-
-Nov 24, 2003 - Phing 2.0.0a2
-
- * Fixed ReplaceTokens filter to correctly replace matched tokens
- * Changed "project.basedir" property to be absolute path of basedir
- * Made IntrospectionHelper more tollerant of add*() and addConfigured*() signatures
- * New CvsTask and CvsPassTask for working with CVS repositories
- * New TranslateGettext filter substitutes _("hello!") with "hola!" / "bonjour!" / etc.
- * More consistent use of classhints to enable auto-casting by IntrospectionHelper
- * Fixed infinite loop bug in FileUtils::normalize() for paths containing "/./"
- * Fixed bug in CopyFile/fileset that caused termination of copy operation on encounter
- of unreadable file
-
-Nov 6, 20003 - Phing 2.0.0a1
-
- * First release of Phing 2, an extensive rewrite and upgrade.
- * Refactored much of codebase, using new PHP5 features (e.g. Interfaces, Exceptions!)
- * Many, many, many bugfixes to existing functionality
- * Restructuring for more intuitive directory layout, change the parser class names.
- * Introduction of new tasks: AppendTask, ReflexiveTask, ExitTask, Input, PropertyPrompt
- * Introduction of new types: Path, FileList, DirSet, selectors, conditions
- * Introduction of new filters: ReplaceRegexp
- * Introduction of new logger: AnsiColorLogger
- * Many features from ANT 1.5 added to existing Tasks/Types
- * New "Register Slot" functionality allows for tracking "inner" dynamic variables.
-
-May 15 2003 - Phing 1.0-rc2
-
- * Many bug fixes
- * Several new system tasks introduced
-
-March 06 2003 - Phing 1.0-rc1
- * Release candidate 1
-
-October 15 2002 - Phing 1.0-pre1
- * Initial pre-release
-
---$Id$
View
64 trunk/CREDITS
@@ -1,64 +0,0 @@
- _________________________
- P H I N G
-
- Lead Developers
- ---------------
-
- Hans Lellelid <hans@xmpl.org>
- Michiel Rook <mrook@php.net>
-
- New PHP5 PHING/2 Development
- ----------------------------
-
- Sebastian Bergmann <sb@sebastian-bergmann.de>
- Joakim Bodin <joakim.bodin+phing@gmail.com>
- Johan Van den Brande <johan@vandenbrande.com>
- Bryan Davis <bender@casadebender.com>
- Andrew Eddie <andrew.eddie@jamboworks.com>
- Markus Fischer <markus@fischer.name>
- David Giffin <david@giffin.org>
- Ryan Grove <ryan@wonko.com>
- Frank Kleine <mikey@stubbles.net>
- George Miroshnikov <laggy.luke@gmail.com>
- David Persson <davidpersson at qeweurope dot org>
- Stefan Priebsch <stefan.priebsch@e-novative.de>
- Jorrit Schippers <jorrit at ncode dot nl>
- Alexey Shockov <alexey@shockov.com>
- Dirk Thomas <dirk.thomas@4wdmedia.de>
- Knut Urdalen <knut.urdalen@gmail.com>
- Mike Wittje <mw@mike.wittje.de>
-
- If you've done work on phing and you are not listed here, please feel free
- to add yourself.
-
- Original PHING/1 Development
- -----------------------------
-
- Andreas Aderhold <andi@binarycloud.com>
- Alex Black <enigma@turingstudio.com>
- Albert Lash <alash@plateauinnovation.com>
- Charlie Killian <charlie@tizac.com>
- Manuel Holtgrewe <grin@gmx.net>
- Andrzej Nowodworski <a.nowodworski@learn.pl>
- Jason Hines <jason@greenhell.com>
- Jesse Estevez <jesseestevez@earthlink.net>
- Andris Spruds <Andris.Spruds@stud.lba.lv>
- Ronald TAO <ronaldtao@hotmail.com>
- Yannick Lecaillez <yl@seasonfive.com>
- Hans Lellelid <hans@xmpl.org>
-
- Other libraries/contributions
- ------------------------------
-
- Apache ANT Project
- License: Apache 1.1
- Phing is a port of the Apache ANT project.
- http://ant.apache.org/
-
- TAR Manager Class
- License: LGPL
- The Tar archive abstraction class
- (c) Josh Barger <joshb@npt.com>
- http://phpclasses.upperdesign.com/browse.html/package/529.html
-
- --$Id$
View
165 trunk/LICENSE
@@ -1,165 +0,0 @@
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-
- This version of the GNU Lesser General Public License incorporates
-the terms and conditions of version 3 of the GNU General Public
-License, supplemented by the additional permissions listed below.
-
- 0. Additional Definitions.
-
- As used herein, "this License" refers to version 3 of the GNU Lesser
-General Public License, and the "GNU GPL" refers to version 3 of the GNU
-General Public License.
-
- "The Library" refers to a covered work governed by this License,
-other than an Application or a Combined Work as defined below.
-
- An "Application" is any work that makes use of an interface provided
-by the Library, but which is not otherwise based on the Library.
-Defining a subclass of a class defined by the Library is deemed a mode
-of using an interface provided by the Library.
-
- A "Combined Work" is a work produced by combining or linking an
-Application with the Library. The particular version of the Library
-with which the Combined Work was made is also called the "Linked
-Version".
-
- The "Minimal Corresponding Source" for a Combined Work means the
-Corresponding Source for the Combined Work, excluding any source code
-for portions of the Combined Work that, considered in isolation, are
-based on the Application, and not on the Linked Version.
-
- The "Corresponding Application Code" for a Combined Work means the
-object code and/or source code for the Application, including any data
-and utility programs needed for reproducing the Combined Work from the
-Application, but excluding the System Libraries of the Combined Work.
-
- 1. Exception to Section 3 of the GNU GPL.
-
- You may convey a covered work under sections 3 and 4 of this License
-without being bound by section 3 of the GNU GPL.
-
- 2. Conveying Modified Versions.
-
- If you modify a copy of the Library, and, in your modifications, a
-facility refers to a function or data to be supplied by an Application
-that uses the facility (other than as an argument passed when the
-facility is invoked), then you may convey a copy of the modified
-version:
-
- a) under this License, provided that you make a good faith effort to
- ensure that, in the event an Application does not supply the
- function or data, the facility still operates, and performs
- whatever part of its purpose remains meaningful, or
-
- b) under the GNU GPL, with none of the additional permissions of
- this License applicable to that copy.
-
- 3. Object Code Incorporating Material from Library Header Files.
-
- The object code form of an Application may incorporate material from
-a header file that is part of the Library. You may convey such object
-code under terms of your choice, provided that, if the incorporated
-material is not limited to numerical parameters, data structure
-layouts and accessors, or small macros, inline functions and templates
-(ten or fewer lines in length), you do both of the following:
-
- a) Give prominent notice with each copy of the object code that the
- Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the object code with a copy of the GNU GPL and this license
- document.
-
- 4. Combined Works.
-
- You may convey a Combined Work under terms of your choice that,
-taken together, effectively do not restrict modification of the
-portions of the Library contained in the Combined Work and reverse
-engineering for debugging such modifications, if you also do each of
-the following:
-
- a) Give prominent notice with each copy of the Combined Work that
- the Library is used in it and that the Library and its use are
- covered by this License.
-
- b) Accompany the Combined Work with a copy of the GNU GPL and this license
- document.
-
- c) For a Combined Work that displays copyright notices during
- execution, include the copyright notice for the Library among
- these notices, as well as a reference directing the user to the
- copies of the GNU GPL and this license document.
-
- d) Do one of the following:
-
- 0) Convey the Minimal Corresponding Source under the terms of this
- License, and the Corresponding Application Code in a form
- suitable for, and under terms that permit, the user to
- recombine or relink the Application with a modified version of
- the Linked Version to produce a modified Combined Work, in the
- manner specified by section 6 of the GNU GPL for conveying
- Corresponding Source.
-
- 1) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (a) uses at run time
- a copy of the Library already present on the user's computer
- system, and (b) will operate properly with a modified version
- of the Library that is interface-compatible with the Linked
- Version.
-
- e) Provide Installation Information, but only if you would otherwise
- be required to provide such information under section 6 of the
- GNU GPL, and only to the extent that such information is
- necessary to install and execute a modified version of the
- Combined Work produced by recombining or relinking the
- Application with a modified version of the Linked Version. (If
- you use option 4d0, the Installation Information must accompany
- the Minimal Corresponding Source and Corresponding Application
- Code. If you use option 4d1, you must provide the Installation
- Information in the manner specified by section 6 of the GNU GPL
- for conveying Corresponding Source.)
-
- 5. Combined Libraries.
-
- You may place library facilities that are a work based on the
-Library side by side in a single library together with other library
-facilities that are not Applications and are not covered by this
-License, and convey such a combined library under terms of your
-choice, if you do both of the following:
-
- a) Accompany the combined library with a copy of the same work based
- on the Library, uncombined with any other library facilities,
- conveyed under the terms of this License.
-
- b) Give prominent notice with the combined library that part of it
- is a work based on the Library, and explaining where to find the
- accompanying uncombined form of the same work.
-
- 6. Revised Versions of the GNU Lesser General Public License.
-
- The Free Software Foundation may publish revised and/or new versions
-of the GNU Lesser General Public License from time to time. Such new
-versions will be similar in spirit to the present version, but may
-differ in detail to address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Library as you received it specifies that a certain numbered version
-of the GNU Lesser General Public License "or any later version"
-applies to it, you have the option of following the terms and
-conditions either of that published version or of any later version
-published by the Free Software Foundation. If the Library as you
-received it does not specify a version number of the GNU Lesser
-General Public License, you may choose any version of the GNU Lesser
-General Public License ever published by the Free Software Foundation.
-
- If the Library as you received it specifies that a proxy can decide
-whether future versions of the GNU Lesser General Public License shall
-apply, that proxy's public statement of acceptance of any version is
-permanent authorization for you to choose that version for the
-Library.
View
78 trunk/README
@@ -1,78 +0,0 @@
- _________________________
- P H I N G
-
-
-
- What is it?
- -----------
-
- Phing is a PHP based build tool. In theory it is kind of like "make"
- without makes drawbacks and with the full portability and performance
- of PHP. (PH)pmake (I)s (N)ot (G)numake
-
- Why?
- ----
-
- Why another build tool when there is already make, gnumake, nmake, jam, ant,
- and others? Because all those tools have limitations that the binarycloud
- development team could not live with when developing software across
- different platforms. Make-like tools are inherently shell-based: they
- evaluate a set of dependencies, then execute commands not unlike what you
- would issue on a shell.
-
- This means that you can easily extend these tools by using or writing any
- program for the OS that you are working on; however, this also means that
- you limit yourself to the OS, or at least the OS type, such as Unix, that
- you are working on.
-
- Makefiles are inherently evil as well. Anybody who has worked on them for
- any time has run into the dreaded tab problem. "Is my command not executing
- because I have a space in front of my tab?!!". Tools like Jam took care of
- this to a great degree, but still have yet another format to use and
- remember. Of course there is the Java based build tool ant, that is very
- good approach to what now Phing is. But still based on Java you have to have
- at least a running JRE installation on your plattfrom.
- Great for Java projects but we thought this is very consistent way to build
- a PHP based project. Additionally ant does not support a autoconf tool that
- writes out proper buildfiles based on some simple rules prior defined in a
- XML Configuration file.
-
- Phing is different. Instead of a model where it is extended with shell-based
- commands, Phing is extended using PHP classes. Instead of writing shell
- commands, the configuration files are XML-based, calling a target tree where
- various tasks get executed. Each task is run by an object that implements
- a particular Task action.
-
- Of course, this removes some of the expressive power that is inherent in
- being able to construct a shell command such as
- % `find . -name foo -exec rm {}`
- but it gives you the ability to be cross-platform - to work anywhere and
- everywhere. And if you really need to execute a shell command, Phing has an <exec>
- task that allows different commands to be executed based on the operating
- system it is executing on.
-
- The Latest Version
- ------------------
-
- Details of the latest version can be found on the Phing homepage
- <http://phing.info/>.
-
- Documentation
- -------------
-
- Documentation is available in XHTML format in the docs/ directory. In particular,
- open the docs/phing_guide/book/index.html in a frames-compatible browser to see the
- phing user guide.
-
- For online documentation, you can also visit the Phing website: http://phing.info/
-
- Licensing
- ---------
-
- This software is licensed under the terms you may find in the file
- named "LICENSE" in this directory.
-
- Thanks for using PHING.
-
-
- --$Id$
View
56 trunk/UPGRADE
@@ -1,56 +0,0 @@
- _________________________
- P H I N G
-
-
-
- Upgrading to 2.4.0
- ------------------
-
- This release of Phing contains numerous significant enhancements over
- previous versions, such as new tasks (SSH, SCP, JsMin, SVN and many
- more), documentation fixes and various bug fixes.
-
- There were also some changes that might break backwards compatibility,
- or change the behavior of Phing in such a way that requires changes
- to your build file(s).
-
- Backwards compatibility
- -----------------------
-
- This release drops or introduces functionality, which may have
- impact on your build process and require changes to your build files:
-
- * The way the "basedir" attribute (part of the "project" element in
- a build file) has changed. Phing now uses the current directory
- (getcwd()) to resolve relative base directories (such as ".").
- When the attribute is not present, the parent directory of the
- build file is used instead.
-
- * PHPUnit2 compatibility is dropped, Phing now requires at least
- PHPUnit 3.4 to run tests
-
- * The way Phing treats symbolic links was changed. Phing now considers
- symbolic links to be files, regardless of whether they point to an
- existing file or directory. Consequently, directory operations on
- symbolic links will fail.
-
- * By default, Phing no longer automatically de-references symbolic
- links. In other words, the CopyTask will now copy symbolic links
- "as is", not duplicate the contents as with previous versions of Phing.
-
- To emulate the old behavior, the <fileset> element now accepts the
- boolean argument 'expandsymboliclinks'.
-
- PEAR package
- ------------
-
- This release splits the PEAR package in two packages, the existing
- 'phing' and the new (and optional) 'phingdocs'. The latter package
- is listed as an optional dependency in the 'phing' package, and allows
- installation on deployment/production machines without the additional
- footprint of the documentation.
-
- More information
- ----------------
-
- For more information, please refer to the 'CHANGELOG' file.
View
22 trunk/bin/pear-phing
@@ -1,22 +0,0 @@
-#!/bin/sh
-
-# ------------------------------------------------------------------------
-# The phing build script for Unix based systems
-# $Id$
-# ------------------------------------------------------------------------
-
-# Change this to reflect your environment if the default value doesn't work
-PHP_COMMAND="@PHP-BIN@"
-export PHP_COMMAND
-
-# -------------------------------------------------------------------------
-# Do not change anything below this line unless you know what you're doing.
-# -------------------------------------------------------------------------
-
-if (test -z "$PHP_COMMAND") ; then
- echo "WARNING: PHP_COMMAND environment not set. (Assuming php on PATH)"
- PHP_COMMAND=php
- export PHP_COMMAND
-fi
-
-$PHP_COMMAND -d html_errors=off -qC @PEAR-DIR@/phing.php -logger phing.listener.AnsiColorLogger "$@"
View
44 trunk/bin/pear-phing.bat
@@ -1,44 +0,0 @@
-@ECHO OFF
-
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-:: The phing build script for Windows based systems
-:: $Id$
-:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
-
-::----------------------------------------------------------------------------------
-:: Please set following to PHP's CLI
-:: NOTE: In PHP 4.2.x the PHP-CLI used to be named php-cli.exe.
-:: PHP 4.3.x names it php.exe but stores it in a subdir called /cli/php.exe
-:: E.g. for PHP 4.2 C:\phpdev\php-4.2-Win32\php-cli.exe
-:: for PHP 4.3 C:\phpdev\php-4.3-Win32\cli\php.exe
-
- SET phpCli=@PHP-BIN@
-
-::---------------------------------------------------------------------------------
-::---------------------------------------------------------------------------------
-:: Do not modify below this line!! (Unless you know what your doing :)
-::---------------------------------------------------------------------------------
-::---------------------------------------------------------------------------------
-
-:: Check existence of php.exe
-IF EXIST "%phpCli%" (
- SET doNothing=
-) ELSE GOTO :NoPhpCli
-
-"%phpCli%" -d html_errors=off -qC "@PEAR-DIR@\phing.php" %*
-GOTO :EOF
-
-::
-:: php.exe not found error
-GOTO :PAUSE_END
-:NoPhpCli
-ECHO ** ERROR *****************************************************************
-ECHO * Sorry, can't find the php.exe file.
-ECHO * You must edit this file to point to your php.exe (CLI version!)
-ECHO * [Currently set to %phpCli%]
-ECHO **************************************************************************
-
-GOTO :PAUSE_END
-
-:PAUSE_END
-PAUSE
View
87 trunk/bin/phing
@@ -1,87 +0,0 @@
-#!/bin/sh
-# Shell wrapper for Phing
-# $Id$
-#
-# This script will do the following:
-# - check for PHP_COMMAND env, if found, use it.
-# - if not found assume php is on the path
-# - check for PHING_HOME evn, if found use it
-# - if not look for it
-# - check for PHP_CLASSPATH, if found use it
-# - if not found set it using PHING_HOME/classes
-
-
-# Put all args in quotes
-phing_exec_debug=false
-phing_exec_args=
-for arg in "$@" ; do
- phing_exec_args="$phing_exec_args \"$arg\""
-done
-
-if [ -z "$PHING_HOME" ] ; then
-
- # echo "WARNING: PHING_HOME environment not set. Attempting to guess."
-
- # try to find PHING
- if [ -d /opt/phing ] ; then
- PHING_HOME=/opt/phing
- fi
-
- if [ -d "${HOME}/opt/phing" ] ; then
- PHING_HOME="${HOME}/opt/phing"
- fi
-
- if [ -d "/usr/local/phing" ] ; then
- PHING_HOME="/usr/local/phing"
- fi
-
- if [ -d "${HOME}/usr/phing" ] ; then
- PHING_HOME="${HOME}/usr/phing"
- fi
-
- ## resolve links - $0 may be a link to phing's home
- PRG="$0"
- progname=`basename "$0"`
- saveddir=`pwd`
-
- # need this for relative symlinks
- dirname_prg=`dirname "$PRG"`
- cd "$dirname_prg"
-
- while [ -h "$PRG" ] ; do
- ls=`ls -ld "$PRG"`
- link=`expr "$ls" : '.*-> \(.*\)$'`
- if expr "$link" : '/.*' > /dev/null; then
- PRG="$link"
- else
- PRG=`dirname "$PRG"`"/$link"
- fi
- done
-
- PHING_HOME=`dirname "$PRG"`/..
-
- cd "$saveddir"
-
- # make it fully qualified
- PHING_HOME=`cd "$PHING_HOME" && pwd`
-
- # make it available in PHP via getenv("PHING_HOME")
- export PHING_HOME
-fi
-
-if (test -z "$PHP_COMMAND") ; then
- # echo "WARNING: PHP_COMMAND environment not set. (Assuming php on PATH)"
- PHP_COMMAND=php
- export PHP_COMMAND
-fi
-
-if (test -z "$PHP_CLASSPATH") ; then
- PHP_CLASSPATH=$PHING_HOME/classes
- export PHP_CLASSPATH
-fi
-
-phing_exec_cmd="exec $PHP_COMMAND -d html_errors=off -qC \"$PHING_HOME/bin/phing.php\" -logger phing.listener.AnsiColorLogger $phing_exec_args"
-if $phing_exec_debug ; then
- echo $phing_exec_cmd
-fi
-eval $phing_exec_cmd
View
58 trunk/bin/phing.bat
@@ -1,58 +0,0 @@
-@echo off
-
-rem *********************************************************************
-rem ** the phing build script for Windows based systems
-rem ** $Id$
-rem *********************************************************************
-
-rem This script will do the following:
-rem - check for PHP_COMMAND env, if found, use it.
-rem - if not found detect php, if found use it, otherwise err and terminate
-rem - check for PHING_HOME evn, if found use it
-rem - if not found error and leave
-rem - check for PHP_CLASSPATH, if found use it
-rem - if not found set it using PHING_HOME/classes
-
-if "%OS%"=="Windows_NT" @setlocal
-
-rem %~dp0 is expanded pathname of the current script under NT
-set DEFAULT_PHING_HOME=%~dp0..
-
-goto init
-goto cleanup
-
-:init
-
-if "%PHING_HOME%" == "" set PHING_HOME=%DEFAULT_PHING_HOME%
-set DEFAULT_PHING_HOME=
-
-if "%PHP_COMMAND%" == "" goto no_phpcommand
-if "%PHP_CLASSPATH%" == "" goto set_classpath
-
-goto run
-goto cleanup
-
-:run
-%PHP_COMMAND% -d html_errors=off -qC "%PHING_HOME%\bin\phing.php" %1 %2 %3 %4 %5 %6 %7 %8 %9
-goto cleanup
-
-:no_phpcommand
-REM echo ------------------------------------------------------------------------
-REM echo WARNING: Set environment var PHP_COMMAND to the location of your php.exe
-REM echo executable (e.g. C:\PHP\php.exe). (Assuming php.exe on Path)
-REM echo ------------------------------------------------------------------------
-set PHP_COMMAND=php.exe
-goto init
-
-:err_home
-echo ERROR: Environment var PHING_HOME not set. Please point this
-echo variable to your local phing installation!
-goto cleanup
-
-:set_classpath
-set PHP_CLASSPATH=%PHING_HOME%\classes
-goto init
-
-:cleanup
-if "%OS%"=="Windows_NT" @endlocal
-REM pause
View
56 trunk/bin/phing.php
@@ -1,56 +0,0 @@
-<?php
-
-/**
- * This is the Phing command line launcher. It starts up the system evironment
- * tests for all important paths and properties and kicks of the main command-
- * line entry point of phing located in phing.Phing
- * @version $Revision$
- */
-
-// Set any INI options for PHP
-// ---------------------------
-
-/* set classpath */
-if (getenv('PHP_CLASSPATH')) {
- if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', getenv('PHP_CLASSPATH') . PATH_SEPARATOR . get_include_path()); }
- ini_set('include_path', PHP_CLASSPATH);
-} else {
- if (!defined('PHP_CLASSPATH')) { define('PHP_CLASSPATH', get_include_path()); }
-}
-
-require_once 'phing/Phing.php';
-
-try {
-
- /* Setup Phing environment */
- Phing::startup();
-
- // Set phing.home property to the value from environment
- // (this may be NULL, but that's not a big problem.)
- Phing::setProperty('phing.home', getenv('PHING_HOME'));
-
- // Grab and clean up the CLI arguments
- $args = isset($argv) ? $argv : $_SERVER['argv']; // $_SERVER['argv'] seems to not work (sometimes?) when argv is registered
- array_shift($args); // 1st arg is script name, so drop it
-
- // Invoke the commandline entry point
- Phing::fire($args);
-
- // Invoke any shutdown routines.
- Phing::shutdown();
-
-} catch (ConfigurationException $x) {
-
- Phing::printMessage($x);
- exit(-1); // This was convention previously for configuration errors.
-
-} catch (Exception $x) {
-
- // Assume the message was already printed as part of the build and
- // exit with non-0 error code.
-
- exit(1);
-
-}
-
-?>
View
306 trunk/build/BuildPhingPEARPackageTask.php
@@ -1,306 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/tasks/system/MatchingTask.php';
-include_once 'phing/types/FileSet.php';
-include_once 'phing/tasks/ext/pearpackage/Fileset.php';
-
-/**
- *
- * @author Hans Lellelid <hans@xmpl.org>
- * @package phing.tasks.ext
- * @version $Revision$
- */
-class BuildPhingPEARPackageTask extends MatchingTask {
-
- /** Base directory for reading files. */
- private $dir;
-
- private $version;
- private $state = 'stable';
- private $notes;
-
- private $mode = 'source';
-
- private $filesets = array();
-
- /** Package file */
- private $packageFile;
-
- public function init() {
- include_once 'PEAR/PackageFileManager2.php';
- if (!class_exists('PEAR_PackageFileManager2')) {
- throw new BuildException("You must have installed PEAR_PackageFileManager2 (PEAR_PackageFileManager >= 1.6.0) in order to create a PEAR package.xml file.");
- }
- }
-
- private function setOptions($pkg){
-
- $options['baseinstalldir'] = 'phing';
- $options['packagedirectory'] = $this->dir->getAbsolutePath();
-
- if (empty($this->filesets)) {
- throw new BuildException("You must use a <fileset> tag to specify the files to include in the package.xml");
- }
-
- $options['filelistgenerator'] = 'Fileset';
-
- // Some PHING-specific options needed by our Fileset reader
- $options['phing_project'] = $this->getProject();
- $options['phing_filesets'] = $this->filesets;
-
- if ($this->packageFile !== null) {
- // create one w/ full path
- $f = new PhingFile($this->packageFile->getAbsolutePath());
- $options['packagefile'] = $f->getName();
- // must end in trailing slash
- $options['outputdirectory'] = $f->getParent() . DIRECTORY_SEPARATOR;
- $this->log("Creating package file: " . $f->getPath(), Project::MSG_INFO);
- } else {
- $this->log("Creating [default] package.xml file in base directory.", Project::MSG_INFO);
- }
-
- if ($this->mode == "docs")
- {
- $options['dir_roles'] = array( 'phing_guide' => 'doc',
- 'api' => 'doc',
- 'example' => 'doc');
- }
- else
- {
- // add install exceptions
- $options['installexceptions'] = array( 'bin/phing.php' => '/',
- 'bin/pear-phing' => '/',
- 'bin/pear-phing.bat' => '/',
- );
-
- $options['dir_roles'] = array( 'etc' => 'data');
-
- $options['exceptions'] = array( 'bin/pear-phing.bat' => 'script',
- 'bin/pear-phing' => 'script',
- 'CREDITS' => 'doc',
- 'CHANGELOG' => 'doc',
- 'README' => 'doc',
- 'UPGRADE' => 'doc',
- 'TODO' => 'doc');
- }
-
- $pkg->setOptions($options);
-
- }
-
- /**
- * Main entry point.
- * @return void
- */
- public function main() {
-
- if ($this->dir === null) {
- throw new BuildException("You must specify the \"dir\" attribute for PEAR package task.");
- }
-
- if ($this->version === null) {
- throw new BuildException("You must specify the \"version\" attribute for PEAR package task.");
- }
-
- $package = new PEAR_PackageFileManager2();
-
- $this->setOptions($package);
-
- // the hard-coded stuff
- if ($this->mode == "docs")
- {
- $package->setPackage('phingdocs');
- $package->setSummary('PHP5 project build system based on Apache Ant (documentation)');
- }
- else
- {
- $package->setPackage('phing');
- $package->setSummary('PHP5 project build system based on Apache Ant');
- }
-
- $package->setDescription('PHing Is Not GNU make; it\'s a project build system based on Apache Ant.
-You can do anything with it that you could do with a traditional build system like GNU make, and its use of
-simple XML build files and extensible PHP "task" classes make it an easy-to-use and highly flexible build framework.
-Features include file transformations (e.g. token replacement, XSLT transformation, Smarty template transformations,
-etc.), file system operations, interactive build support, SQL execution, and much more.');
- $package->setChannel('pear.phing.info');
- $package->setPackageType('php');
-
- $package->setReleaseVersion($this->version);
- $package->setAPIVersion($this->version);
-
- $package->setReleaseStability($this->state);
- $package->setAPIStability($this->state);
-
- $package->setNotes($this->notes);
-
- $package->setLicense('LGPL', 'http://www.gnu.org/licenses/lgpl.html');
-
- // Add package maintainers
- $package->addMaintainer('lead', 'hans', 'Hans Lellelid', 'hans@xmpl.org');
- $package->addMaintainer('lead', 'mrook', 'Michiel Rook', 'mrook@php.net');
-
-
-
- // (wow ... this is a poor design ...)
- //
- // note that the order of the method calls below is creating
- // sub-"release" sections which have specific rules. This replaces
- // the platformexceptions system in the older version of PEAR's package.xml
- //
- // Programmatically, I feel the need to re-iterate that this API for PEAR_PackageFileManager
- // seems really wrong. Sub-sections should be encapsulated in objects instead of having
- // a "flat" API that does not represent the structure being created....
-
- if ($this->mode != "docs")
- {
- // creating a sub-section for 'windows'
- $package->addRelease();
- $package->setOSInstallCondition('windows');
- $package->addInstallAs('bin/phing.php', 'phing.php');
- $package->addInstallAs('bin/pear-phing.bat', 'phing.bat');
- $package->addIgnoreToRelease('bin/pear-phing');
-
- // creating a sub-section for non-windows
- $package->addRelease();
- $package->addInstallAs('bin/phing.php', 'phing.php');
- $package->addInstallAs('bin/pear-phing', 'phing');
- $package->addIgnoreToRelease('bin/pear-phing.bat');
- }
-
-
- // "core" dependencies
- $package->setPhpDep('5.2.0');
- $package->setPearinstallerDep('1.8.0');
-
- // "package" dependencies
- if ($this->mode != "docs")
- {
- $package->addPackageDepWithChannel( 'optional', 'phingdocs', 'pear.phing.info', $this->version);
- $package->addPackageDepWithChannel( 'optional', 'VersionControl_SVN', 'pear.php.net', '0.3.2');
- $package->addPackageDepWithChannel( 'optional', 'PHPUnit', 'pear.phpunit.de', '3.4.0');
- $package->addPackageDepWithChannel( 'optional', 'PhpDocumentor', 'pear.php.net', '1.4.0');
- $package->addPackageDepWithChannel( 'optional', 'Xdebug', 'pecl.php.net', '2.0.5');
- $package->addPackageDepWithChannel( 'optional', 'Archive_Tar', 'pear.php.net', '1.3.0');
- $package->addPackageDepWithChannel( 'optional', 'PEAR_PackageFileManager', 'pear.php.net', '1.5.2');
-
- // now add the replacements, chdir() to source directory
- // to allow addReplacement() to find the specified files
- $cwd = getcwd();
- chdir($this->dir->getAbsolutePath());
-
- $package->addReplacement('Phing.php', 'pear-config', '@DATA-DIR@', 'data_dir');
- $package->addReplacement('bin/pear-phing.bat', 'pear-config', '@PHP-BIN@', 'php_bin');
- $package->addReplacement('bin/pear-phing.bat', 'pear-config', '@BIN-DIR@', 'bin_dir');
- $package->addReplacement('bin/pear-phing.bat', 'pear-config', '@PEAR-DIR@', 'php_dir');
- $package->addReplacement('bin/pear-phing', 'pear-config', '@PHP-BIN@', 'php_bin');
- $package->addReplacement('bin/pear-phing', 'pear-config', '@BIN-DIR@', 'bin_dir');
- $package->addReplacement('bin/pear-phing', 'pear-config', '@PEAR-DIR@', 'php_dir');
-
- chdir($cwd);
- }
-
- $package->generateContents();
-
- $e = $package->writePackageFile();
-
- if (PEAR::isError($e)) {
- throw new BuildException("Unable to write package file.", new Exception($e->getMessage()));
- }
-
- }
-
- /**
- * Used by the PEAR_PackageFileManager_PhingFileSet lister.
- * @return array FileSet[]
- */
- public function getFileSets() {
- return $this->filesets;
- }
-
- // -------------------------------
- // Set properties from XML
- // -------------------------------
-
- /**
- * Nested creator, creates a FileSet for this task
- *
- * @return FileSet The created fileset object
- */
- function createFileSet() {
- $num = array_push($this->filesets, new FileSet());
- return $this->filesets[$num-1];
- }
-
- /**
- * Set the version we are building.
- * @param string $v
- * @return void
- */
- public function setVersion($v){
- $this->version = $v;
- }
-
- /**
- * Set the state we are building.
- * @param string $v
- * @return void
- */
- public function setState($v) {
- $this->state = $v;
- }
-
- /**
- * Sets release notes field.
- * @param string $v
- * @return void
- */
- public function setNotes($v) {
- $this->notes = $v;
- }
- /**
- * Sets "dir" property from XML.
- * @param PhingFile $f
- * @return void
- */
- public function setDir(PhingFile $f) {
- $this->dir = $f;
- }
-
- /**
- * Sets the file to use for generated package.xml
- */
- public function setDestFile(PhingFile $f) {
- $this->packageFile = $f;
- }
-
- /**
- * Sets mode property
- * @param string $v
- * @return void
- */
- public function setMode($v) {
- $this->mode = $v;
- }
-}
-
-
View
242 trunk/build/build.xml
@@ -1,242 +0,0 @@
-<?xml version="1.0"?>
-<!--
- This build file packages the phing files, builds a package.xml (version 2) for installation
- using PEAR and creates the TAR and TGZ files.
--->
-<project name="phing" basedir="." default="main">
-
- <property name="phingpkg.home" value=".."/>
- <property name="build.pear.dir" value="pear"/>
-
- <taskdef
- name="pear-package"
- classname="BuildPhingPEARPackageTask" classpath="."/>
-
- <fileset dir="${phingpkg.home}" id="all">
- <include name="**/**"/>
- <exclude name="bin/pear-phing"/>
- <exclude name="bin/pear-phing.bat"/>
- <exclude name="build/**"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}/classes/phing" id="classes">
- <include name="**"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}/docs" id="docs">
- <include name="api/docs/**"/>
- <include name="example/**"/>
- <include name="phing_guide/book/**"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}" id="etc">
- <include name="etc/**"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}" id="etc-no-version">
- <include name="etc/**"/>
- <exclude name="etc/VERSION.TXT"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}" id="scripts">
- <include name="bin/pear-*"/>
- <include name="bin/phing.php"/>
- </fileset>
-
- <fileset dir="${phingpkg.home}" id="misc">
- <include name="CHANGELOG"/>
- <include name="CREDITS"/>
- <include name="README"/>
- <include name="TODO"/>
- <include name="UPGRADE"/>
- <exclude name="INSTALL*"/>
- </fileset>
-
- <!--
- ==============================================
- Main entry point
- ==============================================
- -->
- <target name="main" if="version"
- depends="versioncheck,setproperties,clean,copy-files,create-package-xml,tar"/>
-
- <!--
- ===================================================================
- Retrieve version number from commandline if not set
- ===================================================================
- -->
- <target name="versioncheck" unless="version">
-
- <echo message="====================================================="/>
- <echo message="Version not specified. You must enter a version. In"/>
- <echo message="the future you can add this to build.properties or"/>
- <echo message="enter it on the command line: "/>
- <echo message=" "/>
- <echo message="-Dversion=2.0.0b1"/>
- <echo message="====================================================="/>
- <input propertyname="version" promptChar=":">Phing version for package</input>
-
- </target>
-
- <!--
- ==============================================
- Sets some default properties
- ==============================================
- -->
- <target name="setproperties">
-
- <property name="pkgname" value="phing-${version}"/>
- <property name="pkgname-docs" value="phingdocs-${version}" override="true"/>
- <property name="build.src.dir" value="${build.pear.dir}/phing/${pkgname}"/>
- <property name="build.docs.dir" value="${build.pear.dir}/phingdocs/${pkgname-docs}" override="true"/>
- <property name="build.full.dir" value="full/${pkgname}"/>
-
- <if>
- <and>
- <isset property="version"/>
- <contains string="${version}" substring="RC"/>
- </and>
- <then>
- <property name="notes">This is the latest beta release of Phing.</property>
- <property name="state" value="beta"/>
- </then>
- <else>
- <property name="notes">This is the latest stable release of Phing.</property>
- <property name="state" value="stable"/>
- </else>
- </if>
-
- <echo>Building Phing PEAR/full version ${version}</echo>
- <echo>Build notes: ${notes} (${state})</echo>
-
- </target>
-
- <!--
- ==============================================
- Copy the desired files into the build/ dir
- making sure to put them in the directory
- structure that will be needed for PEAR install
- ==============================================
- -->
- <target name="copy-files">
-
- <echo>-----------------------------</echo>
- <echo>| Creating directory layout |</echo>
- <echo>-----------------------------</echo>
-
- <copy todir="${build.full.dir}">
- <fileset refid="all"/>
- </copy>
-
- <copy todir="${build.src.dir}">
- <fileset refid="classes"/>
- <fileset refid="etc-no-version"/>
- <fileset refid="scripts"/>
- <fileset refid="misc"/>
- </copy>
-
- <copy todir="${build.docs.dir}">
- <fileset refid="docs"/>
- </copy>
-
- <echo append="false" file="${build.src.dir}/etc/VERSION.TXT">Phing ${version}</echo>
- <echo append="false" file="${build.full.dir}/etc/VERSION.TXT">Phing ${version}</echo>
-
- <chmod file="${build.src.dir}/bin/pear-phing" mode="755"/>
- <chmod file="${build.full.dir}/bin/phing" mode="755"/>
-
- </target>
-
- <!--
- ==============================================
- Create a PEAR package.xml which will guide the
- installation.
- ==============================================
- -->
- <target name="create-package-xml" depends="versioncheck" if="version">
-
- <echo>-----------------------------</echo>
- <echo>| Creating PEAR package.xml |</echo>
- <echo>-----------------------------</echo>
- <echo></echo>
- <echo>... (This step may take some time) ...</echo>
-
- <delete file="${tarfile}"/>
- <pear-package mode="source" dir="${build.src.dir}"
- destFile="${build.pear.dir}/phing/package.xml" version="${version}" state="${state}" notes="${notes}">
-
- <fileset refid="classes"/>
- <fileset refid="etc"/>
- <fileset refid="misc"/>
- <fileset refid="scripts"/>
-
- </pear-package>
-
- <pear-package mode="docs" dir="${build.docs.dir}"
- destFile="${build.pear.dir}/phingdocs/package.xml" version="${version}" state="${state}" notes="${notes}">
-
- <fileset refid="docs"/>
-
- </pear-package>
-
- </target>
-
- <!--
- ==============================================
- Create a tar.gz of the files, which will be
- installed by pear package manager.
- ==============================================
- -->
- <target name="tar">
-
- <echo>-----------------------------</echo>
- <echo>| Creating PEAR packages |</echo>
- <echo>-----------------------------</echo>
-
- <property name="tgzfile" value="${build.pear.dir}/${pkgname}.tgz"/>
- <delete file="${tgzfile}"/>
- <tar compression="gzip" destFile="${tgzfile}"
- basedir="${build.pear.dir}/phing" />
-
- <property name="tarfile" value="${build.pear.dir}/${pkgname}.tar"/>
- <delete file="${tarfile}"/>
- <tar compression="none" destFile="${tarfile}"
- basedir="${build.pear.dir}/phing" />
-
- <property name="tgzfile-docs" value="${build.pear.dir}/${pkgname-docs}.tgz"/>
- <delete file="${tgzfile-docs}"/>
- <tar compression="gzip" destFile="${tgzfile-docs}"
- basedir="${build.pear.dir}/phingdocs" />
-
- <property name="tarfile-docs" value="${build.pear.dir}/${pkgname-docs}.tar"/>
- <delete file="${tarfile-docs}"/>
- <tar compression="none" destFile="${tarfile-docs}"
- basedir="${build.pear.dir}/phingdocs" />
-
- <property name="tgzfile-full" value="full/${pkgname}.tgz"/>
- <delete file="${tgzfile-full}"/>
- <tar compression="gzip" destFile="${tgzfile-full}"
- basedir="full/${pkgname}" />
-
- <property name="zipfile-full" value="full/${pkgname}.zip"/>
- <delete file="${zipfile-full}"/>
- <zip destFile="${zipfile-full}" basedir="full/${pkgname}" />
- </target>
-
- <!--
- ==============================================
- Clean up build files.
- ==============================================
- -->
- <target name="clean">
-
- <echo>-----------------------------</echo>
- <echo>| Deleting build directory |</echo>
- <echo>-----------------------------</echo>
-
- <delete dir="${build.pear.dir}"/>
- <delete dir="full"/>
-
- </target>
-
-</project>
View
198 trunk/classes/phing/BuildEvent.php
@@ -1,198 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/system/lang/EventObject.php';
-
-/**
- * Encapsulates a build specific event.
- *
- * <p>We have three sources of events all handled by this class:
- *
- * <ul>
- * <li>Project level events</li>
- * <li>Target level events</li>
- * <li>Task level events</li>
- * </ul>
- *
- * <p> Events are all fired from the project class by creating an event object
- * using this class and passing it to the listeners.
- *
- * @author Andreas Aderhold <andi@binarycloud.com>
- * @author Hans Lellelid <hans@xmpl.org>
- * @version $Revision$
- * @package phing
- */
-class BuildEvent extends EventObject {
-
- /**
- * A reference to the project
- * @var Project
- */
- protected $project;
-
- /**
- * A reference to the target
- * @var Target
- */
- protected $target;
-
- /**
- * A reference to the task
- *
- * @var Task
- */
- protected $task;
-
- /**
- * The message of this event, if the event is a message
- * @var string
- */
- protected $message = null;
-
- /**
- * The priority of the message
- *
- * @var string
- * @see $message
- */
- protected $priority = Project::MSG_VERBOSE;
-
- /**
- * The execption that caused the event, if any
- *
- * @var object
- */
- protected $exception = null;
-
- /**
- * Construct a BuildEvent for a project, task or target source event
- *
- * @param object project the project that emitted the event.
- */
- public function __construct($source) {
- parent::__construct($source);
- if ($source instanceof Project) {
- $this->project = $source;
- $this->target = null;
- $this->task = null;
- } elseif ($source instanceof Target) {
- $this->project = $source->getProject();
- $this->target = $source;
- $this->task = null;
- } elseif ($source instanceof Task) {
- $this->project = $source->getProject();
- $this->target = $source->getOwningTarget();
- $this->task = $source;
- } else {
- throw new Exception("Can not construct BuildEvent, unknown source given.");
- }
- }
-
- /**
- * Sets the message with details and the message priority for this event.
- *
- * @param string The string message of the event
- * @param integer The priority this message should have
- */
- public function setMessage($message, $priority) {
- $this->message = (string) $message;
- $this->priority = (int) $priority;
- }
-
- /**
- * Set the exception that was the cause of this event.
- *
- * @param Exception The exception that caused the event
- */
- public function setException($exception) {
- $this->exception = $exception;
- }
-
- /**
- * Returns the project instance that fired this event.
- *
- * The reference to the project instance is set by the constructor if this
- * event was fired from the project class.
- *
- * @return Project The project instance that fired this event
- */
- public function getProject() {
- return $this->project;
- }
-
- /**
- * Returns the target instance that fired this event.
- *
- * The reference to the target instance is set by the constructor if this
- * event was fired from the target class.
- *
- * @return Target The target that fired this event
- */
- public function getTarget() {
- return $this->target;
- }
-
- /**
- * Returns the target instance that fired this event.
- *
- * The reference to the task instance is set by the constructor if this
- * event was fired within a task.
- *
- * @return Task The task that fired this event
- */
- public function getTask() {
- return $this->task;
- }
-
- /**
- * Returns the logging message. This field will only be set for
- * "messageLogged" events.
- *
- * @return string The log message
- */
- function getMessage() {
- return $this->message;
- }
-
- /**
- * Returns the priority of the logging message. This field will only
- * be set for "messageLogged" events.
- *
- * @return integer The message priority
- */
- function getPriority() {
- return $this->priority;
- }
-
- /**
- * Returns the exception that was thrown, if any.
- * This field will only be set for "taskFinished", "targetFinished", and
- * "buildFinished" events.
- *
- * @see BuildListener::taskFinished()
- * @see BuildListener::targetFinished()
- * @see BuildListener::buildFinished()
- * @return Exception
- */
- public function getException() {
- return $this->exception;
- }
-}
View
121 trunk/classes/phing/BuildException.php
@@ -1,121 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-/**
- * BuildException is for when things go wrong in a build execution.
- *
- * @author Andreas Aderhold <andi@binarycloud.com>
- * @version $Revision$
- * @package phing
- */
-class BuildException extends Exception {
-
- /**
- * Location in the xml file.
- * @var Location
- */
- protected $location;
-
- /**
- * The nested "cause" exception.
- * @var Exception
- */
- protected $cause;
-
- /**
- * Construct a BuildException.
- * Supported signatures:
- * throw new BuildException($causeExc);
- * throw new BuildException($msg);
- * throw new Buildexception($causeExc, $loc);
- * throw new BuildException($msg, $causeExc);
- * throw new BuildException($msg, $loc);
- * throw new BuildException($msg, $causeExc, $loc);
- */
- function __construct($p1, $p2 = null, $p3 = null) {
-
- $cause = null;
- $loc = null;
- $msg = "";
-
- if ($p3 !== null) {
- $cause = $p2;
- $loc = $p3;
- $msg = $p1;
- } elseif ($p2 !== null) {
- if ($p2 instanceof Exception) {
- $cause = $p2;
- $msg = $p1;
- } elseif ($p2 instanceof Location) {
- $loc = $p2;
- if ($p1 instanceof Exception) {
- $cause = $p1;
- } else {
- $msg = $p1;
- }
- }
- } elseif ($p1 instanceof Exception) {
- $cause = $p1;
- } else {
- $msg = $p1;
- }
-
- parent::__construct($msg);
-
- if ($cause !== null) {
- $this->cause = $cause;
- $this->message .= " [wrapped: " . $cause->getMessage() ."]";
- }
-
- if ($loc !== null) {
- $this->setLocation($loc);
- }
- }
-
- /**
- * Gets the cause exception.
- *
- * @return Exception
- */
- public function getCause() {
- return $this->cause;
- }
-
- /**
- * Gets the location of error in XML file.
- *
- * @return Location
- */
- public function getLocation() {
- return $this->location;
- }
-
- /**
- * Sets the location of error in XML file.
- *
- * @param Locaiton $loc
- */
- public function setLocation(Location $loc) {
- $this->location = $loc;
- $this->message = $loc->toString() . ': ' . $this->message;
- }
-
-}
View
91 trunk/classes/phing/BuildListener.php
@@ -1,91 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-/**
- * Interface for build listeners.
- *
- * Classes that implement a listener must extend this class and (faux)implement
- * all methods that are decleard as dummies below.
- *
- * @author Andreas Aderhold <andi@binarycloud.com>
- * @author Hans Lellelid <hans@xmpl.org>
- * @version $Revision$
- * @see BuildEvent
- * @see Project::addBuildListener()
- * @package phing
- */
-interface BuildListener {
-
- /**
- * Fired before any targets are started.
- *
- * @param BuildEvent The BuildEvent
- */
- function buildStarted(BuildEvent $event);
-
- /**
- * Fired after the last target has finished.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent::getException()
- */
- function buildFinished(BuildEvent $event);
-
- /**
- * Fired when a target is started.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent::getTarget()
- */
- function targetStarted(BuildEvent $event);
-
- /**
- * Fired when a target has finished.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent#getException()
- */
- function targetFinished(BuildEvent $event);
-
- /**
- * Fired when a task is started.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent::getTask()
- */
- function taskStarted(BuildEvent $event);
-
- /**
- * Fired when a task has finished.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent::getException()
- */
- function taskFinished(BuildEvent $event);
-
- /**
- * Fired whenever a message is logged.
- *
- * @param BuildEvent The BuildEvent
- * @see BuildEvent::getMessage()
- */
- function messageLogged(BuildEvent $event);
-}
View
70 trunk/classes/phing/BuildLogger.php
@@ -1,70 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-require_once 'phing/BuildListener.php';
-
-/**
- * Interface for build loggers.
- *
- * Build loggers are build listeners but with some additional functionality:
- * - They can be configured with a log level (below which they will ignore messages)
- * - They have error and output streams
- *
- * Classes that implement a listener must implement this interface.
- *
- * @author Hans Lellelid <hans@xmpl.org>
- * @version $Revision$
- * @see BuildEvent
- * @see Project::addBuildListener()
- * @package phing
- */
-interface BuildLogger extends BuildListener {
-
- /**
- * Sets the min log level that this logger should respect.
- *
- * Messages below this level are ignored.
- *
- * Constants for the message levels are in Project.php. The order of
- * the levels, from least to most verbose, is:
- * - Project::MSG_ERR
- * - Project::MSG_WARN
- * - Project::MSG_INFO
- * - Project::MSG_VERBOSE
- * - Project::MSG_DEBUG
- *
- * @param int $level The log level integer (e.g. Project::MSG_VERBOSE, etc.).
- */
- public function setMessageOutputLevel($level);
-
- /**
- * Sets the standard output stream to use.
- * @param OutputStream $output Configured output stream (e.g. STDOUT) for standard output.
- */
- public function setOutputStream(OutputStream $output);
-
- /**
- * Sets the output stream to use for errors.
- * @param OutputStream $err Configured output stream (e.g. STDERR) for errors.
- */
- public function setErrorStream(OutputStream $err);
-
-}
View
83 trunk/classes/phing/ConfigurationException.php
@@ -1,83 +0,0 @@
-<?php
-/*
- * $Id$
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information please see
- * <http://phing.info>.
- */
-
-/**
- * ConfigurationException is thrown by Phing during the configuration and setup phase of the project.
- *
- * @author Hans Lellelid <hans@xmpl.org>
- * @version $Revision$
- * @package phing
- */
-class ConfigurationException extends Exception {
-
- /**
- * Location in the xml file.
- * @var Location
- */
- protected $location;
-
- /**
- * The nested "cause" exception.
- * @var Exception
- */
- protected $cause;
-
- /**