Berkshelf installs additional java


#1

Have a base build in Vagrant with Oracle Java 7 pre-installed. (I created a
wrapper cookbook for the community Java cookbook and successfully used
attributes to override the OpenJDK 6 default.)

Using the community Ant recipe. It specifies a Java dependency. Because of
this, Berkshelf additionally installs OpenJDK 7 which causes build
confusion.

I created a wrapper cookbook for Ant and specified the Oracle attributes in
it hoping that transitive Java install would take these attributes, but no
dice.

Lots of Googling before I turned here. The Java cookbook suggests that
consuming cookbooks allow for such an override but the Ant cookbook doesn’t
seem to allow it.

Am I overlooking some aspect of how to correctly configure metadata and the
Berksfile? It’s not a simple semver revision level problem.

At this point it seems I need to just install Ant with shell exec.

This is with Vagrant Berkshelf plugin driven by a Vagrantfile, not a ChefDK
kitchen.yml.

Thanks for any assistance.

Charlie


#2

That cookbook needs to be rewritten with LWRPs, instead of recipes, to
avoid this kind of problems.
I ended up creating my own java cookbook.

On Fri, Feb 13, 2015 at 9:42 AM, Charles Betz char@erp4it.com wrote:

Have a base build in Vagrant with Oracle Java 7 pre-installed. (I created
a wrapper cookbook for the community Java cookbook and successfully used
attributes to override the OpenJDK 6 default.)

Using the community Ant recipe. It specifies a Java dependency. Because of
this, Berkshelf additionally installs OpenJDK 7 which causes build
confusion.

I created a wrapper cookbook for Ant and specified the Oracle attributes
in it hoping that transitive Java install would take these attributes, but
no dice.

Lots of Googling before I turned here. The Java cookbook suggests that
consuming cookbooks allow for such an override but the Ant cookbook doesn’t
seem to allow it.

Am I overlooking some aspect of how to correctly configure metadata and
the Berksfile? It’s not a simple semver revision level problem.

At this point it seems I need to just install Ant with shell exec.

This is with Vagrant Berkshelf plugin driven by a Vagrantfile, not a
ChefDK kitchen.yml.

Thanks for any assistance.

Charlie


#3

Thanks – By “that cookbook” you mean the community Ant cookbook…?

On Fri, Feb 13, 2015 at 12:41 PM, Medya medya.gh@gmail.com wrote:

That cookbook needs to be rewritten with LWRPs, instead of recipes, to
avoid this kind of problems.
I ended up creating my own java cookbook.

On Fri, Feb 13, 2015 at 9:42 AM, Charles Betz char@erp4it.com wrote:

Have a base build in Vagrant with Oracle Java 7 pre-installed. (I created
a wrapper cookbook for the community Java cookbook and successfully used
attributes to override the OpenJDK 6 default.)

Using the community Ant recipe. It specifies a Java dependency. Because
of this, Berkshelf additionally installs OpenJDK 7 which causes build
confusion.

I created a wrapper cookbook for Ant and specified the Oracle attributes
in it hoping that transitive Java install would take these attributes, but
no dice.

Lots of Googling before I turned here. The Java cookbook suggests that
consuming cookbooks allow for such an override but the Ant cookbook doesn’t
seem to allow it.

Am I overlooking some aspect of how to correctly configure metadata and
the Berksfile? It’s not a simple semver revision level problem.

At this point it seems I need to just install Ant with shell exec.

This is with Vagrant Berkshelf plugin driven by a Vagrantfile, not a
ChefDK kitchen.yml.

Thanks for any assistance.

Charlie


#4

Looks like there is a PR out there to have it optionally include java
cookbook - https://github.com/opscode-cookbooks/ant/pull/7

The Java cookbook does provide the java_ark resource which I use to install
multiple jdks in jenkins -

Thanks,
-Eric Helgeson
@nulleric https://twitter.com/nulleric
http://usingchef.com

On Fri, Feb 13, 2015 at 12:46 PM, Charles Betz char@erp4it.com wrote:

Thanks – By “that cookbook” you mean the community Ant cookbook…?

On Fri, Feb 13, 2015 at 12:41 PM, Medya medya.gh@gmail.com wrote:

That cookbook needs to be rewritten with LWRPs, instead of recipes, to
avoid this kind of problems.
I ended up creating my own java cookbook.

On Fri, Feb 13, 2015 at 9:42 AM, Charles Betz char@erp4it.com wrote:

Have a base build in Vagrant with Oracle Java 7 pre-installed. (I
created a wrapper cookbook for the community Java cookbook and successfully
used attributes to override the OpenJDK 6 default.)

Using the community Ant recipe. It specifies a Java dependency. Because
of this, Berkshelf additionally installs OpenJDK 7 which causes build
confusion.

I created a wrapper cookbook for Ant and specified the Oracle attributes
in it hoping that transitive Java install would take these attributes, but
no dice.

Lots of Googling before I turned here. The Java cookbook suggests that
consuming cookbooks allow for such an override but the Ant cookbook doesn’t
seem to allow it.

Am I overlooking some aspect of how to correctly configure metadata and
the Berksfile? It’s not a simple semver revision level problem.

At this point it seems I need to just install Ant with shell exec.

This is with Vagrant Berkshelf plugin driven by a Vagrantfile, not a
ChefDK kitchen.yml.

Thanks for any assistance.

Charlie