1919require 'java_buildpack/component/application'
2020require 'java_buildpack/component/droplet'
2121require 'java_buildpack/component/environment_variables'
22+ require 'java_buildpack/component/extension_directories'
2223require 'java_buildpack/component/immutable_java_home'
2324require 'java_buildpack/component/java_opts'
2425require 'java_buildpack/component/mutable_java_home'
26+ require 'java_buildpack/component/security_providers'
2527require 'java_buildpack/logging/logger_factory'
2628require 'java_buildpack/util/configuration_utils'
2729require 'java_buildpack/util/constantize'
@@ -58,9 +60,11 @@ def compile
5860
5961 container = component_detection ( 'container' , @containers , true ) . first
6062 no_container unless container
63+ jre = component_detection ( 'JRE' , @jres , true ) . first
64+ frameworks = component_detection ( 'framework' , @frameworks , false )
6165
62- component_detection ( 'JRE' , @jres , true ) . first . compile
63- component_detection ( 'framework' , @frameworks , false ) . each ( & : compile)
66+ frameworks . each ( & : compile)
67+ jre . compile
6468 container . compile
6569 end
6670
@@ -71,10 +75,13 @@ def compile
7175 def release
7276 container = component_detection ( 'container' , @containers , true ) . first
7377 no_container unless container
78+ jre = component_detection ( 'JRE' , @jres , true ) . first
79+ frameworks = component_detection ( 'framework' , @frameworks , false )
80+
81+ frameworks . map ( &:release )
7482
7583 commands = [ ]
76- commands << component_detection ( 'JRE' , @jres , true ) . first . release
77- component_detection ( 'framework' , @frameworks , false ) . map ( &:release )
84+ commands << jre . release
7885 commands << container . release
7986
8087 command = commands . flatten . compact . join ( ' && ' )
@@ -111,11 +118,13 @@ def initialize(app_dir, application)
111118 immutable_java_home = Component ::ImmutableJavaHome . new mutable_java_home , app_dir
112119
113120 component_info = {
114- 'additional_libraries' => Component ::AdditionalLibraries . new ( app_dir ) ,
115- 'application' => application ,
116- 'env_vars' => Component ::EnvironmentVariables . new ( app_dir ) ,
117- 'java_opts' => Component ::JavaOpts . new ( app_dir ) ,
118- 'app_dir' => app_dir
121+ 'additional_libraries' => Component ::AdditionalLibraries . new ( app_dir ) ,
122+ 'app_dir' => app_dir ,
123+ 'application' => application ,
124+ 'env_vars' => Component ::EnvironmentVariables . new ( app_dir ) ,
125+ 'extension_directories' => Component ::ExtensionDirectories . new ( app_dir ) ,
126+ 'java_opts' => Component ::JavaOpts . new ( app_dir ) ,
127+ 'security_providers' => Component ::SecurityProviders . new
119128 }
120129
121130 instantiate_components ( mutable_java_home , immutable_java_home , component_info )
@@ -163,8 +172,9 @@ def instantiate(components, java_home, component_info)
163172 application : component_info [ 'application' ] ,
164173 configuration : Util ::ConfigurationUtils . load ( component_id ) ,
165174 droplet : Component ::Droplet . new ( component_info [ 'additional_libraries' ] , component_id ,
166- component_info [ 'env_vars' ] , java_home ,
167- component_info [ 'java_opts' ] , component_info [ 'app_dir' ] )
175+ component_info [ 'env_vars' ] , component_info [ 'extension_directories' ] ,
176+ java_home , component_info [ 'java_opts' ] , component_info [ 'app_dir' ] ,
177+ component_info [ 'security_providers' ] )
168178 }
169179 component . constantize . new ( context )
170180 end
0 commit comments