This is an automated email from the ASF dual-hosted git repository.

asf-gitbox-commits pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/ant-antlibs-common.git

commit 610cc1357dde0c0ff10d25f2239abc1e1e2fcd94
Author: Stefan Bodewig <[email protected]>
AuthorDate: Sun Apr 26 12:18:13 2026 +0200

    add some more support files and a small explainer
---
 .gitattributes |  38 ++++++++++++++
 .gitignore     |   5 ++
 README.md      | 163 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 206 insertions(+)

diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..85746f7
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,38 @@
+*.bat   eol=crlf
+*.bz2   binary
+*.cmd   eol=crlf
+*.css   text
+*.dtd   text
+*.g     text
+*.gif   binary
+*.gz    binary
+*.html  text diff=html
+*.ico   binary
+*.inc   text
+*.jar   binary
+*.jpg   binary
+*.jsp   text
+*.md    text
+*.md5   text
+*.md5sum text
+*.mf    text
+*.pl    text diff=perl
+*.properties text
+*.py    text diff=python
+*.result text
+*.sample     text
+*.sh            eol=lf
+*.tar   binary
+*.test  text
+*.txt   text
+*.wxs   text
+*.xml   text
+*.xsd   text
+*.xsl   text
+*.zip   binary
+.gitattributes text
+.gitignore text
+NOTICE  text
+LICENSE  text
+README  text
+README.md text
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..4a4a0ea
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/build/
+/docs/style.css
+/ivy/
+/lib/
+/target/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..a3fb2ef
--- /dev/null
+++ b/README.md
@@ -0,0 +1,163 @@
+# Antlibs Common
+
+This is a skeleton to make development of Ant Libraries provided by
+the Apache Ant Project follow the same pattern.
+
+The repository is only mean to be included as git submodule into the
+actual Antlib. It provides common infrastructure using Apache Ant to
+build and Apache Ivy for dependency management.
+
+## Setting up a new Antlib Project
+
+* Create a new git repository via https://gitbox.apache.org/boxer/
+* Clone it locally
+* add this git repository as submodule named common to your new
+  repository: `git submodule add
+  https://gitbox.apache.org/repos/asf/ant-antlibs-common.git common`
+* copy `LICENSE`, `gitignore` and `.gitattributes` from `common` to
+  the top level directory of your new antlib.
+* copy `NOTICE.template` from `common` to a file named `NOTICE` inside
+  the top level directory of your new antlib and adapt its content
+  (PRODUCT_NAME and copyright year.
+* add a minimal `build.xml` file to the top level directory of your
+  project. Something like
+  ```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
+
+https://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="antunit">
+
+  <!-- easy way to override properties -->
+  <property file="build.properties"/>
+
+  <import file="common/build.xml"/>
+</project>
+  ```
+* if there are any properties you want to override (you most likely
+  will want to change `javac.-source` and `javac.-target`) create a
+  `build.properties` file and add them.
+* create a more or less empty `contributors.xml` file to the top level
+  directory of your antlib. Add yourself. The structure is
+  ```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
+
+       https://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.
+-->
+<!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>YOUR FIRST NAME</first>
+    <last>YOUR LAST NAME</last>
+  </name>
+</contributors>
+  ```
+* create a more or less empty `changes.xml` file to the top level
+  directory of your antlib. The structure is
+  ```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
+
+       https://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.
+-->
+<!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>YOUR LIBRARY NAME</title>
+  </properties>
+
+  <release version="0.1" date="unreleased">
+  </release>
+</document>
+  ```
+* add `version.properties` to the top level directory of your antlib
+  which must at least contain a definition of
+  `artifact.version`. Something like
+  ```
+#  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
+#
+#      https://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.
+artifact.version=0.1alpha
+  ```
+* if you want to use Ivy to manage your dependencies, add a file
+  `ivy.xml` to the root directory of your antlib and set it up.

Reply via email to