Skip to content

Commit ce1c129

Browse files
committed
Fix building phars
1 parent 12a608b commit ce1c129

File tree

3 files changed

+48
-48
lines changed

3 files changed

+48
-48
lines changed

build.xml

Lines changed: 42 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<target name="setup" depends="clean"/>
44

55
<target name="clean" unless="clean.done" description="Cleanup build artifacts">
6-
<delete dir="${basedir}/bin"/>
7-
<delete dir="${basedir}/build/documentation"/>
8-
<delete dir="${basedir}/build/logfiles"/>
9-
<delete dir="${basedir}/build/phar"/>
10-
<delete dir="${basedir}/build/out"/>
6+
<delete dir="${project.basedir}/bin"/>
7+
<delete dir="${project.basedir}/build/documentation"/>
8+
<delete dir="${project.basedir}/build/logfiles"/>
9+
<delete dir="${project.basedir}/build/phar"/>
10+
<delete dir="${project.basedir}/build/out"/>
1111
<delete>
12-
<fileset dir="${basedir}/build">
12+
<fileset dir="${project.basedir}/build">
1313
<include name="**/phpdraft*.phar"/>
1414
<include name="**/phpdraft*.phar.asc"/>
1515
</fileset>
@@ -23,40 +23,41 @@
2323
<exec executable="gpg" failonerror="true">
2424
<arg value="--armor"/>
2525
<arg value="--detach-sign"/>
26-
<arg path="${basedir}/build/phpdraft-library-${version}.phar"/>
26+
<arg path="${project.basedir}/build/phpdraft-library-${version}.phar"/>
2727
</exec>
2828

2929
<exec executable="gpg" failonerror="true">
3030
<arg value="--armor"/>
3131
<arg value="--detach-sign"/>
32-
<arg path="${basedir}/build/phpdraft-${version}.phar"/>
32+
<arg path="${project.basedir}/build/phpdraft-${version}.phar"/>
3333
</exec>
3434
</target>
3535

36-
<target name="phar" depends="-phar-determine-version,-phar-prepare"
36+
<target name="phar" depends="-phar-prepare"
3737
description="Create PHAR archive of PHPDraft and all its dependencies">
38-
<antcall target="-phar-build">
38+
<phingcall target="-phar-build">
3939
<param name="type" value="release"/>
40-
</antcall>
40+
</phingcall>
4141
</target>
4242

4343
<target name="phar-nightly" depends="-phar-prepare"
4444
description="Create PHAR archive of PHPDraft and all its dependencies (nightly)">
45-
<antcall target="-phar-build">
45+
<phingcall target="-phar-build">
4646
<param name="type" value="nightly"/>
47-
</antcall>
47+
</phingcall>
4848
</target>
4949

5050
<target name="-phar-prepare" depends="clean">
51-
<mkdir dir="${basedir}/build/phar"/>
52-
<mkdir dir="${basedir}/build/out"/>
53-
<copy file="${basedir}/LICENSE" tofile="${basedir}/build/phar/LICENSE"/>
54-
<exec executable="${basedir}/build/phar-manifest.php" output="${basedir}/build/phar/manifest.txt"/>
51+
<mkdir dir="${project.basedir}/build/phar"/>
52+
<mkdir dir="${project.basedir}/build/out"/>
53+
<copy file="${project.basedir}/LICENSE" tofile="${project.basedir}/build/phar/LICENSE"/>
54+
<exec executable="${project.basedir}/build/phar-manifest.php" output="${project.basedir}/build/phar/manifest.txt"/>
5555
</target>
5656

5757
<target name="-phar-build" depends="-phar-determine-version">
58-
<copy todir="${basedir}/build/phar/phpdraft/src">
59-
<fileset dir="${basedir}/src/">
58+
<fail unless="version" message="No version defined!" />
59+
<copy todir="${project.basedir}/build/phar/phpdraft/src">
60+
<fileset dir="${project.basedir}/src/">
6061
<exclude name="**/*Test.php*"/>
6162
<include name="**/*.php"/>
6263
<include name="**/*.phtml"/>
@@ -68,23 +69,23 @@
6869
<exclude name="**/Readme.php"/>
6970
</fileset>
7071
</copy>
71-
<copy todir="${basedir}/build/phar/phpdraft/src/QL">
72+
<copy todir="${project.basedir}/build/phar/phpdraft/src/QL">
7273
<fileset dir="vendor/ql/uri-template/src">
7374
<include name="**/*.php"/>
7475
</fileset>
7576
</copy>
76-
<copy todir="${basedir}/build/phar/phpdraft/src/Lukasoppermann/Httpstatus">
77+
<copy todir="${project.basedir}/build/phar/phpdraft/src/Lukasoppermann/Httpstatus">
7778
<fileset dir="vendor/lukasoppermann/http-status/src">
7879
<include name="**/*.php"/>
7980
</fileset>
8081
</copy>
81-
<copy todir="${basedir}/build/phar/phpdraft/src/Garden/Cli">
82+
<copy todir="${project.basedir}/build/phar/phpdraft/src/Garden/Cli">
8283
<fileset dir="vendor/vanilla/garden-cli/src">
8384
<include name="**/*.php"/>
8485
</fileset>
8586
</copy>
86-
<copy todir="${basedir}/build/phar/phpdraft">
87-
<fileset dir="${basedir}">
87+
<copy todir="${project.basedir}/build/phar/phpdraft">
88+
<fileset dir="${project.basedir}">
8889
<include name="**/phpdraft"/>
8990
<exclude name="vendor/**"/>
9091
</fileset>
@@ -94,47 +95,50 @@
9495
<arg value="-pi"/>
9596
<arg value="-e"/>
9697
<arg value="s/\'vendor\/autoload.php/__DIR__\ .\ \'\/src\/PHPDraft\/Core\/Autoloader.php/g"/>
97-
<arg value="${basedir}/build/phar/phpdraft/phpdraft"/>
98+
<arg value="${project.basedir}/build/phar/phpdraft/phpdraft"/>
9899
</exec>
99100

100-
<exec executable="${basedir}/build/phar-version.php" outputproperty="_version">
101+
<exec executable="php" outputProperty="_version">
102+
<arg file="${project.basedir}/build/phar-version.php"/>
101103
<arg value="${version}"/>
102104
<arg value="${type}"/>
103105
</exec>
106+
<echo message="Building version: ${version}, type: ${type}, output: ${_version}"/>
107+
<fail unless="_version" message="Could not construct version parameter!" />
104108

105-
<exec executable="${basedir}/vendor/bin/phpab" taskname="phpab">
109+
<exec executable="${project.basedir}/vendor/bin/phpab" taskname="phpab">
106110
<arg value="--all"/>
107111
<arg value="--static"/>
108112
<arg value="--once"/>
109113
<arg value="--phar"/>
110114
<arg value="--hash"/>
111115
<arg value="SHA-1"/>
112116
<arg value="--output"/>
113-
<arg path="${basedir}/build/out/phpdraft-library-${_version}.phar"/>
117+
<arg path="${project.basedir}/build/out/phpdraft-library-${_version}.phar"/>
114118
<arg value="--template"/>
115-
<arg path="${basedir}/build/library-phar-autoload.php.in"/>
116-
<arg path="${basedir}/build/phar"/>
119+
<arg path="${project.basedir}/build/library-phar-autoload.php.in"/>
120+
<arg path="${project.basedir}/build/phar"/>
117121
</exec>
118122

119-
<exec executable="${basedir}/vendor/bin/phpab" taskname="phpab">
123+
<exec executable="${project.basedir}/vendor/bin/phpab" taskname="phpab">
120124
<arg value="--all"/>
121125
<arg value="--nolower"/>
122126
<arg value="--static"/>
123127
<arg value="--phar"/>
124128
<arg value="--hash"/>
125129
<arg value="SHA-1"/>
126130
<arg value="--output"/>
127-
<arg path="${basedir}/build/out/phpdraft-${_version}.phar"/>
131+
<arg path="${project.basedir}/build/out/phpdraft-${_version}.phar"/>
128132
<arg value="--template"/>
129-
<arg path="${basedir}/build/binary-phar-autoload.php.in"/>
130-
<arg path="${basedir}/build/phar"/>
133+
<arg path="${project.basedir}/build/binary-phar-autoload.php.in"/>
134+
<arg path="${project.basedir}/build/phar"/>
131135
</exec>
132136

133-
<chmod file="${basedir}/build/phpdraft-${_version}.phar" perm="ugo+rx"/>
137+
<chmod file="${project.basedir}/build/out/phpdraft-${_version}.phar" mode="0555"/>
134138
</target>
135139

136140
<target name="-dependencies-installed">
137-
<available file="${basedir}/composer.lock" property="dependencies-installed"/>
141+
<available file="${project.basedir}/composer.lock" property="dependencies-installed"/>
138142
</target>
139143

140144
<target name="install-dependencies" unless="dependencies-installed" depends="-dependencies-installed,validate-composer-json" description="Install dependencies with Composer">
@@ -154,16 +158,13 @@
154158
<arg value="validate"/>
155159
<arg value="--no-check-lock"/>
156160
<arg value="--strict"/>
157-
<arg value="${basedir}/composer.json"/>
161+
<arg value="${project.basedir}/composer.json"/>
158162
</exec>
159163

160164
<property name="validate-composer-json.done" value="true"/>
161165
</target>
162166

163167
<target name="-phar-determine-version">
164-
<exec executable="bash" outputproperty="version">
165-
<arg value="-c"/>
166-
<arg value="php ${basedir}/phpdraft -v | grep -ohE '([0-9]{1,}\.)+[0-9]{1,}'"/>
167-
</exec>
168+
<exec command="${project.basedir}/phpdraft --version | grep -ohE '([0-9]{1,}\.)+[0-9]{1,}'" outputproperty="version"/>
168169
</target>
169170
</project>

phpdraft

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
#!/usr/bin/env php
2-
32
<?php
43
/**
54
* Set up include path for source handling
@@ -9,7 +8,6 @@ set_include_path(get_include_path() . ":" . __DIR__ . '/src/');
98
/**
109
* Set up required classes (with the autoloader)
1110
*/
12-
//require_once 'PHPDraft/Core/Autoloader.php';
1311
require_once 'vendor/autoload.php';
1412

1513
use Garden\Cli\Cli;
@@ -27,7 +25,7 @@ try
2725
// Define the cli options.
2826
$cli = new Cli();
2927
$cli->description('Parse API Blueprint files.')
30-
->opt('file:f', 'Specifies the file to parse.', true, 'string')
28+
->opt('file:f', 'Specifies the file to parse.', false, 'string')
3129
->opt('yes:y', 'Always accept using the online mode.', false)
3230
->opt('online:o', 'Always use the online mode.', false)
3331
->opt('template:t', 'Specifies the template to use. (defaults to \'default\').', false, 'string')
@@ -43,6 +41,9 @@ try
4341
Version::version();
4442
throw new ExecutionException('', 0);
4543
}
44+
if (!isset($args['file'])) {
45+
throw new ExecutionException('Missing required option: file', 1);
46+
}
4647

4748
define('THIRD_PARTY_ALLOWED', getenv('PHPDRAFT_THIRD_PARTY') !== '0');
4849
if ((isset($args['y']) || isset($args['o'])) && THIRD_PARTY_ALLOWED) {
@@ -61,8 +62,7 @@ try
6162
}
6263
catch (ResourceException $exception)
6364
{
64-
file_put_contents('php://stderr', "No drafter available.\n");
65-
return;
65+
throw new ExecutionException('No drafter available', 255);
6666
}
6767

6868
$html = new JsonToHTML($parser->parseToJson());
@@ -101,4 +101,4 @@ function phpdraft_var_dump(...$vars)
101101
var_dump($var);
102102
}
103103
echo '</pre>';
104-
}
104+
}

tests/test.bootstrap.inc.php

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
);
2323

2424
// Load and setup class file autloader
25-
//require_once 'PHPDraft/Core/Autoloader.php';
2625
require_once $base . '/vendor/autoload.php';
2726

2827
define('THIRD_PARTY_ALLOWED', TRUE);

0 commit comments

Comments
 (0)