fixtures as $fixture) { if (isset(static::$initiatedJavaClasses[$fixture])) { continue; } exec('javac -classpath ' . $pathRoot . ' -encoding UTF8 ' . $pathRoot . str_replace(['../', './'], '', $fixture) . '.java -d ' . __DIR__ . '/caches'); static::$initiatedJavaClasses[$fixture] = JavaClass::load( $fixture ); } } public function createJAR($name, $entrypoint, array $fixtures = []) { $classes = implode( ' ', array_map( function ($fixture) { return $fixture . '.class'; }, $fixtures ) ); exec('cd ' . __DIR__ . '/caches && jar -cvfe ' . $name . ' ' . $entrypoint . ' ' . $classes); return $this; } protected function getClassName($fixtureName) { return __DIR__ . '/caches/' . $fixtureName . '.class'; } }