You are viewing a plain text version of this content. The canonical link for it is here.
Posted to m2-dev@maven.apache.org by mi...@apache.org on 2004/06/20 15:24:53 UTC

cvs commit: maven-components/maven-core maven-core.iml

michal      2004/06/20 06:24:53

  Modified:    maven-core/docs/apt/view dtree.css dtree.js
               maven-core/src/main/resources/org/apache/maven/messages
                        messages_no.properties
               maven-core/src/main/resources/org/apache/maven plexus.xml
               maven-core maven-core.iml
  Added:       maven-core/src/main/java/org/apache/maven/artifact/deployer
                        ArtifactDeployer.java DefaultArtifactDeployer.java
  Log:
  initial version of artifact deployer - tests soon to follow
  
  Revision  Changes    Path
  1.2       +33 -33    maven-components/maven-core/docs/apt/view/dtree.css
  
  Index: dtree.css
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/docs/apt/view/dtree.css,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dtree.css	11 Jun 2004 15:11:57 -0000	1.1
  +++ dtree.css	20 Jun 2004 13:24:53 -0000	1.2
  @@ -1,34 +1,34 @@
  -/*--------------------------------------------------|
  -| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
  -|---------------------------------------------------|
  -| Copyright (c) 2002-2003 Geir Landr�               |
  -|--------------------------------------------------*/
  -
  -.dtree {
  -	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  -	font-size: 11px;
  -	color: #666;
  -	white-space: nowrap;
  -}
  -.dtree img {
  -	border: 0px;
  -	vertical-align: middle;
  -}
  -.dtree a {
  -	color: #333;
  -	text-decoration: none;
  -}
  -.dtree a.node, .dtree a.nodeSel {
  -	white-space: nowrap;
  -	padding: 1px 2px 1px 2px;
  -}
  -.dtree a.node:hover, .dtree a.nodeSel:hover {
  -	color: #333;
  -	text-decoration: underline;
  -}
  -.dtree a.nodeSel {
  -	background-color: #c0d2ec;
  -}
  -.dtree .clip {
  -	overflow: hidden;
  +/*--------------------------------------------------|
  +| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
  +|---------------------------------------------------|
  +| Copyright (c) 2002-2003 Geir Landr�               |
  +|--------------------------------------------------*/
  +
  +.dtree {
  +	font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
  +	font-size: 11px;
  +	color: #666;
  +	white-space: nowrap;
  +}
  +.dtree img {
  +	border: 0px;
  +	vertical-align: middle;
  +}
  +.dtree a {
  +	color: #333;
  +	text-decoration: none;
  +}
  +.dtree a.node, .dtree a.nodeSel {
  +	white-space: nowrap;
  +	padding: 1px 2px 1px 2px;
  +}
  +.dtree a.node:hover, .dtree a.nodeSel:hover {
  +	color: #333;
  +	text-decoration: underline;
  +}
  +.dtree a.nodeSel {
  +	background-color: #c0d2ec;
  +}
  +.dtree .clip {
  +	overflow: hidden;
   }
  
  
  
  1.2       +346 -346  maven-components/maven-core/docs/apt/view/dtree.js
  
  Index: dtree.js
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/docs/apt/view/dtree.js,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- dtree.js	11 Jun 2004 15:11:57 -0000	1.1
  +++ dtree.js	20 Jun 2004 13:24:53 -0000	1.2
  @@ -1,347 +1,347 @@
  -/*--------------------------------------------------|

  -| dTree 2.05 | www.destroydrop.com/javascript/tree/ |

  -|---------------------------------------------------|

  -| Copyright (c) 2002-2003 Geir Landr�               |

  -|                                                   |

  -| This script can be used freely as long as all     |

  -| copyright messages are intact.                    |

  -|                                                   |

  -| Updated: 17.04.2003                               |

  -|--------------------------------------------------*/

  -

  -// Node object

  -function Node(id, pid, name, url, title, target, icon, iconOpen, open) {

  -	this.id = id;

  -	this.pid = pid;

  -	this.name = name;

  -	this.url = url;

  -	this.title = title;

  -	this.target = target;

  -	this.icon = icon;

  -	this.iconOpen = iconOpen;

  -	this._io = open || false;

  -	this._is = false;

  -	this._ls = false;

  -	this._hc = false;

  -	this._ai = 0;

  -	this._p;

  -};

  -

  -// Tree object

  -function dTree(objName) {

  -	this.config = {

  -		target					: null,

  -		folderLinks			: true,

  -		useSelection		: true,

  -		useCookies			: true,

  -		useLines				: true,

  -		useIcons				: true,

  -		useStatusText		: false,

  -		closeSameLevel	: false,

  -		inOrder					: false

  -	}

  -	this.icon = {

  -		root				: 'img/base.gif',

  -		folder			: 'img/folder.gif',

  -		folderOpen	: 'img/folderopen.gif',

  -		node				: 'img/page.gif',

  -		empty				: 'img/empty.gif',

  -		line				: 'img/line.gif',

  -		join				: 'img/join.gif',

  -		joinBottom	: 'img/joinbottom.gif',

  -		plus				: 'img/plus.gif',

  -		plusBottom	: 'img/plusbottom.gif',

  -		minus				: 'img/minus.gif',

  -		minusBottom	: 'img/minusbottom.gif',

  -		nlPlus			: 'img/nolines_plus.gif',

  -		nlMinus			: 'img/nolines_minus.gif'

  -	};

  -	this.obj = objName;

  -	this.aNodes = [];

  -	this.aIndent = [];

  -	this.root = new Node(-1);

  -	this.selectedNode = null;

  -	this.selectedFound = false;

  -	this.completed = false;

  -};

  -

  -// Adds a new node to the node array

  -dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) {

  -	this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);

  -};

  -

  -// Open/close all nodes

  -dTree.prototype.openAll = function() {

  -	this.oAll(true);

  -};

  -dTree.prototype.closeAll = function() {

  -	this.oAll(false);

  -};

  -

  -// Outputs the tree to the page

  -dTree.prototype.toString = function() {

  -	var str = '<div class="dtree">\n';

  -	if (document.getElementById) {

  -		if (this.config.useCookies) this.selectedNode = this.getSelected();

  -		str += this.addNode(this.root);

  -	} else str += 'Browser not supported.';

  -	str += '</div>';

  -	if (!this.selectedFound) this.selectedNode = null;

  -	this.completed = true;

  -	return str;

  -};

  -

  -// Creates the tree structure

  -dTree.prototype.addNode = function(pNode) {

  -	var str = '';

  -	var n=0;

  -	if (this.config.inOrder) n = pNode._ai;

  -	for (n; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n].pid == pNode.id) {

  -			var cn = this.aNodes[n];

  -			cn._p = pNode;

  -			cn._ai = n;

  -			this.setCS(cn);

  -			if (!cn.target && this.config.target) cn.target = this.config.target;

  -			if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);

  -			if (!this.config.folderLinks && cn._hc) cn.url = null;

  -			if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {

  -					cn._is = true;

  -					this.selectedNode = n;

  -					this.selectedFound = true;

  -			}

  -			str += this.node(cn, n);

  -			if (cn._ls) break;

  -		}

  -	}

  -	return str;

  -};

  -

  -// Creates the node icon, url and text

  -dTree.prototype.node = function(node, nodeId) {

  -	var str = '<div class="dTreeNode">' + this.indent(node, nodeId);

  -	if (this.config.useIcons) {

  -		if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);

  -		if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;

  -		if (this.root.id == node.pid) {

  -			node.icon = this.icon.root;

  -			node.iconOpen = this.icon.root;

  -		}

  -		str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />';

  -	}

  -	if (node.url) {

  -		str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';

  -		if (node.title) str += ' title="' + node.title + '"';

  -		if (node.target) str += ' target="' + node.target + '"';

  -		if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" ';

  -		if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))

  -			str += ' onclick="javascript: ' + this.obj + '.s(' + nodeId + ');"';

  -		str += '>';

  -	}

  -	else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id)

  -		str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');" class="node">';

  -	str += node.name;

  -	if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>';

  -	str += '</div>';

  -	if (node._hc) {

  -		str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">';

  -		str += this.addNode(node);

  -		str += '</div>';

  -	}

  -	this.aIndent.pop();

  -	return str;

  -};

  -

  -// Adds the empty and line icons

  -dTree.prototype.indent = function(node, nodeId) {

  -	var str = '';

  -	if (this.root.id != node.pid) {

  -		for (var n=0; n<this.aIndent.length; n++)

  -			str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />';

  -		(node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);

  -		if (node._hc) {

  -			str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="';

  -			if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus;

  -			else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) );

  -			str += '" alt="" /></a>';

  -		} else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />';

  -	}

  -	return str;

  -};

  -

  -// Checks if a node has any children and if it is the last sibling

  -dTree.prototype.setCS = function(node) {

  -	var lastId;

  -	for (var n=0; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n].pid == node.id) node._hc = true;

  -		if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;

  -	}

  -	if (lastId==node.id) node._ls = true;

  -};

  -

  -// Returns the selected node

  -dTree.prototype.getSelected = function() {

  -	var sn = this.getCookie('cs' + this.obj);

  -	return (sn) ? sn : null;

  -};

  -

  -// Highlights the selected node

  -dTree.prototype.s = function(id) {

  -	if (!this.config.useSelection) return;

  -	var cn = this.aNodes[id];

  -	if (cn._hc && !this.config.folderLinks) return;

  -	if (this.selectedNode != id) {

  -		if (this.selectedNode || this.selectedNode==0) {

  -			eOld = document.getElementById("s" + this.obj + this.selectedNode);

  -			eOld.className = "node";

  -		}

  -		eNew = document.getElementById("s" + this.obj + id);

  -		eNew.className = "nodeSel";

  -		this.selectedNode = id;

  -		if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);

  -	}

  -};

  -

  -// Toggle Open or close

  -dTree.prototype.o = function(id) {

  -	var cn = this.aNodes[id];

  -	this.nodeStatus(!cn._io, id, cn._ls);

  -	cn._io = !cn._io;

  -	if (this.config.closeSameLevel) this.closeLevel(cn);

  -	if (this.config.useCookies) this.updateCookie();

  -};

  -

  -// Open or close all nodes

  -dTree.prototype.oAll = function(status) {

  -	for (var n=0; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {

  -			this.nodeStatus(status, n, this.aNodes[n]._ls)

  -			this.aNodes[n]._io = status;

  -		}

  -	}

  -	if (this.config.useCookies) this.updateCookie();

  -};

  -

  -// Opens the tree to a specific node

  -dTree.prototype.openTo = function(nId, bSelect, bFirst) {

  -	if (!bFirst) {

  -		for (var n=0; n<this.aNodes.length; n++) {

  -			if (this.aNodes[n].id == nId) {

  -				nId=n;

  -				break;

  -			}

  -		}

  -	}

  -	var cn=this.aNodes[nId];

  -	if (cn.pid==this.root.id || !cn._p) return;

  -	cn._io = true;

  -	cn._is = bSelect;

  -	if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);

  -	if (this.completed && bSelect) this.s(cn._ai);

  -	else if (bSelect) this._sn=cn._ai;

  -	this.openTo(cn._p._ai, false, true);

  -};

  -

  -// Closes all nodes on the same level as certain node

  -dTree.prototype.closeLevel = function(node) {

  -	for (var n=0; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {

  -			this.nodeStatus(false, n, this.aNodes[n]._ls);

  -			this.aNodes[n]._io = false;

  -			this.closeAllChildren(this.aNodes[n]);

  -		}

  -	}

  -}

  -

  -// Closes all children of a node

  -dTree.prototype.closeAllChildren = function(node) {

  -	for (var n=0; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {

  -			if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);

  -			this.aNodes[n]._io = false;

  -			this.closeAllChildren(this.aNodes[n]);		

  -		}

  -	}

  -}

  -

  -// Change the status of a node(open or closed)

  -dTree.prototype.nodeStatus = function(status, id, bottom) {

  -	eDiv	= document.getElementById('d' + this.obj + id);

  -	eJoin	= document.getElementById('j' + this.obj + id);

  -	if (this.config.useIcons) {

  -		eIcon	= document.getElementById('i' + this.obj + id);

  -		eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;

  -	}

  -	eJoin.src = (this.config.useLines)?

  -	((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):

  -	((status)?this.icon.nlMinus:this.icon.nlPlus);

  -	eDiv.style.display = (status) ? 'block': 'none';

  -};

  -

  -

  -// [Cookie] Clears a cookie

  -dTree.prototype.clearCookie = function() {

  -	var now = new Date();

  -	var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);

  -	this.setCookie('co'+this.obj, 'cookieValue', yesterday);

  -	this.setCookie('cs'+this.obj, 'cookieValue', yesterday);

  -};

  -

  -// [Cookie] Sets value in a cookie

  -dTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {

  -	document.cookie =

  -		escape(cookieName) + '=' + escape(cookieValue)

  -		+ (expires ? '; expires=' + expires.toGMTString() : '')

  -		+ (path ? '; path=' + path : '')

  -		+ (domain ? '; domain=' + domain : '')

  -		+ (secure ? '; secure' : '');

  -};

  -

  -// [Cookie] Gets a value from a cookie

  -dTree.prototype.getCookie = function(cookieName) {

  -	var cookieValue = '';

  -	var posName = document.cookie.indexOf(escape(cookieName) + '=');

  -	if (posName != -1) {

  -		var posValue = posName + (escape(cookieName) + '=').length;

  -		var endPos = document.cookie.indexOf(';', posValue);

  -		if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));

  -		else cookieValue = unescape(document.cookie.substring(posValue));

  -	}

  -	return (cookieValue);

  -};

  -

  -// [Cookie] Returns ids of open nodes as a string

  -dTree.prototype.updateCookie = function() {

  -	var str = '';

  -	for (var n=0; n<this.aNodes.length; n++) {

  -		if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {

  -			if (str) str += '.';

  -			str += this.aNodes[n].id;

  -		}

  -	}

  -	this.setCookie('co' + this.obj, str);

  -};

  -

  -// [Cookie] Checks if a node id is in a cookie

  -dTree.prototype.isOpen = function(id) {

  -	var aOpen = this.getCookie('co' + this.obj).split('.');

  -	for (var n=0; n<aOpen.length; n++)

  -		if (aOpen[n] == id) return true;

  -	return false;

  -};

  -

  -// If Push and pop is not implemented by the browser

  -if (!Array.prototype.push) {

  -	Array.prototype.push = function array_push() {

  -		for(var i=0;i<arguments.length;i++)

  -			this[this.length]=arguments[i];

  -		return this.length;

  -	}

  -};

  -if (!Array.prototype.pop) {

  -	Array.prototype.pop = function array_pop() {

  -		lastElement = this[this.length-1];

  -		this.length = Math.max(this.length-1,0);

  -		return lastElement;

  -	}

  +/*--------------------------------------------------|
  +| dTree 2.05 | www.destroydrop.com/javascript/tree/ |
  +|---------------------------------------------------|
  +| Copyright (c) 2002-2003 Geir Landr�               |
  +|                                                   |
  +| This script can be used freely as long as all     |
  +| copyright messages are intact.                    |
  +|                                                   |
  +| Updated: 17.04.2003                               |
  +|--------------------------------------------------*/
  +
  +// Node object
  +function Node(id, pid, name, url, title, target, icon, iconOpen, open) {
  +	this.id = id;
  +	this.pid = pid;
  +	this.name = name;
  +	this.url = url;
  +	this.title = title;
  +	this.target = target;
  +	this.icon = icon;
  +	this.iconOpen = iconOpen;
  +	this._io = open || false;
  +	this._is = false;
  +	this._ls = false;
  +	this._hc = false;
  +	this._ai = 0;
  +	this._p;
  +};
  +
  +// Tree object
  +function dTree(objName) {
  +	this.config = {
  +		target					: null,
  +		folderLinks			: true,
  +		useSelection		: true,
  +		useCookies			: true,
  +		useLines				: true,
  +		useIcons				: true,
  +		useStatusText		: false,
  +		closeSameLevel	: false,
  +		inOrder					: false
  +	}
  +	this.icon = {
  +		root				: 'img/base.gif',
  +		folder			: 'img/folder.gif',
  +		folderOpen	: 'img/folderopen.gif',
  +		node				: 'img/page.gif',
  +		empty				: 'img/empty.gif',
  +		line				: 'img/line.gif',
  +		join				: 'img/join.gif',
  +		joinBottom	: 'img/joinbottom.gif',
  +		plus				: 'img/plus.gif',
  +		plusBottom	: 'img/plusbottom.gif',
  +		minus				: 'img/minus.gif',
  +		minusBottom	: 'img/minusbottom.gif',
  +		nlPlus			: 'img/nolines_plus.gif',
  +		nlMinus			: 'img/nolines_minus.gif'
  +	};
  +	this.obj = objName;
  +	this.aNodes = [];
  +	this.aIndent = [];
  +	this.root = new Node(-1);
  +	this.selectedNode = null;
  +	this.selectedFound = false;
  +	this.completed = false;
  +};
  +
  +// Adds a new node to the node array
  +dTree.prototype.add = function(id, pid, name, url, title, target, icon, iconOpen, open) {
  +	this.aNodes[this.aNodes.length] = new Node(id, pid, name, url, title, target, icon, iconOpen, open);
  +};
  +
  +// Open/close all nodes
  +dTree.prototype.openAll = function() {
  +	this.oAll(true);
  +};
  +dTree.prototype.closeAll = function() {
  +	this.oAll(false);
  +};
  +
  +// Outputs the tree to the page
  +dTree.prototype.toString = function() {
  +	var str = '<div class="dtree">\n';
  +	if (document.getElementById) {
  +		if (this.config.useCookies) this.selectedNode = this.getSelected();
  +		str += this.addNode(this.root);
  +	} else str += 'Browser not supported.';
  +	str += '</div>';
  +	if (!this.selectedFound) this.selectedNode = null;
  +	this.completed = true;
  +	return str;
  +};
  +
  +// Creates the tree structure
  +dTree.prototype.addNode = function(pNode) {
  +	var str = '';
  +	var n=0;
  +	if (this.config.inOrder) n = pNode._ai;
  +	for (n; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n].pid == pNode.id) {
  +			var cn = this.aNodes[n];
  +			cn._p = pNode;
  +			cn._ai = n;
  +			this.setCS(cn);
  +			if (!cn.target && this.config.target) cn.target = this.config.target;
  +			if (cn._hc && !cn._io && this.config.useCookies) cn._io = this.isOpen(cn.id);
  +			if (!this.config.folderLinks && cn._hc) cn.url = null;
  +			if (this.config.useSelection && cn.id == this.selectedNode && !this.selectedFound) {
  +					cn._is = true;
  +					this.selectedNode = n;
  +					this.selectedFound = true;
  +			}
  +			str += this.node(cn, n);
  +			if (cn._ls) break;
  +		}
  +	}
  +	return str;
  +};
  +
  +// Creates the node icon, url and text
  +dTree.prototype.node = function(node, nodeId) {
  +	var str = '<div class="dTreeNode">' + this.indent(node, nodeId);
  +	if (this.config.useIcons) {
  +		if (!node.icon) node.icon = (this.root.id == node.pid) ? this.icon.root : ((node._hc) ? this.icon.folder : this.icon.node);
  +		if (!node.iconOpen) node.iconOpen = (node._hc) ? this.icon.folderOpen : this.icon.node;
  +		if (this.root.id == node.pid) {
  +			node.icon = this.icon.root;
  +			node.iconOpen = this.icon.root;
  +		}
  +		str += '<img id="i' + this.obj + nodeId + '" src="' + ((node._io) ? node.iconOpen : node.icon) + '" alt="" />';
  +	}
  +	if (node.url) {
  +		str += '<a id="s' + this.obj + nodeId + '" class="' + ((this.config.useSelection) ? ((node._is ? 'nodeSel' : 'node')) : 'node') + '" href="' + node.url + '"';
  +		if (node.title) str += ' title="' + node.title + '"';
  +		if (node.target) str += ' target="' + node.target + '"';
  +		if (this.config.useStatusText) str += ' onmouseover="window.status=\'' + node.name + '\';return true;" onmouseout="window.status=\'\';return true;" ';
  +		if (this.config.useSelection && ((node._hc && this.config.folderLinks) || !node._hc))
  +			str += ' onclick="javascript: ' + this.obj + '.s(' + nodeId + ');"';
  +		str += '>';
  +	}
  +	else if ((!this.config.folderLinks || !node.url) && node._hc && node.pid != this.root.id)
  +		str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');" class="node">';
  +	str += node.name;
  +	if (node.url || ((!this.config.folderLinks || !node.url) && node._hc)) str += '</a>';
  +	str += '</div>';
  +	if (node._hc) {
  +		str += '<div id="d' + this.obj + nodeId + '" class="clip" style="display:' + ((this.root.id == node.pid || node._io) ? 'block' : 'none') + ';">';
  +		str += this.addNode(node);
  +		str += '</div>';
  +	}
  +	this.aIndent.pop();
  +	return str;
  +};
  +
  +// Adds the empty and line icons
  +dTree.prototype.indent = function(node, nodeId) {
  +	var str = '';
  +	if (this.root.id != node.pid) {
  +		for (var n=0; n<this.aIndent.length; n++)
  +			str += '<img src="' + ( (this.aIndent[n] == 1 && this.config.useLines) ? this.icon.line : this.icon.empty ) + '" alt="" />';
  +		(node._ls) ? this.aIndent.push(0) : this.aIndent.push(1);
  +		if (node._hc) {
  +			str += '<a href="javascript: ' + this.obj + '.o(' + nodeId + ');"><img id="j' + this.obj + nodeId + '" src="';
  +			if (!this.config.useLines) str += (node._io) ? this.icon.nlMinus : this.icon.nlPlus;
  +			else str += ( (node._io) ? ((node._ls && this.config.useLines) ? this.icon.minusBottom : this.icon.minus) : ((node._ls && this.config.useLines) ? this.icon.plusBottom : this.icon.plus ) );
  +			str += '" alt="" /></a>';
  +		} else str += '<img src="' + ( (this.config.useLines) ? ((node._ls) ? this.icon.joinBottom : this.icon.join ) : this.icon.empty) + '" alt="" />';
  +	}
  +	return str;
  +};
  +
  +// Checks if a node has any children and if it is the last sibling
  +dTree.prototype.setCS = function(node) {
  +	var lastId;
  +	for (var n=0; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n].pid == node.id) node._hc = true;
  +		if (this.aNodes[n].pid == node.pid) lastId = this.aNodes[n].id;
  +	}
  +	if (lastId==node.id) node._ls = true;
  +};
  +
  +// Returns the selected node
  +dTree.prototype.getSelected = function() {
  +	var sn = this.getCookie('cs' + this.obj);
  +	return (sn) ? sn : null;
  +};
  +
  +// Highlights the selected node
  +dTree.prototype.s = function(id) {
  +	if (!this.config.useSelection) return;
  +	var cn = this.aNodes[id];
  +	if (cn._hc && !this.config.folderLinks) return;
  +	if (this.selectedNode != id) {
  +		if (this.selectedNode || this.selectedNode==0) {
  +			eOld = document.getElementById("s" + this.obj + this.selectedNode);
  +			eOld.className = "node";
  +		}
  +		eNew = document.getElementById("s" + this.obj + id);
  +		eNew.className = "nodeSel";
  +		this.selectedNode = id;
  +		if (this.config.useCookies) this.setCookie('cs' + this.obj, cn.id);
  +	}
  +};
  +
  +// Toggle Open or close
  +dTree.prototype.o = function(id) {
  +	var cn = this.aNodes[id];
  +	this.nodeStatus(!cn._io, id, cn._ls);
  +	cn._io = !cn._io;
  +	if (this.config.closeSameLevel) this.closeLevel(cn);
  +	if (this.config.useCookies) this.updateCookie();
  +};
  +
  +// Open or close all nodes
  +dTree.prototype.oAll = function(status) {
  +	for (var n=0; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n]._hc && this.aNodes[n].pid != this.root.id) {
  +			this.nodeStatus(status, n, this.aNodes[n]._ls)
  +			this.aNodes[n]._io = status;
  +		}
  +	}
  +	if (this.config.useCookies) this.updateCookie();
  +};
  +
  +// Opens the tree to a specific node
  +dTree.prototype.openTo = function(nId, bSelect, bFirst) {
  +	if (!bFirst) {
  +		for (var n=0; n<this.aNodes.length; n++) {
  +			if (this.aNodes[n].id == nId) {
  +				nId=n;
  +				break;
  +			}
  +		}
  +	}
  +	var cn=this.aNodes[nId];
  +	if (cn.pid==this.root.id || !cn._p) return;
  +	cn._io = true;
  +	cn._is = bSelect;
  +	if (this.completed && cn._hc) this.nodeStatus(true, cn._ai, cn._ls);
  +	if (this.completed && bSelect) this.s(cn._ai);
  +	else if (bSelect) this._sn=cn._ai;
  +	this.openTo(cn._p._ai, false, true);
  +};
  +
  +// Closes all nodes on the same level as certain node
  +dTree.prototype.closeLevel = function(node) {
  +	for (var n=0; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n].pid == node.pid && this.aNodes[n].id != node.id && this.aNodes[n]._hc) {
  +			this.nodeStatus(false, n, this.aNodes[n]._ls);
  +			this.aNodes[n]._io = false;
  +			this.closeAllChildren(this.aNodes[n]);
  +		}
  +	}
  +}
  +
  +// Closes all children of a node
  +dTree.prototype.closeAllChildren = function(node) {
  +	for (var n=0; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n].pid == node.id && this.aNodes[n]._hc) {
  +			if (this.aNodes[n]._io) this.nodeStatus(false, n, this.aNodes[n]._ls);
  +			this.aNodes[n]._io = false;
  +			this.closeAllChildren(this.aNodes[n]);		
  +		}
  +	}
  +}
  +
  +// Change the status of a node(open or closed)
  +dTree.prototype.nodeStatus = function(status, id, bottom) {
  +	eDiv	= document.getElementById('d' + this.obj + id);
  +	eJoin	= document.getElementById('j' + this.obj + id);
  +	if (this.config.useIcons) {
  +		eIcon	= document.getElementById('i' + this.obj + id);
  +		eIcon.src = (status) ? this.aNodes[id].iconOpen : this.aNodes[id].icon;
  +	}
  +	eJoin.src = (this.config.useLines)?
  +	((status)?((bottom)?this.icon.minusBottom:this.icon.minus):((bottom)?this.icon.plusBottom:this.icon.plus)):
  +	((status)?this.icon.nlMinus:this.icon.nlPlus);
  +	eDiv.style.display = (status) ? 'block': 'none';
  +};
  +
  +
  +// [Cookie] Clears a cookie
  +dTree.prototype.clearCookie = function() {
  +	var now = new Date();
  +	var yesterday = new Date(now.getTime() - 1000 * 60 * 60 * 24);
  +	this.setCookie('co'+this.obj, 'cookieValue', yesterday);
  +	this.setCookie('cs'+this.obj, 'cookieValue', yesterday);
  +};
  +
  +// [Cookie] Sets value in a cookie
  +dTree.prototype.setCookie = function(cookieName, cookieValue, expires, path, domain, secure) {
  +	document.cookie =
  +		escape(cookieName) + '=' + escape(cookieValue)
  +		+ (expires ? '; expires=' + expires.toGMTString() : '')
  +		+ (path ? '; path=' + path : '')
  +		+ (domain ? '; domain=' + domain : '')
  +		+ (secure ? '; secure' : '');
  +};
  +
  +// [Cookie] Gets a value from a cookie
  +dTree.prototype.getCookie = function(cookieName) {
  +	var cookieValue = '';
  +	var posName = document.cookie.indexOf(escape(cookieName) + '=');
  +	if (posName != -1) {
  +		var posValue = posName + (escape(cookieName) + '=').length;
  +		var endPos = document.cookie.indexOf(';', posValue);
  +		if (endPos != -1) cookieValue = unescape(document.cookie.substring(posValue, endPos));
  +		else cookieValue = unescape(document.cookie.substring(posValue));
  +	}
  +	return (cookieValue);
  +};
  +
  +// [Cookie] Returns ids of open nodes as a string
  +dTree.prototype.updateCookie = function() {
  +	var str = '';
  +	for (var n=0; n<this.aNodes.length; n++) {
  +		if (this.aNodes[n]._io && this.aNodes[n].pid != this.root.id) {
  +			if (str) str += '.';
  +			str += this.aNodes[n].id;
  +		}
  +	}
  +	this.setCookie('co' + this.obj, str);
  +};
  +
  +// [Cookie] Checks if a node id is in a cookie
  +dTree.prototype.isOpen = function(id) {
  +	var aOpen = this.getCookie('co' + this.obj).split('.');
  +	for (var n=0; n<aOpen.length; n++)
  +		if (aOpen[n] == id) return true;
  +	return false;
  +};
  +
  +// If Push and pop is not implemented by the browser
  +if (!Array.prototype.push) {
  +	Array.prototype.push = function array_push() {
  +		for(var i=0;i<arguments.length;i++)
  +			this[this.length]=arguments[i];
  +		return this.length;
  +	}
  +};
  +if (!Array.prototype.pop) {
  +	Array.prototype.pop = function array_pop() {
  +		lastElement = this[this.length-1];
  +		this.length = Math.max(this.length-1,0);
  +		return lastElement;
  +	}
   };
  
  
  
  1.1                  maven-components/maven-core/src/main/java/org/apache/maven/artifact/deployer/ArtifactDeployer.java
  
  Index: ArtifactDeployer.java
  ===================================================================
  package org.apache.maven.artifact.deployer;
  
  import org.apache.maven.project.MavenProject;
  import org.apache.maven.artifact.installer.ArtifactInstaller;
  
  import java.io.File;
  
  /**
   *
   * @author <a href="michal@codehaus.org">Michal Maczka</a>
   * @version $Id: ArtifactDeployer.java,v 1.1 2004/06/20 13:24:53 michal Exp $
   */
  public interface ArtifactDeployer
  {
      String ROLE = ArtifactDeployer.class.getName();
  
      /**
       *
       * @todo we need to improve exception handling 
       */
      void deploy(  File artifact, String type, MavenProject project ) throws Exception;
  
  }
  
  
  
  1.1                  maven-components/maven-core/src/main/java/org/apache/maven/artifact/deployer/DefaultArtifactDeployer.java
  
  Index: DefaultArtifactDeployer.java
  ===================================================================
  package org.apache.maven.artifact.deployer;
  
  import org.apache.maven.project.MavenProject;
  import org.apache.maven.artifact.factory.MavenArtifactFactory;
  import org.apache.maven.artifact.MavenArtifact;
  import org.apache.maven.artifact.installer.ArtifactInstaller;
  import org.apache.maven.artifact.snapshot.SnapshotUtils;
  import org.apache.maven.model.Dependency;
  import org.apache.maven.model.DistributionManagement;
  import org.apache.maven.wagon.manager.WagonManager;
  import org.apache.maven.wagon.Wagon;
  import org.apache.maven.wagon.ConnectionException;
  import org.apache.maven.wagon.PathUtils;
  import org.apache.maven.wagon.WagonUtils;
  import org.apache.maven.wagon.observers.ChecksumObserver;
  import org.apache.maven.wagon.repository.Repository;
  import org.codehaus.plexus.util.FileUtils;
  
  import java.io.File;
  
  
  /**
   * @author <a href="michal@codehaus.org">Michal Maczka</a>
   * @version $Id: DefaultArtifactDeployer.java,v 1.1 2004/06/20 13:24:53 michal Exp $
   */
  public class DefaultArtifactDeployer
      implements ArtifactDeployer
  {
      private MavenArtifactFactory artifactFactory;
  
  
      private WagonManager wagonManager;
  
      public void deploy( File file, String type, MavenProject project )
          throws Exception
      {
          Wagon wagon = null;
  
          try
          {
              DistributionManagement distributionManagement =  project.getDistributionManagement();
  
              String host = distributionManagement.getHost();
  
              String directory = distributionManagement.getDirectory();
  
              String protocol = PathUtils.protocol(  host );
  
              wagon = wagonManager.getWagon( protocol  );
  
              Repository repository = new Repository();
  
              String url;
  
              if ( host.endsWith( "/"  ) )
              {
                   url = host + directory;
              }
  
              else
              {
                 url = host + "/"  +directory;
              }
  
              repository.setUrl( url );
  
              wagon.connect( repository );
  
              ChecksumObserver md5ChecksumObserver = new ChecksumObserver();
  
              wagon.addTransferListener( md5ChecksumObserver );
  
              if ( project.getVersion().endsWith( "SNAPSHOT" ) )
              {
                  String timestamp = SnapshotUtils.getTimestamp();
  
                  MavenArtifact artifact = deployFile( wagon, file, type, timestamp, project );
  
                  WagonUtils.fromString( artifact.getSnapshotVersionPath(), wagon , timestamp);
  
                  // we don't want to install pom twice
                  if ( !type.equals( "pom" ) )
                  {
                      deployFile( wagon, project.getFile(), "pom", timestamp, project );
  
                      MavenArtifact pomArtifact = deployFile( wagon, file, type, timestamp, project );
  
                      WagonUtils.fromString( pomArtifact.getSnapshotVersionPath(), wagon , timestamp);
  
                  }
              }
  
              deployFile( wagon, file, type, project.getVersion(), project );
          }
          finally
          {
              if ( wagon != null )
              {
                  try
                  {
                      wagon.disconnect();
                  }
                  catch ( ConnectionException e )
                  {
                      //what to to here?
                  }
                  try
                  {
                      wagonManager.releaseWagon( wagon );
                  }
                  catch ( Exception e )
                  {
                     //
                  }
              }
          }
  
          if ( !type.equals( "pom" ) )
          {
              deployFile( wagon, project.getFile(), "pom", project.getVersion(), project );
          }
  
  
  
      }
  
      public MavenArtifact deployFile( Wagon wagon, File file, String type, String version, MavenProject project )
          throws Exception
      {
  
          Dependency dependency = new Dependency();
  
          dependency.setGroupId( project.getGroupId() );
  
          dependency.setArtifactId( project.getArtifactId() );
  
          dependency.setVersion( project.getVersion() );
  
          dependency.setType( type );
  
          MavenArtifact artifact = artifactFactory.createArtifact( dependency  );
  
          String resource = artifact.getPath();
  
          wagon.put( file, resource );
  
          return artifact;
  
      }
  }
  
  
  
  1.2       +15 -15    maven-components/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties
  
  Index: messages_no.properties
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/src/main/resources/org/apache/maven/messages/messages_no.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- messages_no.properties	11 Jun 2004 15:11:55 -0000	1.1
  +++ messages_no.properties	20 Jun 2004 13:24:53 -0000	1.2
  @@ -1,16 +1,16 @@
  -# --------------------------------------------------------------------------
  -# Project Verifier
  -# --------------------------------------------------------------------------
  -failed.download.warning=ADVARSEL: Mislykket nedlasting av ${1}.
  -remote.repository.disabled.warning=Bruk av fjernlager er deaktivert.
  -directory.nonexistant.warning=Mappen ${1} finnes ikke. Fors\u00f8ker \u00e5 opprette.
  -not.directory.warning=${1} er ikke en mappe.
  -not.writable.warning=Kan ikke skirve til ${1}.
  -cannot.create.directory.warning=Kan ikke opprette mappen ${1}.
  -maven.repo.local.unset.warning=maven.repo.local er ikke definert.
  -single.unsatisfied.dependency.error=Byggeprosessen kan ikke fortsette p\u00e5 grunn av f\u00f8lgende mislykkede avhengighet:
  -multiple.unsatisfied.dependency.error=The build cannot continue because of the following unsatisfied dependencies:
  -offline.snapshot.warning=Du arbeider frakoblet. Byggeprosessen vil fortsette, men ${1} kan bli utdatert!
  -download.message=Fors\u00f8ker \u00e5 laste ned ${1}.
  -plugin.loading.error=Plugin ${1} kunne ikke lastes.
  +# --------------------------------------------------------------------------
  +# Project Verifier
  +# --------------------------------------------------------------------------
  +failed.download.warning=ADVARSEL: Mislykket nedlasting av ${1}.
  +remote.repository.disabled.warning=Bruk av fjernlager er deaktivert.
  +directory.nonexistant.warning=Mappen ${1} finnes ikke. Fors\u00f8ker \u00e5 opprette.
  +not.directory.warning=${1} er ikke en mappe.
  +not.writable.warning=Kan ikke skirve til ${1}.
  +cannot.create.directory.warning=Kan ikke opprette mappen ${1}.
  +maven.repo.local.unset.warning=maven.repo.local er ikke definert.
  +single.unsatisfied.dependency.error=Byggeprosessen kan ikke fortsette p\u00e5 grunn av f\u00f8lgende mislykkede avhengighet:
  +multiple.unsatisfied.dependency.error=The build cannot continue because of the following unsatisfied dependencies:
  +offline.snapshot.warning=Du arbeider frakoblet. Byggeprosessen vil fortsette, men ${1} kan bli utdatert!
  +download.message=Fors\u00f8ker \u00e5 laste ned ${1}.
  +plugin.loading.error=Plugin ${1} kunne ikke lastes.
   empty.descriptor.error=The ${1} file you specified has zero length.
  
  
  
  1.12      +12 -0     maven-components/maven-core/src/main/resources/org/apache/maven/plexus.xml
  
  Index: plexus.xml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/src/main/resources/org/apache/maven/plexus.xml,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- plexus.xml	19 Jun 2004 20:20:54 -0000	1.11
  +++ plexus.xml	20 Jun 2004 13:24:53 -0000	1.12
  @@ -140,5 +140,17 @@
          </requirement>
         </requirements>
       </component>
  +    <component>
  +      <role>org.apache.maven.artifact.deployer.ArtifactDeployer</role>
  +      <implementation>org.apache.maven.artifact.deployer.DefaultArtifactDeployer</implementation>
  +      <requirements>
  +        <requirement>
  +         <role>org.apache.maven.artifact.factory.MavenArtifactFactory</role>
  +       </requirement>
  +       <requirement>
  +          <role>org.apache.maven.wagon.manager.WagonManager</role>
  +       </requirement>
  +      </requirements>
  +    </component>
     </components>
   </configuration>
  
  
  
  1.2       +75 -176   maven-components/maven-core/maven-core.iml
  
  Index: maven-core.iml
  ===================================================================
  RCS file: /home/cvs/maven-components/maven-core/maven-core.iml,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- maven-core.iml	11 Jun 2004 15:11:51 -0000	1.1
  +++ maven-core.iml	20 Jun 2004 13:24:53 -0000	1.2
  @@ -1,176 +1,75 @@
  -<?xml version="1.0" encoding="UTF-8"?>
  -<module version="4" relativePaths="false">
  -  <component name="ModuleRootManager" />
  -  <component name="NewModuleRootManager">
  -    <exclude-output />
  -    <content url="file://$MODULE_DIR$">
  -      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
  -      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
  -    </content>
  -    <orderEntry type="jdk" jdkName="java version &quot;1.4.2&quot;" />
  -    <orderEntry type="sourceFolder" forTests="false" />
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/maven-model-2.0-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/commons-cli/jars/commons-cli-1.0-beta-2.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/xpp3/jars/xpp3-1.1.3.3.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/plexus/jars/plexus-0.14-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/plexus/jars/plexus-i18n-1.0-beta-2-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/classworlds/jars/classworlds-1.1-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/xstream/jars/xstream-1.0-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/ognl/jars/ognl-2.5.1.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/marmalade/jars/marmalade-core-0.1.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/marmalade/jars/marmalade-el-ognl-0.1.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/tagalog/jars/tagalog-0.1.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/plexus/jars/plexus-compiler-1.0-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/surefire/jars/surefire-booter-1.0.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/wagon-api-0.9-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/wagon-http-0.9-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/junit/jars/junit-3.8.1.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/maven-plugin-2.0-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -    <orderEntry type="module-library">
  -      <library>
  -        <CLASSES>
  -          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/maven-artifact-2.0-SNAPSHOT.jar!/" />
  -        </CLASSES>
  -        <JAVADOC />
  -        <SOURCES />
  -      </library>
  -    </orderEntry>
  -  </component>
  -</module>
  -
  +<?xml version="1.0" encoding="UTF-8"?>
  +<module version="4" relativePaths="true" type="JAVA_MODULE">
  +  <component name="ModuleRootManager" />
  +  <component name="NewModuleRootManager">
  +    <output url="file://$MODULE_DIR$/classes" />
  +    <exclude-output />
  +    <output-test url="file://$MODULE_DIR$/test-classes" />
  +    <content url="file://$MODULE_DIR$">
  +      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
  +      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" isTestSource="false" />
  +      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
  +      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" isTestSource="true" />
  +    </content>
  +    <orderEntry type="inheritedJdk" />
  +    <orderEntry type="sourceFolder" forTests="false" />
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/xpp3/jars/xpp3-1.1.3.3.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/xstream/jars/xstream-1.0-SNAPSHOT.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/plexus/jars/plexus-0.14-SNAPSHOT.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/classworlds/jars/classworlds-1.1-SNAPSHOT.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntry type="module" module-name="maven-plugin" />
  +    <orderEntry type="module" module-name="maven-artifact" />
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/maven-model-2.0-SNAPSHOT.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntry type="module-library">
  +      <library>
  +        <CLASSES>
  +          <root url="jar://$MAVEN_REPO_LOCAL$/maven/jars/wagon-api-0.9-SNAPSHOT.jar!/" />
  +        </CLASSES>
  +        <JAVADOC />
  +        <SOURCES />
  +      </library>
  +    </orderEntry>
  +    <orderEntryProperties />
  +  </component>
  +</module>
  +