aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/tests/plugin/fixtures/e2e-script-event
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/tests/plugin/fixtures/e2e-script-event')
-rw-r--r--crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/composer.json17
-rw-r--r--crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/src/ScriptEventRecorder.php22
2 files changed, 39 insertions, 0 deletions
diff --git a/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/composer.json b/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/composer.json
new file mode 100644
index 00000000..59fc8f13
--- /dev/null
+++ b/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/composer.json
@@ -0,0 +1,17 @@
+{
+ "name": "shirabe/e2e-script-event",
+ "description": "E2E fixture project: record what a post-autoload-dump PHP script sees on its Event.",
+ "repositories": [
+ {
+ "packagist.org": false
+ }
+ ],
+ "autoload": {
+ "psr-4": {
+ "Shirabe\\E2e\\": "src/"
+ }
+ },
+ "scripts": {
+ "post-autoload-dump": "Shirabe\\E2e\\ScriptEventRecorder::postAutoloadDump"
+ }
+}
diff --git a/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/src/ScriptEventRecorder.php b/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/src/ScriptEventRecorder.php
new file mode 100644
index 00000000..84fa0da9
--- /dev/null
+++ b/crates/shirabe/tests/plugin/fixtures/e2e-script-event/project/src/ScriptEventRecorder.php
@@ -0,0 +1,22 @@
+<?php
+
+namespace Shirabe\E2e;
+
+use Composer\Script\Event;
+
+class ScriptEventRecorder
+{
+ public static function postAutoloadDump(Event $event): void
+ {
+ $composer = $event->getComposer();
+ $lines = [
+ 'event=' . $event->getName(),
+ 'dev=' . ($event->isDevMode() ? '1' : '0'),
+ 'root=' . $composer->getPackage()->getName(),
+ 'vendor-dir=' . basename($composer->getConfig()->get('vendor-dir')),
+ 'bin-dir=' . basename($composer->getConfig()->get('bin-dir')),
+ ];
+ $event->getIO()->write('script-event: ' . implode(' ', $lines));
+ file_put_contents(__DIR__ . '/../script-event-trace.txt', implode("\n", $lines) . "\n");
+ }
+}