This buildfile generates the directory layout for a new AntLib.
<?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>
<?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>
<?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>
User Manual - ${antlib.fullname}
dependencies on Ant version?, external libs and tools
Using
<?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>
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