-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreate-package
More file actions
executable file
·77 lines (71 loc) · 2.04 KB
/
create-package
File metadata and controls
executable file
·77 lines (71 loc) · 2.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#!/usr/bin/env php
<?php
$output = 'trac-cli.phar';
if (file_exists($output))
{
unlink($output);
}
$zendClassesToSkip = array();
$zendClassesToSkip[] = 'Acl';
$zendClassesToSkip[] = 'Amf';
$zendClassesToSkip[] = 'Application';
$zendClassesToSkip[] = 'Auth';
$zendClassesToSkip[] = 'Barcode';
$zendClassesToSkip[] = 'Captcha';
$zendClassesToSkip[] = 'Currency';
$zendClassesToSkip[] = 'Dojo';
$zendClassesToSkip[] = 'Db';
$zendClassesToSkip[] = 'Feed';
$zendClassesToSkip[] = 'Form';
$zendClassesToSkip[] = 'Gdata';
$zendClassesToSkip[] = 'InfoCard';
$zendClassesToSkip[] = 'Layout';
$zendClassesToSkip[] = 'Log';
$zendClassesToSkip[] = 'Ldap';
$zendClassesToSkip[] = 'Mail';
$zendClassesToSkip[] = 'Markup';
$zendClassesToSkip[] = 'Memory';
$zendClassesToSkip[] = 'Mime';
$zendClassesToSkip[] = 'Oauth';
$zendClassesToSkip[] = 'OpenId';
$zendClassesToSkip[] = 'Pdf';
$zendClassesToSkip[] = 'Queue';
$zendClassesToSkip[] = 'Service';
$zendClassesToSkip[] = 'Session';
$zendClassesToSkip[] = 'Soap';
$zendClassesToSkip[] = 'Tag';
$zendClassesToSkip[] = 'Test';
$zendClassesToSkip[] = 'TimeSync';
$zendClassesToSkip[] = 'Tool';
$zendClassesToSkip[] = 'Translate';
$zendClassesToSkip[] = 'Version';
$zendClassesToSkip[] = 'View';
$zendClassesToSkip[] = 'Wildfire';
$dir = dirname(__FILE__) . '/src/';
$folder = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir));
$items = array();
foreach ($folder as $item)
{
/* @var $item SplFileInfo */
$filename = pathinfo($item->getPathName(), PATHINFO_BASENAME);
// skip dot files
if (substr($filename, 0, 1) == '.')
{
continue;
}
// skip vcs info
if (strstr($item->getPathName(), '.svn/')!==false)
{
continue;
}
// skip some Zend classes
if (preg_match('#Zend\/(\w+)#', $item->getPathName(), $matches) && in_array($matches[1], $zendClassesToSkip))
{
continue;
}
$items[substr($item->getPathName(), strlen($dir))] = $item->getPathName();
}
$phar = new Phar($output);
$phar->buildFromIterator(new ArrayIterator($items));
$phar->setStub(file_get_contents('trac-cli-stub.php'));
chmod($output, 0755);