66use ProcessMaker \Traits \PluginServiceProviderTrait ;
77use ProcessMaker \Package \Packages \Events \PackageEvent ;
88use ProcessMaker \Package \WebEntry \Listeners \PackageListener ;
9+ use ProcessMaker \Models \ScriptExecutor ;
910
1011class DockerExecutorJavaServiceProvider extends ServiceProvider
1112{
1213 use PluginServiceProviderTrait;
1314
14- const version = '0 .0.1 ' ; // Required for PluginServiceProviderTrait
15+ const version = '1 .0.0 ' ; // Required for PluginServiceProviderTrait
1516
1617 public function register ()
1718 {
@@ -28,19 +29,37 @@ public function register()
2829 public function boot ()
2930 {
3031 \Artisan::command ('docker-executor-java:install ' , function () {
31- // nothing to do here
32+ $ scriptExecutor = ScriptExecutor::install ([
33+ 'language ' => 'java ' ,
34+ 'title ' => 'Java Executor ' ,
35+ 'description ' => 'Default Java Executor ' ,
36+ ]);
37+
38+ // Build the instance image. This is the same as if you were to build it from the admin UI
39+ \Artisan::call ('processmaker:build-script-executor java ' );
40+
41+ // Restart the workers so they know about the new supported language
42+ \Artisan::call ('horizon:terminate ' );
3243 });
3344
3445 $ config = [
3546 'name ' => 'Java ' ,
3647 'runner ' => 'JavaRunner ' ,
3748 'mime_type ' => 'application/java ' ,
38- 'image ' => env ('SCRIPTS_JAVA_IMAGE ' , 'processmaker4/executor-java ' ),
3949 'options ' => [
4050 'invokerPackage ' => "ProcessMaker_Client " ,
4151 'modelPackage ' => "ProcessMaker_Model " ,
4252 'apiPackage ' => "ProcessMaker_Api " ,
43- ]
53+ ],
54+ 'init_dockerfile ' => [
55+ "ARG SDK_DIR " ,
56+ 'COPY $SDK_DIR /opt/executor/sdk-java ' ,
57+ 'WORKDIR /opt/executor/sdk-java ' ,
58+ 'RUN mvn clean install ' ,
59+ 'WORKDIR /opt/executor ' ,
60+ ],
61+ 'package_path ' => __DIR__ . '/.. ' ,
62+ 'package_version ' => self ::version,
4463 ];
4564 config (['script-runners.java ' => $ config ]);
4665
0 commit comments