Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Showing
30 changed files
with
4,123 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
version=2.0.0BETA2 | ||
stability=beta | ||
build.dir=build | ||
dist.dir=dist | ||
report.dir=reports | ||
log.archive.dir=logs | ||
svn.path=/usr/bin/svn | ||
test.phpunit_configuration_file= | ||
test.phpunit_generate_coverage=0 | ||
test.pmd_reports=0 | ||
test.pdepend_exec= | ||
test.phpmd_exec= | ||
project.pirum_dir= | ||
project.download_dir= |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,160 @@ | ||
<?xml version="1.0"?> | ||
|
||
<!-- | ||
Doctrine 2 build file. | ||
--> | ||
|
||
<project name="Doctrine2" default="build" basedir="."> | ||
<taskdef classname="phing.tasks.ext.d51PearPkg2Task" name="d51pearpkg2" /> | ||
|
||
<property file="build.properties" /> | ||
|
||
<!-- | ||
Fileset for artifacts shared across all distributed packages. | ||
--> | ||
<fileset id="shared-artifacts" dir="."> | ||
<include name="LICENSE"/> | ||
<include name="COPYRIGHT"/> | ||
<include name="CHANGELOG"/> | ||
</fileset> | ||
|
||
<!-- | ||
Fileset for the sources of the Doctrine Common package. | ||
--> | ||
<fileset id="common-sources" dir="./lib"> | ||
<include name="Doctrine/Common/**"/> | ||
</fileset> | ||
|
||
<!-- | ||
Clean the directory for the next build. | ||
--> | ||
<target name="clean"> | ||
<available file="./build.properties" property="build_properties_exist" value="true"/> | ||
<fail unless="build_properties_exist" message="The build.properties file is missing." /> | ||
|
||
<delete dir="${build.dir}" includeemptydirs="true" /> | ||
<delete dir="${dist.dir}" includeemptydirs="true" /> | ||
<delete dir="${report.dir}" includeemptydirs="true" /> | ||
</target> | ||
|
||
<!-- | ||
Prepare the new build directories after cleaning | ||
--> | ||
<target name="prepare" depends="clean"> | ||
<echo msg="Creating build directory: ${build.dir}" /> | ||
<mkdir dir="${build.dir}" /> | ||
<echo msg="Creating distribution directory: ${dist.dir}" /> | ||
<mkdir dir="${dist.dir}" /> | ||
<echo msg="Creating report directory: ${report.dir}" /> | ||
<mkdir dir="${report.dir}" /> | ||
<mkdir dir="${build.dir}/logs"/> | ||
<mkdir dir="${report.dir}/tests"/> | ||
</target> | ||
|
||
<!-- | ||
Builds Common package, preparing it for distribution. | ||
--> | ||
<target name="build-common"> | ||
<copy todir="${build.dir}/common"> | ||
<fileset refid="shared-artifacts"/> | ||
</copy> | ||
<copy todir="${build.dir}/common"> | ||
<fileset refid="common-sources"/> | ||
</copy> | ||
</target> | ||
|
||
<target name="build" depends="prepare,build-common"/> | ||
|
||
<!-- | ||
Runs the full test suite. | ||
--> | ||
<target name="test" depends="prepare"> | ||
<if><equals arg1="${test.phpunit_generate_coverage}" arg2="1" /> | ||
<then> | ||
<property name="test.phpunit_coverage_file" value="${build.dir}/logs/clover.xml" /> | ||
</then> | ||
<else> | ||
<property name="test.phpunit_coverage_file" value="false" /> | ||
</else> | ||
</if> | ||
|
||
<nativephpunit | ||
testfile="./tests/Doctrine/Tests/AllTests.php" junitlogfile="${build.dir}/logs/testsuites.xml" | ||
testdirectory="./tests" coverageclover="${test.phpunit_coverage_file}" configuration="${test.phpunit_configuration_file}" | ||
/> | ||
<phpunitreport infile="${build.dir}/logs/testsuites.xml" format="frames" todir="${report.dir}/tests" /> | ||
|
||
<tstamp/> | ||
<copy file="${build.dir}/logs/testsuites.xml" tofile="${log.archive.dir}/latest/log.xml" overwrite="true"/> | ||
|
||
<if><equals arg1="${test.pmd_reports}" arg2="1" /> | ||
<then> | ||
<exec command="${test.pdepend_exec} --jdepend-xml=${build.dir}/logs/jdepend.xml ./lib/Doctrine" /> | ||
<exec command="${test.phpmd_exec} ./lib/Doctrine xml codesize --reportfile ${build.dir}/logs/phpmd.xml" /> | ||
|
||
<copy file="${build.dir}/logs/jdepend.xml" tofile="${log.archive.dir}/latest/jdepend.xml" overwrite="true"/> | ||
<copy file="${build.dir}/logs/phpmd.xml" tofile="${log.archive.dir}/latest/phpmd.xml" overwrite="true"/> | ||
</then> | ||
</if> | ||
</target> | ||
|
||
<!-- | ||
Builds distributable PEAR packages. | ||
--> | ||
<target name="build-packages" depends="build"> | ||
<d51pearpkg2 baseinstalldir="/" dir="${build.dir}/common"> | ||
<name>DoctrineCommon</name> | ||
<summary>Doctrine Common PHP Extensions</summary> | ||
<channel>pear.doctrine-project.org</channel> | ||
<description>The Doctrine Common package contains shared code between the other packages.</description> | ||
<lead user="jwage" name="Jonathan H. Wage" email="jonwage@gmail.com" /> | ||
<lead user="guilhermeblanco" name="Guilherme Blanco" email="guilhermeblanco@gmail.com" /> | ||
<lead user="romanb" name="Roman Borschel" email="roman@code-factory.org" /> | ||
<lead user="beberlei" name="Benjamin Eberlei" email="kontakt@beberlei.de" /> | ||
<license>LGPL</license> | ||
<version release="${version}" api="${version}" /> | ||
<stability release="${stability}" api="${stability}" /> | ||
<notes>-</notes> | ||
<dependencies> | ||
<php minimum_version="5.3.0" /> | ||
<pear minimum_version="1.6.0" recommended_version="1.6.1" /> | ||
</dependencies> | ||
</d51pearpkg2> | ||
<exec command="pear package" dir="${build.dir}/common" passthru="true" /> | ||
<exec command="mv DoctrineCommon-${version}.tgz ../../dist" dir="${build.dir}/common" passthru="true" /> | ||
<tar destfile="dist/DoctrineCommon-${version}-full.tar.gz" compression="gzip" basedir="${build.dir}"> | ||
<fileset dir="${build.dir}"> | ||
<include name="**/**" /> | ||
<exclude name="logs/" /> | ||
</fileset> | ||
</tar> | ||
</target> | ||
|
||
<target name="git-tag"> | ||
<exec command="grep '${version}-DEV' ${project.basedir}/lib/Doctrine/Common/Version.php" checkreturn="true"/> | ||
<exec command="sed 's/${version}-DEV/${version}/' ${project.basedir}/lib/Doctrine/Common/Version.php > ${project.basedir}/lib/Doctrine/Common/Version2.php" passthru="true" /> | ||
<exec command="mv ${project.basedir}/lib/Doctrine/Common/Version2.php ${project.basedir}/lib/Doctrine/Common/Version.php" passthru="true" /> | ||
<exec command="git commit -a -m 'Release {$version}'" /> | ||
<exec command="git tag -a ${version}" passthru="true" /> | ||
</target> | ||
|
||
<target name="pirum-release"> | ||
<exec command="sudo pirum add ${project.pirum_dir} ${project.basedir}/dist/DoctrineCommon-${version}.tgz" dir="." passthru="true" /> | ||
<exec command="sudo pirum build ${project.pirum_dir}" passthru="true" /> | ||
</target> | ||
|
||
<target name="distribute-download"> | ||
<copy file="dist/DoctrineCommon-${version}-full.tar.gz" todir="${project.download_dir}" /> | ||
</target> | ||
|
||
<target name="update-dev-version"> | ||
<exec command="grep '${version}' ${project.basedir}/lib/Doctrine/Common/Version.php" checkreturn="true"/> | ||
<propertyprompt propertyName="next_version" defaultValue="${version}" promptText="Enter next version string (without -DEV)" /> | ||
<exec command="sed 's/${version}/${next_version}-DEV/' ${project.basedir}/lib/Doctrine/Common/Version.php > ${project.basedir}/lib/Doctrine/Common/Version2.php" passthru="true" /> | ||
<exec command="mv ${project.basedir}/lib/Doctrine/Common/Version2.php ${project.basedir}/lib/Doctrine/Common/Version.php" passthru="true" /> | ||
<exec command="git add ${project.basedir}/lib/Doctrine/Common/Version.php" passthru="true" /> | ||
<exec command="git commit -m 'Bump Dev Version to ${next_version}'" passthru="true" /> | ||
</target> | ||
|
||
<target name="release" depends="git-tag,build-packages,distribute-download,pirum-release,update-dev-version" /> | ||
</project> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
<?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, see | ||
* <http://www.doctrine-project.org>. | ||
*/ | ||
|
||
namespace Doctrine\Common\Annotations; | ||
|
||
/** | ||
* Annotations class | ||
* | ||
* @license http://www.opensource.org/licenses/lgpl-license.php LGPL | ||
* @link www.doctrine-project.org | ||
* @since 2.0 | ||
* @version $Revision$ | ||
* @author Benjamin Eberlei <kontakt@beberlei.de> | ||
* @author Guilherme Blanco <guilhermeblanco@hotmail.com> | ||
* @author Jonathan Wage <jonwage@gmail.com> | ||
* @author Roman Borschel <roman@code-factory.org> | ||
*/ | ||
class Annotation | ||
{ | ||
/** | ||
* Value property. Common among all derived classes. | ||
* | ||
* @var string | ||
*/ | ||
public $value; | ||
|
||
/** | ||
* Constructor | ||
* | ||
* @param array $data Key-value for properties to be defined in this class | ||
*/ | ||
public final function __construct(array $data) | ||
{ | ||
foreach ($data as $key => $value) { | ||
$this->$key = $value; | ||
} | ||
} | ||
|
||
/** | ||
* Error handler for unknown property accessor in Annotation class. | ||
* | ||
* @param string $name Unknown property name | ||
*/ | ||
public function __get($name) | ||
{ | ||
throw new \BadMethodCallException( | ||
sprintf("Unknown property '%s' on annotation '%s'.", $name, get_class($this)) | ||
); | ||
} | ||
|
||
/** | ||
* Error handler for unknown property mutator in Annotation class. | ||
* | ||
* @param string $name Unkown property name | ||
* @param mixed $value Property value | ||
*/ | ||
public function __set($name, $value) | ||
{ | ||
throw new \BadMethodCallException( | ||
sprintf("Unknown property '%s' on annotation '%s'.", $name, get_class($this)) | ||
); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
<?php | ||
/* | ||
* 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, see | ||
* <http://www.doctrine-project.org>. | ||
*/ | ||
|
||
namespace Doctrine\Common\Annotations; | ||
|
||
/** | ||
* Description of AnnotationException | ||
* | ||
* @since 2.0 | ||
* @author Benjamin Eberlei <kontakt@beberlei.de> | ||
* @author Guilherme Blanco <guilhermeblanco@hotmail.com> | ||
* @author Jonathan Wage <jonwage@gmail.com> | ||
* @author Roman Borschel <roman@code-factory.org> | ||
*/ | ||
class AnnotationException extends \Exception | ||
{ | ||
/** | ||
* Creates a new AnnotationException describing a Syntax error. | ||
* | ||
* @param string $message Exception message | ||
* @return AnnotationException | ||
*/ | ||
public static function syntaxError($message) | ||
{ | ||
return new self('[Syntax Error] ' . $message); | ||
} | ||
|
||
/** | ||
* Creates a new AnnotationException describing a Semantical error. | ||
* | ||
* @param string $message Exception message | ||
* @return AnnotationException | ||
*/ | ||
public static function semanticalError($message) | ||
{ | ||
return new self('[Semantical Error] ' . $message); | ||
} | ||
} |
Oops, something went wrong.