maven-wobootstrap-plugin

Last modified by Lachlan Deck on 2011/08/16 18:43

Introduction

The wobootstrap plug-in is used to import the WebObjects libraries to the Maven's local repository or a remote repository for sharing with other developers and projects (for WebObjects version 5.3 and later, the license is now included as part of the Xcode software license. Please review the license in the Xcode installer to verify if you are not breaking the current terms).

This plug-in searches for the WebObjects jars and generates all the required information (groupId, artifactId and version) to import the libraries to the particular repository.

The wobootstrap goals usually need to be executed once per WebObjects version.

WebObjects 5.2 or later must be installed in order to use the wobootstrap plug-in. The supported platforms include MacOS X, Windows and Linux.

Goals Overview

The wobootstrap plug-in has 2 goals:

  • wobootstrap:install goal is used to import the WebObjects libraries to the local repository. It works in a similar way to the install:install-file goal, but the wobootstrap provides all the required information to install the jars.
  • woboostrap:deploy goal is used to import the WebObjects libraries to the specified remote repository. It works in a similar way to the deploy:deploy-file goal.

Usage

The wobootstrap:install Mojo

In most cases, wobootstrap:install doesn't need any configuration. It also doesn't need a Maven project to run.

Unknown macro: noformat. Click on this message for details.

The wobootstrap:deploy Mojo

The wobootstrap:deploy Mojo is used to install the WebObjects libraries to a remote repository (i.e. managed by an Enterprise Repository Manager). The full usage statement of the wobootstrap:deploy mojo can be described as:

Unknown macro: noformat. Click on this message for details.

If the url to deploy is not specified, the goal will fail. The repositoryId points to a server section in the settings.xml file. If you don't specify a repositoryId, Maven will try to extract authentication information using the default id 'remote-repository'.



Success

Using the full identifier

There are two reasons for needing to specify the complete identifier of the wobootstrap plugin:

  • You want to use a specific version
  • You have an environment out of your control and you cannot adjust the pluginGroups in the settings.xml file.

##
## Usage: <groupId>:<artifactId>[:<version>]:<goal>
## where goal is either install or deploy, for example.
##
mvn org.objectstyle.woproject.maven2:maven-wobootstrap-plugin[:<version>]:<goal>

Custom WebObjects Location

You can set 2 parameters to customize the mechanism used by this plug-in to locate WebObjects libraries:

  • webObjectsLibFolder (optional): The folder containing the WebObjects jars. If you provide a folder without the correct WebObjects libraries, the goal will succeed, but no libraries will be installed or deployed.
  • webObjectsVersion (optional): The version of the WebObjects jars.

These configurations are optional, but you have to provide both if you want to customize the search for WebObjects libraries.

Unknown macro: noformat. Click on this message for details.

You can use these parameters with both goals: install and deploy.

Warning
Installing the right jars!

Do not link to or install the WebObjects jars located inside /System/Library/Frameworks or /Library/Frameworks. If you're installing an older version of WebObjects you must obtain the jars that the WebObjects installer had previously installed into /Library/WebObjects/lib. For example, the jar /Library/WebObjects/lib/JavaWebObjects.jar has the complete set of resources and files included for the dependency JavaWebObjects whereas /System/Library/Frameworks/JavaWebObjects.framework/Resources/Java/javawebobjects.jar does not.

Tips

If the following error happens while using the wobootstrap:deploy goal: "Error deploying artifact: Unsupported Protocol: 'ftp': Cannot find wagon which supports the requested protocol: ftp"

See the solution here.