Update to latest dev version of Centipede whivh uses the newly committed

xmlproperty task in Ant :-)


git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@352466 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Nicola Ken Barozzi 2002-04-22 11:00:18 +00:00
parent 87e2a50c7c
commit 87b8e10390
12 changed files with 3385 additions and 540 deletions

View File

@ -1,5 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="./tools/antipede/resources/stylesheets/layout.xsl"?> <?xml-stylesheet type="text/xsl" href="./tools/antipede/resources/stylesheets/layout.xsl"?>
<!--<!DOCTYPE project SYSTEM "./tools/antipede/build.dtd" >-->
<!DOCTYPE project [ <!DOCTYPE project [
<!-- antipede --> <!-- antipede -->
<!ENTITY import-antipede SYSTEM "./tools/antipede/build.xtarget"> <!ENTITY import-antipede SYSTEM "./tools/antipede/build.xtarget">
@ -351,7 +353,7 @@
description="Make big full test"> description="Make big full test">
<antcall target="gump"/> <antcall target="gump"/>
<antcall target="quickdist"/> <antcall target="dist"/>
</target> </target>

View File

@ -1,452 +0,0 @@
<html>
<head>
<title>Krysalis Centipede build system</title>
<meta name="Author" content="Thomas Brattli (webmaster@dhtmlcentral.com)">
<META NAME="Generator" CONTENT="Designer:Thomas Brattli (www.bratta.com)">
<style type="text/css">
.dot { position: absolute; width: 30; height: 40; visibility: hidden; background-color: red; font-size: 1px; cursor: pointer; cursor: hand; z-index: 100 }
.dotoff { position: absolute; width: 30; height: 40; visibility: hidden; background-color: gray; font-size: 1px; cursor:default; z-index: 100}
.dotempty { position: absolute; width: 30; height: 40; visibility: hidden; background-color: orange; font-size: 1px; cursor: pointer; cursor: hand; zindex: 100 }
.caption { position: absolute; visibility: hidden; font-family: Tahoma; color: black;
font-size: 16px; text-align: Center; cursor: default; z-index:
1 }
body { margin: 0px; background-color: white; }
a { color: silver; text-decoration: none }
p { font-size: 10px; font-family: tahoma; color: black }
</style>
<script language="JavaScript" type="text/javascript">
/**********************************************************************************
DotMenu
* Copyright (C) 2001 <a href="/dhtmlcentral/dan_pupius.asp">Dan Pupius</a>
* This script was released at DHTMLCentral.com
* Visit for more great scripts!
* This may be used and changed freely as long as this msg is intact!
* We will also appreciate any links you could give us.
*
* Made by <a href="/dhtmlcentral/dan_pupius.asp">Dan Pupius</a>
*********************************************************************************/
function lib_bwcheck(){ //Browsercheck (needed)
this.ver=navigator.appVersion
this.agent=navigator.userAgent
this.dom=document.getElementById?1:0
this.opera5=this.agent.indexOf("Opera 5")>-1
this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
this.ie=this.ie4||this.ie5||this.ie6
this.mac=this.agent.indexOf("Mac")>-1
this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
this.ns4=(document.layers && !this.dom)?1:0;
this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
return this
}
var bw=new lib_bwcheck()
// The code of this script is in the body, the browsercheck above is not used.
</script>
</head>
<body marginleft="0" marginheight="0">
<!-- START DELETE --><!--
<div style="position:absolute; left:0; top:0"><a href="#" onclick="self.close(); return false"><img src="/images/logo.gif" width="165" height="54" alt="" border="0" alt="Click to close window"></a></div>
<br><br><br>-->
<!-- END DELETE -->
<br>
<script language="javascript1.2" type="text/javascript">
<!--
// DotMenu
// provides cross-browser functionality
//======================================
function getObjectRef(name) {
if(document.getElementById) return document.getElementById(name);
else if(document.all) return document.all[name];
else return null;
}
// general functions to assist the script
//========================================
function show(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "visible";
}
function hide(name) {
var el = getObjectRef(name);
if(el) el.style.visibility = "hidden";
}
function getWidth(name) {
var el = getObjectRef(name);
return el.offsetWidth;
}
function getHeight(name) {
var el = getObjectRef(name);
return el.offsetHeight;
}
function moveMe(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(y); el.style.left = parseInt(x); }
}
function moveBy(name,x,y) {
var el = getObjectRef(name);
if(el) { el.style.top = parseInt(el.style.top) + parseInt(y); el.style.left = parseInt(el.style.left) + parseInt(x); }
}
// Creates the menu objects
//==========================
var menuCount = 0;
function menuObject(name,x,y,caption, r, parent) {
if ( (!document.getElementById&&!document.all) || navigator.userAgent.indexOf("Opera")>-1) return;
document.write('<div id="divDot' + menuCount + '" class="dotempty" style="top: ' + y + '; left: ' + x + '"></div>');
document.write('<div id="divCap' + menuCount + '" class="caption" style="top: 0; left: 0">' + caption + '</div>');
this.name = name;
this.parent = parent
this.ref = "divDot" + menuCount;
this.caption = "divCap" + menuCount
if(r) this.radius = r;
else this.radius = 400;
this.subMenus = new Array();
this.state = 0;
this.moving = false;
if(this.parent) this.action = "null";
else this.action = "toggle";
if(this.parent) this.startAngle = parent.startAngle;
else this.startAngle = 0;
getObjectRef(this.ref).objRef = this.name;
this.show = function() { show(this.ref); }
this.hide = function() { hide(this.ref); }
this.moveMe = function(x,y) { if(this.parent) { x += this.parent.x(); y += this.parent.y(); } moveMe(this.ref,x,y); }
this.moveBy = function(x,y) { moveBy(this.ref,x,y); }
this.x = function() { return parseInt(getObjectRef(this.ref).style.left); }
this.y = function() { return parseInt(getObjectRef(this.ref).style.top); }
this.w = function() { return getWidth(this.ref); }
this.h = function() { return getHeight(this.ref); }
this.showCaption = function() {
moveMe(this.caption, this.x() - (getWidth(this.caption)/2) + (this.w()/2), (this.y() + this.h()));
show(this.caption);
}
this.hideCaption = function() {
hide(this.caption);
}
this.setCaption = function(c) { getObjectRef(this.caption).innerHTML = c;}
this.addItem = function(c,action,r) {
getObjectRef(this.ref).className = "dot";
if(!r) r = this.radius/2;
var sub = new menuObject(this.name + ".subMenus[" + this.subMenus.length + "]",0,0,c,r,this);
sub.parent = this;
sub.action = action;
sub.moveMe(0,0);
this.subMenus[this.subMenus.length] = sub;
return sub;
}
this.expand = function() {
if(this.subMenus.length > 0) {
var p = true;
if(this.parent) {
p = !this.parent.moving;
for(var i=0; i<this.parent.subMenus.length;i++)
p = p && ((this.parent.subMenus[i].state==0) || (this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length)) && (this.parent.subMenus[i].moving==false);
} else var o = false;
if((!this.parent || this.parent.state == this.parent.subMenus.length) && p) {
if(this.parent) this.collapseAll(this.name);
var diff = 360 / this.subMenus.length;
for(var i=0;i<this.subMenus.length;i++){
this.subMenus[i].moveMe(0,0);
this.subMenus[i].show();
this.moving = true;
this.subMenus[i].slide(this.subMenus[i].radius * cos(degToRad((diff*i)+this.startAngle)), this.subMenus[i].radius * sin(degToRad((diff*i)+this.startAngle)), this.name + ".subMenus[" + i + "].showCaption();" + this.name + ".moving=false;" + this.name + ".state+=1;");
}
if(this.parent){
getObjectRef(this.parent.ref).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.ref).className = "dotoff";
getObjectRef(this.parent.caption).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.caption).style.MozOpacity = "33%";
for(i=0;i<this.parent.subMenus.length;i++) {
getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "66%";
getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "66%";
}
if(this.parent.parent) {
for(i=0;i<this.parent.parent.subMenus.length;i++) {
getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotoff";
getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=33)";
getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "33%";
}
getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
getObjectRef(this.parent.parent.ref).className = "dotoff";
}
}
getObjectRef(this.ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.ref).style.MozOpacity = "66%";
getObjectRef(this.caption).style.MozOpacity = "66%";
}
}
}
this.collapse = function() {
var p = true;
p = !this.moving;
for(var i=0; i<this.subMenus.length;i++)
p = p && (this.subMenus[i].state==0) && (this.subMenus[i].moving==false);
if(p && this.subMenus.length > 0) {
for(var i=0;i<this.subMenus.length;i++){
this.subMenus[i].hideCaption();
this.moving = true;
this.subMenus[i].slide(0, 0, this.name + ".subMenus[" + i + "].hide();" + this.name + ".moving=false;" + this.name + ".state-=1;");
}
if(this.parent){
getObjectRef(this.parent.ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.ref).style.MozOpacity = "66%";
if(this.parent.subMenus.length != 0)
getObjectRef(this.parent.ref).className = "dot";
else
getObjectRef(this.parent.ref).className = "dotempty";
getObjectRef(this.parent.caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.caption).style.MozOpacity = "66%";
for(i=0;i<this.parent.subMenus.length;i++) {
getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=100)";
getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "100%";
if(this.parent.subMenus[i].subMenus.length != 0)
getObjectRef(this.parent.subMenus[i].ref).className = "dot";
else
getObjectRef(this.parent.subMenus[i].ref).className = "dotempty";
getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=100)";
getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "100%";
}
if(this.parent.parent) {
for(i=0;i<this.parent.parent.subMenus.length;i++) {
getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "66%";
if(this.parent.parent.subMenus[i].subMenus.length != 0)
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dot";
else
getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotempty";
getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "66%";
}
}
}
getObjectRef(this.ref).style.filter = "alpha (opacity=100)";
getObjectRef(this.caption).style.filter = "alpha (opacity=100)";
getObjectRef(this.ref).style.MozOpacity = "100%";
getObjectRef(this.caption).style.MozOpacity = "100%";
}
}
this.collapseAll = function(except) {
for(var i=0;i<this.parent.subMenus.length;i++) {
if(this.parent.subMenus[i].name!=except && this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length) {
this.parent.subMenus[i].collapse();
}
}
}
this.toggle = function(e) {
if(document.all) id = window.event.srcElement;
else id = e.target;
var dot = eval(id.objRef);
if(dot.state==0 && !dot.moving) dot.expand();
else if(dot.state==dot.subMenus.length && !dot.moving) dot.collapse()
}
this.doAction = function(e) {
if(document.all) id = window.event.srcElement;
else id = e.target;
var dot = eval(id.objRef);
if(dot.action == "toggle") dot.toggle(e);
else eval(dot.action);
}
//change these if you want to change the events that trigger the actions
//========================================================================
//getObjectRef(this.ref).onmousemove = this.toggle;
getObjectRef(this.ref).onmouseup = this.doAction;
this.slide = function(xx,yy,func) {
if(!func) func = "";
var px = this.parent.x();
var py = this.parent.y();
var x = xx - this.x() + px;
var y = yy - this.y() + py;
var d = sqrt(square(xx-this.x() + px) + square(yy-this.y() + py));
var v = d/8;
if(v<1) v = 1;
if( (Math.abs(x) < v) && (Math.abs(y) < v) ) {
moveMe(this.ref,xx + px,yy + py);
if(func != "") eval(func);
} else {
var a = round(atan(x,y));
dx = round(v * cos(degToRad(a)));
dy = round(v * sin(degToRad(a)));
this.moveBy(dx,dy);
setTimeout(this.name + ".slide(" + xx + "," + yy + ", '" + func + "');",10);
}
}
// Preoading the windows filters.
if (menuCount==0 && document.all) document.all[this.ref].style.filter = "alpha (opacity=100)";
menuCount++;
return this;
}
// Math functions
//================
var pi = Math.PI;
function square(x) { return (x*x); }
function sqrt(x) { return Math.sqrt(x); }
function round(x) { return Math.round(x); }
function rand(x,y) { return (round(Math.random()*(y-x)) + x); }
function cos(x) { return Math.cos(x) }
function sin(x) { return Math.sin(x) }
function degToRad(x) { return ( x/(360/(2*pi)) ); }
function radToDeg(x) { return ( x*(360/(2*pi)) ); }
function atan(s,t) {
if( s == 0.0 && t > 0.0)
angle = 90.0;
else if(s == 0.0 && t < 0.0)
angle = 270.0;
else if (s < 0.0 )
angle = 180.0 + radToDeg(Math.atan(t/s));
else if (s > 0.0 && t < 0.0)
angle = 360.0 + radToDeg(Math.atan(t/s));
else {
if(s==0.0) s=0.00001;
angle = radToDeg(Math.atan(t/s));
}
if(angle < 0.0) angle += 360.0;
return angle;
}
//====================================================================================
// make the menus and provide information on usage
//====================================================================================
//
// In order to customise your menus all you need to do is:
// - edit the styles .dot, .dotoff and .caption
// - add the main menu using the following code
// var [menu_name] = new menuObject("[menu_name]", [x position], [y position], [caption], [spacing between sub menus]);
// - add the subemus using:
// var [sub_menu] = [menu_name].addItem([caption],[action],[spacing]);
// OR
// var [sub-sub_menu] = [sub_menu].addItem([caption],[action],[spacing]);
// OR
// [menu_name].subMenus[x].addItem([caption],[action],[spacing]);
//
// - where action is string that get's evaluated when the dot is clicked
//
// (NOTE the spacing is optional and if left blank gets inherited
// and is equal to the (parent's value)/2 - the default for
// the main menu item uis 400)
//
// - the following allow extra manipulation of the menus:
// + menuItem.show() - show's the menu's dot
// + menuItem.showCaption() - show's the menu's caption
// + menuItem.hide()
// + menuItem.hideCaption()
// + menuItem.startAngle = x - default is 0-degrees which means the first submenu appears
// directly to the right, the following items are traced in a
// clockwise direction
// + menuItem.setCaption("text") - allows you to change a menus caption
// + menuItem.expand() - opens a menus submenus (if they exist)
// + menuItem.collapse() - closes a menu's subItems (unless one of them is open)
//
// + menuItem.moveMe(x,y) - moves a menu to coordinates (x,y)
// + menuItem.moveBy(x,y) - moves a menu by (x,y)-pixels
// + menuItem.x() & menuItem.y() - retrieve a menus coordinates
//
//====================================================================================
//get dimentions of the page
if(document.all) pageWidth = document.body.offsetWidth-20;
else pageWidth = innerWidth;
if(document.all) pageHeight = document.body.offsetHeight-4;
else pageHeight = innerHeight;
//Create main menu
var menu = new menuObject("menu",pageWidth/2,pageHeight/2,"Apache Jakarta POI",pageHeight/2);
menu.startAngle = -90;
//show menu and caption
menu.show();
menu.showCaption();
//Add submenus
menu.addItem("COMMUNITY","toggle");
menu.addItem("DOCS","toggle");
menu.addItem("CODE","toggle");
menu.subMenus[0].addItem("site","window.open('http://jakarta.apache.org/poi/')");
menu.subMenus[0].addItem("status","window.open('status.xml')");
menu.subMenus[1].addItem("site","window.open('./build/docs/index.html')");
menu.subMenus[1].addItem("javadocs","window.open('./build/docs/javadocs/index.html')");
menu.subMenus[1].addItem("test results","window.open('./build/docs/test/index.html')");
menu.subMenus[1].addItem("code metrics","window.open('./build/docs/metrics/jdepend-report.html')");
menu.subMenus[2].addItem("module","window.open('module.xml')");
menu.subMenus[2].addItem("layout","window.open('layout.xml')");
menu.subMenus[2].addItem("build","window.open('build.xml')");
menu.subMenus[2].addItem("properties","window.open('properties.xml')");
/*
c = menu.subMenus[4].addItem("Cool Sites","toggle");
c.startAngle = 15;
menu.subMenus[4].addItem("Portals","window.open('/resources/default.asp?catid=7&cattitle=Portals')");
menu.subMenus[4].addItem("Script Sites","window.open('/resources/default.asp?catid=1&cattitle=Script+sites')");
menu.subMenus[4].addItem("Tutorials &<br>References","toggle");
menu.subMenus[4].subMenus[0].addItem("Comercial Sites","window.open('/resources/default.asp?catid=5&cattitle=Commercial+sites')");
menu.subMenus[4].subMenus[0].addItem("Personal Sites","window.open('/resources/default.asp?catid=6&cattitle=Personal+sites')");
menu.subMenus[4].subMenus[0].addItem("Experimental Projects","window.open('/resources/default.asp?catid=4&cattitle=Experimental+projects')");
menu.subMenus[4].subMenus[3].addItem("References","window.open('/resources/default.asp?catid=8&cattitle=References')");
menu.subMenus[4].subMenus[3].addItem("Tutorials & Articles","window.open('/resources/default.asp?catid=9&cattitle=Tutorials+and+Articles')");
*/
//--></script>
<p>   <b>INSTRUCTIONS</b><br>
   - click the dots to expand/collapse the tiers or perform the action<br>
   - a menu's sub-menus must be collapsed in order to collapse it's parent</p>
</body>
</html>

View File

@ -1,7 +1,7 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/layout.xsl"?> <?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/layout.xsl"?>
<layout dir="."> <layout dir=".">
<legal dir="./legal"/> <legal dir="./legal"/>
<library dir="./lib"> <library dir="./lib">
<endorsed dir="./lib/endorsed"/> <endorsed dir="./lib/endorsed"/>
<core dir="./lib/core"/> <core dir="./lib/core"/>
@ -40,7 +40,7 @@
<classes dir="./build/classes"/> <classes dir="./build/classes"/>
<test dir="./build/testcases"/> <test dir="./build/testcases"/>
<work dir="./build/work"/> <work dir="./build/work"/>
<documentation dir="./build/documentation"> <documentation dir="./build/docs">
<javadocs dir="./build/docs/javadocs"/> <javadocs dir="./build/docs/javadocs"/>
<test dir="./build/docs/test"/> <test dir="./build/docs/test"/>
<metrics dir="./build/docs/metrics"/> <metrics dir="./build/docs/metrics"/>

View File

@ -3,17 +3,6 @@
<!-- Build properties - these override any property specified in the build --> <!-- Build properties - these override any property specified in the build -->
<properties> <properties>
<!-- Properties for core Ant tasks-->
<ant>
<XmlLogger>
<stylesheet
uri="./tools/antipede/resources/stylesheets/log.xsl" />
</XmlLogger>
</ant>
<XmlLogger
file="log.xml" />
<!-- Properties of the build --> <!-- Properties of the build -->
<build> <build>
<!-- What to tell the compiler --> <!-- What to tell the compiler -->

View File

@ -2,21 +2,6 @@
<?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/status.xsl"?> <?xml-stylesheet type="text/xsl" href="tools/antipede/resources/stylesheets/status.xsl"?>
<status> <status>
<descriptors>
<descriptor id="status" href="status.xml">
Status </descriptor>
<descriptor id="module" href="module.xml">
Module </descriptor>
<descriptor id="properties" href="properties.xml">
Properties </descriptor>
<descriptor id="layout" href="layout.xml">
Layout </descriptor>
<descriptor id="build" href="build.xml">
Build </descriptor>
<descriptor id="log" href="log.xml">
Log </descriptor>
</descriptors>
<developers> <developers>
<!-- in strict alphabetical order --> <!-- in strict alphabetical order -->
<person name="Andrew C. Oliver" id="acoliver" email="acoliver@apache.org"/> <person name="Andrew C. Oliver" id="acoliver" email="acoliver@apache.org"/>

3179
tools/antipede/build.dtd Normal file

File diff suppressed because it is too large Load Diff

View File

@ -27,19 +27,22 @@
<fail unless="tools.jar.present" message="tools.jar not found. Probably JDK not installed."/> <fail unless="tools.jar.present" message="tools.jar not found. Probably JDK not installed."/>
<!-- create fixed centipede dirs --> <!-- fixed centipede dirs -->
<property name="tools.dir" value="tools"/> <property name="tools.dir" value="tools"/>
<property name="temp.dir" value="tools/tmp"/> <property name="temp.dir" value="tools/tmp"/>
<mkdir dir="${temp.dir}"/>
<property name="cents.dir" value="tools/cents"/> <property name="cents.dir" value="tools/cents"/>
<mkdir dir="${cents.dir}"/>
<property name="antipede.dir" value="tools/antipede"/> <property name="antipede.dir" value="tools/antipede"/>
<property name="antipede.lib.dir" value="tools/antipede/lib"/> <property name="antipede.lib.dir" value="tools/antipede/lib"/>
<property name="cent.lib.dir.name" value="lib"/> <property name="cent.lib.dir.name" value="lib"/>
<property name="task.properties.name" value="tasks.properties"/> <property name="task.properties.name" value="tasks.properties"/>
<property name="cent.jar.suffix" value="cent.jar"/> <property name="cent.jar.suffix" value="cent.jar"/>
<property name="cent.dir.suffix" value="cent"/> <property name="cent.dir.suffix" value="cent"/>
<property name="cent.installed.suffix" value="installed"/>
<mkdir dir="${cents.dir}"/>
<!-- define all ant tasks in antipede --> <!-- define all ant tasks in antipede -->
<taskdef file="${antipede.dir}/${task.properties.name}"> <taskdef file="${antipede.dir}/${task.properties.name}">
@ -56,46 +59,13 @@
<!-- <!--
Load project information Load project information
--> -->
<centipede-xml-property file="module.xml" prefix="xgump" keeproot="true" /> <xmlproperty file="module.xml" prefix="xgump" keeproot="true" collapseAttributes="true" />
<centipede-xml-property file="status.xml" prefix="xstatus" keeproot="false" /> <xmlproperty file="status.xml" prefix="xstatus" keeproot="false" collapseAttributes="true" />
<centipede-xml-property file="layout.xml" prefix="xlayout" keeproot="false" /> <xmlproperty file="layout.xml" prefix="xlayout" keeproot="false" collapseAttributes="true" />
<centipede-xml-property file="properties.xml" keeproot="false" /> <xmlproperty file="properties.xml" keeproot="false" collapseAttributes="true" />
<style basedir="." <antcall target="get-needed-cents"/>
destdir="${temp.dir}"
includes="properties.xml"
extension=".build.xml"
style="${antipede.dir}/resources/stylesheets/getcent.xsl"/>
<ant antfile="${temp.dir}/properties.build.xml"
inheritAll="true"
dir="."
target="getcents" />
<!--
<style basedir="."
destdir="${temp.dir}"
includes="module.xml"
extension=".build.xml"
style="${antipede.dir}/resources/stylesheets/getlibs.xsl"/>
<ant antfile="${temp.dir}/module.build.xml"
inheritAll="true"
dir="."
target="getlibs" />
-->
<!-- Unpack jarred cents -->
<antipede-foreach target="-cent-unjar" param="current.cent.jar">
<fileset dir="." casesensitive="yes">
<patternset>
<include name="${cents.dir}/*.${cent.jar.suffix}"/>
</patternset>
</fileset>
</antipede-foreach>
<delete dir="${cents.dir}/META-INF"/>
<mkdir dir="${temp.dir}"/>
<delete file="${temp.dir}/${task.properties.name}"/> <delete file="${temp.dir}/${task.properties.name}"/>
<!-- put all ant task definitions in cents in a single file --> <!-- put all ant task definitions in cents in a single file -->
@ -125,6 +95,47 @@
</target> </target>
<!-- ================================ -->
<!-- Used only by the -init target -->
<!-- =================================-->
<target name="get-needed-cents">
<style basedir="."
destdir="${temp.dir}"
includes="properties.xml"
extension=".build.xml"
style="${antipede.dir}/resources/stylesheets/getcent.xsl"/>
<ant antfile="${temp.dir}/properties.build.xml"
inheritall="true"
dir="."
target="getcents" />
<style basedir="."
destdir="${temp.dir}"
includes="module.xml"
extension=".build.xml"
style="${antipede.dir}/resources/stylesheets/getcorelibs.xsl"/>
<!--
<ant antfile="${temp.dir}/module.build.xml"
inheritall="true"
dir="."
target="getcorelibs" />
-->
<!-- Unpack jarred cents -->
<antipede-foreach target="-cent-unjar" param="current.cent.jar">
<fileset dir="." casesensitive="yes">
<patternset>
<include name="${cents.dir}/*.${cent.jar.suffix}"/>
</patternset>
</fileset>
</antipede-foreach>
<delete dir="${cents.dir}/META-INF"/>
</target>
<!-- ================================ --> <!-- ================================ -->
<!-- Used only by the -init target --> <!-- Used only by the -init target -->
<!-- =================================--> <!-- =================================-->
@ -174,19 +185,18 @@
<!-- ==============================================--> <!-- ==============================================-->
<target name="call-cent"> <target name="call-cent">
<ant antfile="tools/cents/${cent-name}.cent/xbuild.xml" <ant antfile="tools/cents/${cent-name}.cent/xbuild.xml"
inheritAll="true" inheritall="true"
dir="." dir="."
target="${cent-target}" /> target="${cent-target}" />
</target> </target>
<!-- ================================== --> <!-- ================================== -->
<!-- Create a cent.jar package --> <!-- Create a cent.jar package -->
<!-- using an already deployed cent --> <!-- using an already deployed cent -->
<!-- ================================== --> <!-- ================================== -->
<target name="jar-cent" depends="-init" <target name="jar-cent" depends="-init">
description="Compile java source code">
<antcall target="call-cent"> <antcall target="call-cent">
<param name="cent-name" value="centipede"/> <param name="cent-name" value="centipede"/>
@ -194,3 +204,53 @@
</antcall> </antcall>
</target> </target>
<!-- ================================== -->
<!-- Create a cent.jar package -->
<!-- using an already deployed cent -->
<!-- ================================== -->
<target name="update-cent">
<centipede-user-input name="cent-name">Please select a cent to update: </centipede-user-input>
<delete file="${cents.dir}/${cent-name}.${cent.jar.suffix}"/>
<delete dir="${cents.dir}/${cent-name}.${cent.dir.suffix}"/>
<antcall target="get-needed-cents"/>
</target>
<!-- ================================== -->
<!-- Create a cent.jar package -->
<!-- using an already deployed cent -->
<!-- ================================== -->
<target name="update-all-cents">
<property name="yn" value="n"/>
<centipede-user-input name="yn">This will delete and download all cents. Are you sure? [y/n]: </centipede-user-input>
<condition property="stopit">
<not>
<equals arg1="${yn}" arg2="y"/>
</not>
</condition>
<fail if="stopit"/>
<delete dir="${cents.dir}"/>
<mkdir dir="${cents.dir}"/>
<antcall target="get-needed-cents"/>
</target>
<!-- ================================== -->
<!-- Create a cent.jar package -->
<!-- using an already deployed cent -->
<!-- ================================== -->
<target name="create-dtd" depends="-init">
<antstructure output="${xlayout.build.dir}/build.dtd"/>
</target>

Binary file not shown.

View File

@ -62,12 +62,19 @@
<target> <target>
<xsl:attribute name="name"><xsl:value-of select="name()"/>-present</xsl:attribute> <xsl:attribute name="name"><xsl:value-of select="name()"/>-present</xsl:attribute>
<available> <condition>
<xsl:attribute name="file">${cents.dir}/<xsl:value-of select="name()"/>.cent.jar</xsl:attribute>
<xsl:attribute name="property"><xsl:value-of select="name()"/>.present</xsl:attribute> <xsl:attribute name="property"><xsl:value-of select="name()"/>.present</xsl:attribute>
</available> <or>
<available>
<xsl:attribute name="file">${cents.dir}/<xsl:value-of select="name()"/>.cent.jar</xsl:attribute>
</available>
<available type="dir">
<xsl:attribute name="file">${cents.dir}/<xsl:value-of select="name()"/>.cent</xsl:attribute>
</available>
</or>
</condition>
<echo><xsl:value-of select="name()"/>.cent.jar is present: ${<xsl:value-of select="name()"/>.present}</echo> <echo><xsl:value-of select="name()"/> cent is present: ${<xsl:value-of select="name()"/>.present}</echo>
</target> </target>
</xsl:for-each> </xsl:for-each>

View File

@ -0,0 +1,77 @@
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<project default="getcorelibs" basedir="." name="getcorelibs">
<description>
Autogenerated Ant build file that downloads core libs for the project.
</description>
<target name="getcorelibs">
<xsl:attribute name="depends">
<xsl:for-each select = "module/project/depend">
<xsl:value-of select="@project"/>-present,
</xsl:for-each>
<xsl:for-each select = "module/project/depend">
<xsl:value-of select="@project"/>-target,
</xsl:for-each>dummy-target
</xsl:attribute>
</target>
<xsl:apply-templates/>
<target name="dummy-target">
<echo message="core libs fetch finished"/>
</target>
</project>
</xsl:template>
<xsl:template match="properties">
<xsl:variable name = "repository" select = "@project" />
<xsl:for-each select = "module/project/depend">
<target>
<xsl:attribute name="name"><xsl:value-of select="@project"/>-target</xsl:attribute>
<xsl:attribute name="unless"><xsl:value-of select="@project"/>.present</xsl:attribute>
<xsl:attribute name="depends"><xsl:value-of select="@project"/>-present</xsl:attribute>
<antipede-jjar>
<xsl:attribute name="package"><xsl:value-of select="@project"/></xsl:attribute>
<xsl:attribute name="repository"><xsl:value-of select="$repository"/></xsl:attribute>
<xsl:attribute name="localrepository">${xlayout.lib.core.dir}</xsl:attribute>
<xsl:attribute name="pathrefid">dummy.classpath</xsl:attribute>
<!--
<xsl:attribute name="version"></xsl:attribute>
<xsl:attribute name="pathrefid"></xsl:attribute>
<xsl:attribute name="classpath"></xsl:attribute>
<xsl:attribute name="onlyDependencies"></xsl:attribute>
<xsl:attribute name="verifyignore"></xsl:attribute> -->
</antipede-jjar>
</target>
</xsl:for-each>
<xsl:for-each select = "module/project/depend">
<target>
<xsl:attribute name="name"><xsl:value-of select="@project"/>-present</xsl:attribute>
<available>
<xsl:attribute name="file">${cents.dir}/<xsl:value-of select="@project"/>.cent.jar</xsl:attribute>
<xsl:attribute name="property"><xsl:value-of select="@project"/>.present</xsl:attribute>
</available>
<echo><xsl:value-of select="@project"/>.jar is present: ${<xsl:value-of select="@project"/>.present}</echo>
</target>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>

View File

@ -5,11 +5,6 @@
<xsl:template match="status"> <xsl:template match="status">
<h1>Project Status</h1> <h1>Project Status</h1>
<h2>Descriptors</h2>
<xsl:for-each select = "descriptors/descriptor">
<br/><xsl:value-of select="@id" />: <a><xsl:attribute name = "href" ><xsl:value-of select="@href" /></xsl:attribute>
<xsl:value-of select="." /></a>
</xsl:for-each>
<h2>Developers</h2> <h2>Developers</h2>
<table> <table>

View File

@ -13,4 +13,7 @@ centipede-xml-property=org.krysalis.centipede.ant.task.XmlPropertyTask
centipede-class-available=org.krysalis.centipede.ant.task.ClassAvailableTask centipede-class-available=org.krysalis.centipede.ant.task.ClassAvailableTask
xmlproperty=org.apache.tools.ant.taskdefs.XmlProperty