Skip to content

Commit

Permalink
Merge pull request #7897 from totten/4.6-tcpdf
Browse files Browse the repository at this point in the history
CRM-18098. Move TCPDF from packages to composer.
  • Loading branch information
Yashodha Chaku committed Mar 2, 2016
2 parents a533994 + 69b7825 commit 9ca5639
Show file tree
Hide file tree
Showing 4 changed files with 119 additions and 6 deletions.
2 changes: 0 additions & 2 deletions CRM/Utils/PDF/Label.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@
*
*/

require_once 'tcpdf/tcpdf.php';

/**
* Class CRM_Utils_PDF_Label
*/
Expand Down
8 changes: 6 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,26 @@
"Civi\\": [".", "tests/phpunit/"]
}
},
"include-path": ["vendor/tecnickcom"],
"require": {
"dompdf/dompdf" : "0.6.*",
"symfony/dependency-injection": "2.3.*",
"symfony/event-dispatcher": "2.3.*",
"symfony/process": "2.3.*",
"psr/log": "1.0.0",
"symfony/finder": "2.3.*",
"tecnickcom/tcpdf" : "6.2.*",
"totten/ca-config": "~13.02",
"civicrm/civicrm-cxn-rpc": "~0.15.12.04"
},
"scripts": {
"post-install-cmd": [
"bash tools/scripts/composer/dompdf-cleanup.sh"
"bash tools/scripts/composer/dompdf-cleanup.sh",
"bash tools/scripts/composer/tcpdf-cleanup.sh"
],
"post-update-cmd": [
"bash tools/scripts/composer/dompdf-cleanup.sh"
"bash tools/scripts/composer/dompdf-cleanup.sh",
"bash tools/scripts/composer/tcpdf-cleanup.sh"
]
}
}
67 changes: 65 additions & 2 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

48 changes: 48 additions & 0 deletions tools/scripts/composer/tcpdf-cleanup.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
#!/bin/bash

## Cleanup the vendor tree. The main issue here is that civi Civi is
## deployed as a module inside a CMS, so all its source-code gets published.
## Some libraries distribute admin tools and sample files which should not
## be published.
##
## This script should be idempotent -- if you rerun it several times, it
## should always produce the same post-condition.

##############################################################################
## usage: safe_delete <relpath...>
function safe_delete() {
for file in "$@" ; do
if [ -z "$file" ]; then
echo "Skip: empty file name"
elif [ -e "$file" ]; then
rm -rf "$file"
fi
done
}

##############################################################################
## Remove example/CLI scripts. They're not needed and increase the attack-surface.
safe_delete vendor/tecnickcom/tcpdf/examples
safe_delete vendor/tecnickcom/tcpdf/tools

## Remove all fonts not included before CRM-18098.
safe_delete vendor/tecnickcom/tcpdf/fonts/a*
safe_delete vendor/tecnickcom/tcpdf/fonts/ci*
safe_delete vendor/tecnickcom/tcpdf/fonts/courierb*
safe_delete vendor/tecnickcom/tcpdf/fonts/courieri*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavu-fonts-ttf-2.33
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavusansb*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavusansc*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavusanse*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavusansi*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavusansm*
safe_delete vendor/tecnickcom/tcpdf/fonts/dejavuserif*
safe_delete vendor/tecnickcom/tcpdf/fonts/free*
safe_delete vendor/tecnickcom/tcpdf/fonts/helveticab*
safe_delete vendor/tecnickcom/tcpdf/fonts/helveticai*
safe_delete vendor/tecnickcom/tcpdf/fonts/k*
safe_delete vendor/tecnickcom/tcpdf/fonts/m*
safe_delete vendor/tecnickcom/tcpdf/fonts/p*
safe_delete vendor/tecnickcom/tcpdf/fonts/s*
safe_delete vendor/tecnickcom/tcpdf/fonts/u*
safe_delete vendor/tecnickcom/tcpdf/fonts/z*

0 comments on commit 9ca5639

Please sign in to comment.