From e301d668dee2d586b0895c1531a856084ad01906 Mon Sep 17 00:00:00 2001 From: Brandon Turner Date: Tue, 17 Dec 2013 11:56:01 -0600 Subject: [PATCH] Specify windows attributes in attribute files This moves windows attributes back to the attribute file. https://github.com/socrata/java/pull/95 moved these to the recipe, however that prevents setting these attributes in a wrapper cookbook's attribute file. This ensures that only attributes which depend on jdk_version are set in the recipe. All other attributes are set in the attribute file like normal. --- attributes/default.rb | 11 ++++++++++- recipes/default.rb | 8 +++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/attributes/default.rb b/attributes/default.rb index 1e406893..cc885fb0 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -21,12 +21,21 @@ default['java']['remove_deprecated_packages'] = false # default jdk attributes -default['java']['install_flavor'] = "openjdk" default['java']['jdk_version'] = '6' default['java']['arch'] = kernel['machine'] =~ /x86_64/ ? "x86_64" : "i586" default['java']['openjdk_packages'] = [] default['java']['accept_license_agreement'] = false +case node['platform_family'] +when "windows" + default['java']['install_flavor'] = "windows" + default['java']['windows']['url'] = nil + default['java']['windows']['checksum'] = nil + default['java']['windows']['package_name'] = "Java(TM) SE Development Kit 7 (64-bit)" +else + default['java']['install_flavor'] = "openjdk" +end + case node['java']['install_flavor'] when 'ibm', 'ibm_tar' default['java']['ibm']['url'] = nil diff --git a/recipes/default.rb b/recipes/default.rb index c2720391..1a84e642 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -18,6 +18,9 @@ # limitations under the License. # +# Calculate variables that depend on jdk_version +# If you need to override this in an attribute file you must use +# force_default or higher precedence. case node['platform_family'] when "rhel", "fedora" node.default['java']['java_home'] = "/usr/lib/jvm/java" @@ -28,11 +31,6 @@ when "arch" node.default['java']['java_home'] = "/usr/lib/jvm/java-#{node['java']['jdk_version']}-openjdk" node.default['java']['openjdk_packages'] = ["openjdk#{node['java']['jdk_version']}}"] -when "windows" - node.default['java']['install_flavor'] = "windows" - node.default['java']['windows']['url'] = nil - node.default['java']['windows']['checksum'] = nil - node.default['java']['windows']['package_name'] = "Java(TM) SE Development Kit 7 (64-bit)" when "debian" node.default['java']['java_home'] = "/usr/lib/jvm/java-#{node['java']['jdk_version']}-#{node['java']['install_flavor']}" # Newer Debian & Ubuntu adds the architecture to the path