From cc2747b7349bdee2805c5d8964ca832d050dc476 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:31:22 +0300 Subject: [PATCH 01/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 41 +++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index e7083fa7c0..fd9093f02c 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -99,6 +99,47 @@ def release payload end + + def dev_release + container = component_detection('container', @containers, true).first + no_container unless container + + commands = [] + commands << component_detection('JRE', @jres, true).first.release + + component_detection('framework', @frameworks, false).map(&:release) + + commands << container.release + + commands.insert 0, @java_opts.as_env_var + command = commands.flatten.compact.join(' && ') + + app_controller_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/appcontroller" + jdb_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/sc_jdb" + + port = "8080" + + devUtils = + { + :server_port => ":8080", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", + :start => "sleep 5000", :app_url => "http://localhost:3000" + } + + strDevUtils = devUtils.to_json.gsub! "\"", "\\\"" + output.sub! "http.port=$PORT", "http.port=3000" + runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") + + devStart = "web: 'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" + payload = { + 'addons' => [], + 'config_vars' => {}, + 'default_process_types' => { 'web' => devStart, 'task' => command } + }.to_yaml + + @logger.debug { "Release Payload:\n#{payload}" } + + payload + end private_class_method :new From 13a9c0870ceb11ce3b281c6d2f862594745c3799 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:32:45 +0300 Subject: [PATCH 02/16] Update release --- bin/release | 36 +----------------------------------- 1 file changed, 1 insertion(+), 35 deletions(-) diff --git a/bin/release b/bin/release index e64f2f5e0a..dd5540cc73 100755 --- a/bin/release +++ b/bin/release @@ -22,39 +22,5 @@ require 'java_buildpack/buildpack' app_dir = ARGV[0] -output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:release) -#logger = JavaBuildpack::Buildpack.logger - - - -#if @droplet.environment_variables['HOT_SWAP_AGENT'] == 'true' - #logger.debug 'Activating appcontroller!' - #logger.debug ("output: "+ output) - app_controller_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/appcontroller" - jdb_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/sc_jdb" - - port = "8080" #@droplet.environment_variables['PORT'].first - - devUtils = - { - :server_port => ":8080", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", - :start => "sleep 5000", :app_url => "http://localhost:3000" - } - strDevUtils = devUtils.to_json.gsub! "\"", "\\\"" - output.sub! "http.port=$PORT", "http.port=3000" - - - inx = output.index('web:') - webStr = output[inx+6..output.length-3] - webStr = webStr.delete("\r\n") - webStr = webStr.delete("\n") - webStr = webStr.delete("\r") - runCmd = Base64.encode64("PORT=3000 " + webStr).delete("\n") - - output = output[0..inx-1] + "web: 'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" - #output.sub! "web: '", "web: 'CFPORT=$PORT PORT=3000 #{app_controller_exe} -jdbPath #{jdb_exe} & CFPORT=$PORT PORT=3000 " - #output.sub! "web: '", "web: 'export CFPORT=$PORT && export PORT=3000 && curl -s https://github.com/ariel-bentu/java-buildpack/raw/master/appcontroller.tar.gz | tar xfpz - && ./appcontroller & " - #end - - +output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:dev_release) puts output From 2a4324030fabd8fbc73b6b82574ce69d0b601455 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:41:42 +0300 Subject: [PATCH 03/16] Update release --- bin/release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/release b/bin/release index dd5540cc73..fc161df375 100755 --- a/bin/release +++ b/bin/release @@ -22,5 +22,5 @@ require 'java_buildpack/buildpack' app_dir = ARGV[0] -output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:dev_release) +output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:release) puts output From ff055b0eca896e45c9c05067d78a8cb0e125aaa1 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:43:01 +0300 Subject: [PATCH 04/16] Update release --- bin/release | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bin/release b/bin/release index fc161df375..dd5540cc73 100755 --- a/bin/release +++ b/bin/release @@ -22,5 +22,5 @@ require 'java_buildpack/buildpack' app_dir = ARGV[0] -output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:release) +output = JavaBuildpack::Buildpack.with_buildpack(app_dir, 'Release failed with exception %s', &:dev_release) puts output From fac786a70be304d127fd37a6d26a87ebe905cd67 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:48:08 +0300 Subject: [PATCH 05/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index fd9093f02c..c7c10a9229 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -100,7 +100,7 @@ def release payload end - def dev_release + def dev_release container = component_detection('container', @containers, true).first no_container unless container From 92bb86c7faa14ac318e5c64bd725f59708bb8624 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:51:50 +0300 Subject: [PATCH 06/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index c7c10a9229..7853984259 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -126,7 +126,7 @@ def dev_release } strDevUtils = devUtils.to_json.gsub! "\"", "\\\"" - output.sub! "http.port=$PORT", "http.port=3000" + command.sub! "http.port=$PORT", "http.port=3000" runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") devStart = "web: 'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" From 09b2b091a65e36445c31bf27ab6c5f0ad29c031d Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:53:32 +0300 Subject: [PATCH 07/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index 7853984259..3fb2cf000b 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -129,7 +129,7 @@ def dev_release command.sub! "http.port=$PORT", "http.port=3000" runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") - devStart = "web: 'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" + devStart = "DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" payload = { 'addons' => [], 'config_vars' => {}, From 00e33f80ae57f426c080f7fef2216a576f7c2d98 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 00:57:52 +0300 Subject: [PATCH 08/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index 3fb2cf000b..ad7b807855 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -129,7 +129,7 @@ def dev_release command.sub! "http.port=$PORT", "http.port=3000" runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") - devStart = "DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd} '" + devStart = "'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd}'" payload = { 'addons' => [], 'config_vars' => {}, From 0e6d33372048ee995097db28e266ac5844d8cb21 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 01:01:01 +0300 Subject: [PATCH 09/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index ad7b807855..ee15945369 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -129,7 +129,7 @@ def dev_release command.sub! "http.port=$PORT", "http.port=3000" runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") - devStart = "'DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd}'" + devStart = "DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd}" payload = { 'addons' => [], 'config_vars' => {}, From f1c6a33ace1fe16d337fdf0c9fd1ee99a8ade489 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 16:06:06 +0300 Subject: [PATCH 10/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index ee15945369..c67c057a05 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -117,23 +117,25 @@ def dev_release app_controller_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/appcontroller" jdb_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/sc_jdb" - port = "8080" + port = ENV['PORT'] devUtils = { - :server_port => ":8080", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", - :start => "sleep 5000", :app_url => "http://localhost:3000" + :server_port => ":#{port}", + :jdb_path => "#{jdb_exe}", + :jdb_debug_path => "jdb", + :app_url => "http://localhost:3000" } strDevUtils = devUtils.to_json.gsub! "\"", "\\\"" command.sub! "http.port=$PORT", "http.port=3000" runCmd = (Base64.encode64("PORT=3000 " + command).delete("\n")).delete("\n") - devStart = "DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd}" + startDev = "DEV_UTILS=\"#{strDevUtils}\" #{app_controller_exe} -startCmd #{runCmd}" payload = { 'addons' => [], 'config_vars' => {}, - 'default_process_types' => { 'web' => devStart, 'task' => command } + 'default_process_types' => { 'web' => startDev, 'task' => command } }.to_yaml @logger.debug { "Release Payload:\n#{payload}" } From f701853622040f2c94305e85e674e269434e46a5 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 16:21:08 +0300 Subject: [PATCH 11/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index c67c057a05..f588613caf 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -118,7 +118,9 @@ def dev_release jdb_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/sc_jdb" port = ENV['PORT'] - + + @logger.debug { "App ENV Vars:\n#{ENV.to_h.to_yaml}" } + devUtils = { :server_port => ":#{port}", From 38d4b104d2d50b5bf64a2ed8767e4ccad3ba87d6 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 17:16:45 +0300 Subject: [PATCH 12/16] Update hotswap_agent.rb --- lib/java_buildpack/framework/hotswap_agent.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/java_buildpack/framework/hotswap_agent.rb b/lib/java_buildpack/framework/hotswap_agent.rb index cf9a35a4db..d52f946b74 100644 --- a/lib/java_buildpack/framework/hotswap_agent.rb +++ b/lib/java_buildpack/framework/hotswap_agent.rb @@ -46,6 +46,7 @@ def detect # (see JavaBuildpack::Component::BaseComponent#release) def release + @droplet.environment_variables.add_environment_variable 'SERVER_PORT', '$PORT' @droplet .java_opts .add_system_property('server.port','3000') From 2f471cd82f603e06a556b62fe68d06732482bbec Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 17:25:21 +0300 Subject: [PATCH 13/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index f588613caf..d2044fbe52 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -116,14 +116,12 @@ def dev_release app_controller_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/appcontroller" jdb_exe = "/home/vcap/app/.java-buildpack/hotswap_agent/lib/sc_jdb" - - port = ENV['PORT'] @logger.debug { "App ENV Vars:\n#{ENV.to_h.to_yaml}" } devUtils = { - :server_port => ":#{port}", + :server_port => "$PORT", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", :app_url => "http://localhost:3000" From 40c38a8abcb1ba34ae454c32e28e181d0ed38cbd Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 17:28:10 +0300 Subject: [PATCH 14/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index d2044fbe52..148ae4706b 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -121,6 +121,7 @@ def dev_release devUtils = { + :start => "default", :server_port => "$PORT", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", From cf4038bbf8aa91346f318f25146510c9bc2c2957 Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 17:28:58 +0300 Subject: [PATCH 15/16] Update hotswap_agent.rb --- lib/java_buildpack/framework/hotswap_agent.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/java_buildpack/framework/hotswap_agent.rb b/lib/java_buildpack/framework/hotswap_agent.rb index d52f946b74..cf9a35a4db 100644 --- a/lib/java_buildpack/framework/hotswap_agent.rb +++ b/lib/java_buildpack/framework/hotswap_agent.rb @@ -46,7 +46,6 @@ def detect # (see JavaBuildpack::Component::BaseComponent#release) def release - @droplet.environment_variables.add_environment_variable 'SERVER_PORT', '$PORT' @droplet .java_opts .add_system_property('server.port','3000') From 420614371d90882c1a6a4d2a737afb4990a4107b Mon Sep 17 00:00:00 2001 From: alexwo Date: Fri, 29 Sep 2017 17:31:37 +0300 Subject: [PATCH 16/16] Update buildpack.rb --- lib/java_buildpack/buildpack.rb | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/java_buildpack/buildpack.rb b/lib/java_buildpack/buildpack.rb index 148ae4706b..b08ac3d2a8 100644 --- a/lib/java_buildpack/buildpack.rb +++ b/lib/java_buildpack/buildpack.rb @@ -122,7 +122,7 @@ def dev_release devUtils = { :start => "default", - :server_port => "$PORT", + :server_port => ":$PORT", :jdb_path => "#{jdb_exe}", :jdb_debug_path => "jdb", :app_url => "http://localhost:3000" @@ -140,7 +140,6 @@ def dev_release }.to_yaml @logger.debug { "Release Payload:\n#{payload}" } - payload end