Permalink
Browse files

Using phploc's convention for composer binaries

  • Loading branch information...
1 parent c922135 commit 4c5be10da4e29312048737ca1ed6c2d81fb6faf2 @Ocramius Ocramius committed Mar 18, 2013
Showing with 73 additions and 8 deletions.
  1. +1 −1 composer.json
  2. +71 −0 composer/bin/phpcpd
  3. +1 −7 phpcpd.php
View
@@ -29,6 +29,6 @@
]
},
"bin": [
- "phpcpd.php"
+ "composer/bin/phpcpd"
]
}
View
@@ -0,0 +1,71 @@
+#!/usr/bin/env php
+<?php
+/**
+ * phpcpd
+ *
+ * Copyright (c) 2009-2012, Sebastian Bergmann <sb@sebastian-bergmann.de>.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * * Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ *
+ * * Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in
+ * the documentation and/or other materials provided with the
+ * distribution.
+ *
+ * * Neither the name of Sebastian Bergmann nor the names of his
+ * contributors may be used to endorse or promote products derived
+ * from this software without specific prior written permission.
+ *
+ * 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.
+ *
+ * @package phpcpd
+ * @author Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @copyright 2009-2012 Sebastian Bergmann <sb@sebastian-bergmann.de>
+ * @license http://www.opensource.org/licenses/BSD-3-Clause The BSD 3-Clause License
+ * @since File available since Release 1.0.0
+ */
+
+$files = array(
+ __DIR__ . '/../../vendor/autoload.php',
+ __DIR__ . '/../../../../autoload.php'
+);
+
+$found = FALSE;
+
+foreach ($files as $file) {
+ if (file_exists($file)) {
+ require $file;
+
+ $found = TRUE;
+
+ break;
+ }
+}
+
+if (!$found) {
+ die(
+ 'You need to set up the project dependencies using the following commands:' . PHP_EOL .
+ 'curl -s http://getcomposer.org/installer | php' . PHP_EOL .
+ 'php composer.phar install' . PHP_EOL
+ );
+}
+
+$textui = new SebastianBergmann\PHPCPD\TextUI\Command;
+$textui->main();
View
@@ -46,13 +46,7 @@
ini_set('mbstring.func_overload', 0);
ini_set('mbstring.internal_encoding', NULL);
-if (file_exists(__DIR__ . '/vendor/autoload.php')) {
- // dependencies installed via composer
- require __DIR__ . '/vendor/autoload.php';
-} elseif (file_exists(__DIR__ . '/../../autoload.php')) {
- // installed as composer binary in `vendor/bin`
- require __DIR__ . '/../../autoload.php';
-} elseif (strpos('@php_bin@', '@php_bin') === 0) {
+if (strpos('@php_bin@', '@php_bin') === 0) {
require __DIR__ . DIRECTORY_SEPARATOR . 'src' . DIRECTORY_SEPARATOR . 'autoload.php';
} else {
require 'SebastianBergmann/PHPCPD/autoload.php';

0 comments on commit 4c5be10

Please sign in to comment.