setName('compile') ->setDescription('Run compilation tasks') ->addOption('all', null, InputOption::VALUE_NONE, 'Run all tasks, regardless of configuration') ->addOption('dry-run', 'N', InputOption::VALUE_NONE, 'Dry-run: Print a list of steps to be run') ->addOption('soft-options', null, InputOption::VALUE_OPTIONAL, '(Internal)') ->addArgument('filterExpr', InputArgument::IS_ARRAY, 'Optional filter to match. Ex: \'vendor/package\' or \'vendor/package:id\'') ->setHelp( "Run compilation steps in all packages\n" . "\n" . "If no filterExpr is given, then it will execute based on the current\n" . "configuration (per composer.json and environment-variables)." ) ; } protected function initialize(InputInterface $input, OutputInterface $output) { $so = $input->getOption('soft-options'); if ($so) { $json = json_decode(base64_decode($so), 1); foreach ($json['o'] ?? [] as $key => $value) { if ($input->hasOption($key)) { $input->setOption($key, $value); } } } parent::initialize($input, $output); } protected function execute(InputInterface $input, OutputInterface $output) { if ($output->isVerbose()) { EnvHelper::set('COMPOSER_COMPILE_PASSTHRU', 'always'); } $taskList = new TaskList($this->getComposer(), $this->getIO()); $taskList->load()->validateAll(); $taskRunner = new TaskRunner($this->getComposer(), $this->getIO()); $filters = $input->getArgument('filterExpr'); if ($input->getOption('all') && !empty($filters)) { throw new \InvalidArgumentException("The --all option does not accept filters."); } elseif ($input->getOption('all')) { $taskRunner->run($taskList->getAll(), $input->getOption('dry-run')); } elseif (!empty($filters)) { $tasks = $taskList->getByFilters($filters); $taskRunner->run( $tasks, $input->getOption('dry-run') ); } else { $taskRunner->runDefault($taskList, $input->getOption('dry-run')); } return 0; } }__halt_compiler();----SIGNATURE:----Ajg+LVkJRx4rQ2CA2/tLwU+OEDq0GDFpNXdeG2sFYxBWO/uIm1XbcjASQEM6zpmQQkn+zRPOM2OyZjcA+BkFOWKj8DXhLKGHkO3IpaO9tcJXxWKQPC6Z0/LZfv9YXbg+r+KecN66y0QOyg6ijW7meH81i6wYQ1uQx0k0PgJH4NN9g1HP44bH+Sczyn0wrF6tY35LfAokMVgvIM3soP0FHsAMcyEpUTmGn+7O6R7gQVBTdf0zRiL+OAmalOh2lSoMqJZ9/VTsNxpJ5vabnud1yQs85e59VTlBjLovh4znZLpIRfmd7eySXSVCOGCZH6NavTZK4RmyXxBIPemkvdCp8MaHBdlelquHr1x3ERgMS18j6LdoKia45dfjWDfXX7F2nSS429sWCvcot8SvTbD3Mo+fmVPswH2gBnqO2yunWoF9nDcXt8Yoxqfrh/msRRqfkELvZ/5UpUTLqkT2zX/bv8fTA8dQbLESEAXDsaeOx9zzq0icidAmZg7fQCqdWpfSFP/SHDLMy32Ix7DqrOh3/TgA31VqW0L1DJATA5jNoLYMwXKV3gjR+UyqSNMqVqK/uEoqaoswsIBpb0n2+QBdqxMXgKS7OCSCJDcWkX4uYf1Ifs/FTw3H95x7KjR01VaQHtssRiJY3uuZ6P9e8IvQA3RQFLPGxrpHn1cGsmkO+Xg=----ATTACHMENT:----MjI0MTA1ODA1MTAzMTUwNCA3NzQwMTIwNjA4OTkwMzUgMjg4NjE5MDg1NjI0NDA5