Author: jhm
Date: Mon Jul 2 01:26:22 2007
New Revision: 552429
URL: http://svn.apache.org/viewvc?view=rev&rev=552429
Log:
Buildfile for making a new AntLib.
Are all "common-features" present?
Added:
ant/sandbox/antlibs/build.xml
Added: ant/sandbox/antlibs/build.xml
URL:
http://svn.apache.org/viewvc/ant/sandbox/antlibs/build.xml?view=auto&rev=552429
==============================================================================
--- ant/sandbox/antlibs/build.xml (added)
+++ ant/sandbox/antlibs/build.xml Mon Jul 2 01:26:22 2007
@@ -0,0 +1,298 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+
+<project default="manually-todo">
+
+ <description>
+ This buildfile generates the directory layout for a new AntLib.
+ </description>
+
+
+
+ <target name="read-properties" unless="antlib.shortname">
+ <input addproperty="antlib.shortname"
+ message="Please enter the short name (for root directory and
package) of your AntLib"
+ />
+ <input addproperty="antlib.fullname"
+ message="Please enter the full name of you AntLib"
+ defaultvalue="${antlib.shortname}"
+ />
+ <input addproperty="name.first"
+ message="Please enter your first name"
+ />
+ <input addproperty="name.last"
+ message="Please enter your last name"
+ />
+ </target>
+
+
+
+ <target name="setup-properties" depends="read-properties">
+ <property name="antlib.trunk" value="${antlib.shortname}/trunk"/>
+ <tstamp>
+ <format property="tstamp.year" pattern="yyyy"/>
+ </tstamp>
+ <property name="antlib.src.root"
value="${antlib.trunk}/src/main/org/apache/ant/${antlib.shortname}"/>
+ <property name="manual.dir" value="${antlib.trunk}/docs"/>
+ </target>
+
+
+
+ <target name="make-dir-layout" depends="setup-properties">
+ <!-- Subversion directory layout -->
+ <mkdir dir="${antlib.shortname}/tags"/>
+ <mkdir dir="${antlib.shortname}/branches"/>
+ <mkdir dir="${antlib.trunk}"/>
+ <!-- Common AntLib directory layout -->
+ <mkdir dir="${antlib.trunk}/src/main"/>
+ <mkdir dir="${antlib.trunk}/src/test/junit"/>
+ <mkdir dir="${antlib.trunk}/src/test/antunit"/>
+ <mkdir dir="${manual.dir}"/>
+ <!-- the root package for the antlib -->
+ <mkdir dir="${antlib.src.root}"/>
+ </target>
+
+
+
+ <target name="create-artifacts"
depends="make-dir-layout,changes,antlib.xml,contributors.xml,build.xml,manual">
+ <copy file="http/trunk/common/NOTICE.template"
tofile="${antlib.trunk}/NOTICE">
+ <filterset begintoken="[" endtoken="]">
+ <filter token="PRODUCT_NAME" value="${antlib.fullname}"/>
+ <filter token="yyyy" value="${tstamp.year}"/>
+ </filterset>
+ </copy>
+ <echo
+ file="${antlib.trunk}/version.properties"
+ message="#artifact.version=1.0alpha"
+ />
+ </target>
+
+
+
+ <target name="changes" depends="make-dir-layout">
+ <echo file="${antlib.trunk}/changes.xml"><?xml
version="1.0" encoding="utf-8"?>
+<!DOCTYPE document
+[
+<!ELEMENT document (properties?, release+)>
+<!ELEMENT properties (title)>
+<!ELEMENT title (#PCDATA)>
+<!ELEMENT release (action*)>
+<!ELEMENT action (#PCDATA)>
+<!ATTLIST release
+ version CDATA #REQUIRED
+ date CDATA #REQUIRED
+ description CDATA #IMPLIED>
+<!ATTLIST action
+ issue CDATA #IMPLIED
+ type (add|fix|remove|update) #REQUIRED
+ breaks-bwc (true|false) #IMPLIED>
+]
+>
+<document>
+ <properties>
+ <title>Apache AntLib ${antlib.fullname}</title>
+ </properties>
+
+ <release version="SVN trunk" date="unpublished">
+ <action type="add">
+ Initial import of ${antlib.fullname}
+ </action>
+ </release>
+
+</document>
+ </echo>
+ </target>
+
+
+
+ <target name="antlib.xml" depends="make-dir-layout">
+ <echo
file="${antlib.trunk}/src/main/org/apache/ant/${antlib.shortname}/antlib.xml"><?xml
version="1.0" encoding="utf-8"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance
with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<antlib>
+ <!--
+ <taskdef
+ name=""
+ classname="org.apache.ant.${antlib.shortname}."
+ />
+ <macrodef name="">
+ <attribute name="" default=""/>
+ <element name="" optional="yes"/>
+ <text name="text" optional="yes"
trim="true"/>
+ <sequential>
+ <echo/>
+ </sequential>
+ </macrodef>
+ <presetdef name="">
+ </presetdef>
+ -->
+</antlib>
+ </echo>
+ </target>
+
+
+
+ <target name="contributors.xml" depends="make-dir-layout">
+ <echo file="${antlib.trunk}/changes.xml"><?xml
version="1.0" encoding="utf-8"?>
+<!DOCTYPE contributors
+[
+<!ELEMENT name (first?, middle?, last)>
+<!ELEMENT contributors (introduction, name+)>
+<!ELEMENT first (#PCDATA)>
+<!ELEMENT introduction (#PCDATA)>
+<!ELEMENT middle (#PCDATA)>
+<!ELEMENT last (#PCDATA)>
+]
+>
+<contributors>
+ <introduction>
+ These are some of the many people who have helped with this Ant Library.
+ </introduction>
+
+ <name>
+ <first>${name.first}</first>
+ <last>${name.last}</last>
+ </name>
+</contributors>
+ </echo>
+ </target>
+
+
+
+ <target name="manual" depends="make-dir-layout">
+ <copy file="${ant.home}/docs/favicon.ico" todir="${manual.dir}"/>
+ <echoxml file="${manual.dir}/index.html">
+<html>
+<head>
+ <meta http-equiv="Content-Language" content="en-us"/>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+ <title>User Manual - ${antlib.fullname}</title>
+</head>
+<frameset cols="26%,74%">
+ <frame src="toc.html" name="navFrame"/>
+ <frame src="cover.html" name="mainFrame"/>
+</frameset>
+<noframes>
+ <H2>User Manual - ${antlib.fullname}</H2>
+ <a href="toc.html">User Manual - ${antlib.fullname}</a>
+</noframes>
+</html>
+ </echoxml>
+ <echoxml file="${manual.dir}/toc.html">
+<html>
+<head>
+ <meta http-equiv="Content-Language" content="en-us"/>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+ <title>${antlib.fullname}</title>
+ <base target="mainFrame"/>
+</head>
+<body>
+ <a href="cover.html">Overview</a><br/>
+ <h2>Tasks</h2>
+ <a href="task.html">task</a><br/>
+</body>
+</html>
+ </echoxml>
+ <echoxml file="${manual.dir}/cover.html">
+<html>
+<head>
+ <meta http-equiv="Content-Language" content="en-us"/>
+ <link rel="stylesheet" type="text/css" href="style.css"/>
+ <title>${antlib.fullname}</title>
+</head>
+<body>
+ <h2>${antlib.fullname}</h2>
+ <p> TODO: something about this antlib </p>
+ <h3>What's this?</h3>
+ <h3>Building</h3>
+ <p>dependencies on Ant <i>version?</i>, external libs and tools</p>
+ <h3>Using</h3>
+</body>
+</html>
+ </echoxml>
+ </target>
+
+
+
+ <target name="build.xml" depends="make-dir-layout">
+ <echo file="${antlib.trunk}/build.xml"><?xml
version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance
with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<project default="compile"
name="${antlib.shortname}">
+
+ <!-- easy way to override properties -->
+ <property file="build.properties"/>
+
+ <import file="common/build.xml"/>
+
+</project>
+ </echo>
+ </target>
+
+
+
+ <target name="manually-todo" depends="create-artifacts">
+ <echo>
+ The AntLib directory layout and initial artifacts are created.
+ Your next steps are:
+ - maybe add your middle name to contributors.xml
+ - maybe add others to contributors.xml
+ - say something in the manuals cover.html about this AntLib
+ - add the files to svn
+ - modify the svn-properties of trunk-directory and add
svn:externals
+ common http://svn.apache.org/repos/asf/ant/antlibs/common/trunk
+ - update from svn for getting the common directory
+ - implement the AntLib
+ - implement testcases (hopefully using AntUnit)
+ - document the AntLib
+ </echo>
+ </target>
+
+
+</project>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]