Blog About Contact

Automatic release packaging w/ version numbers for Netbeans Java Projects...

Published Sat, 14 Nov 2009 • 1 comments just did a nice little Netbeans build.xml hack for the visural-wicket project to add a build target which packages a release of the library for distribution (e.g. on Google Code).

A version number is added to the project in the root level file

#  Copyright 2009 Richard Nichols.
#  Licensed 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
#  Unless required by applicable law or agreed to in writing, software
#  distributed under the License is distributed on an "AS IS" BASIS,
#  See the License for the specific language governing permissions and
#  limitations under the License.
#  under the License.


A licence file to be copied into the distribution archive is also added in licence.txt

Then finally the build.xml target

    <target name="-pre-init">
        <property file=""/>
        <property name="dist.jar" value="dist/${}-${project.version}.jar"/>

    <target name="package_for_release" depends="jar,javadoc">
        <mkdir dir="build/release"/>
        <copy file="${dist.jar}" todir="build/release/"/>
        <copy file="licence.txt" todir="build/release/"/>
        <mkdir dir="build/release/doc"/>
        <copy todir="build/release/doc">
            <fileset dir="dist/javadoc" includes="**"/>
        <mkdir dir="build/release/src"/>
        <copy todir="build/release/src">
            <fileset dir="src" includes="**"/>
        <mkdir dir="build/release/test"/>
        <copy todir="build/release/test">
            <fileset dir="test" includes="**"/>
        <zip basedir="build/release/" includes="**" destfile="dist/${}-${project.version}.zip"/>

Basically all we do here is to create a new temp folder in build/release, which will copy all the distro files into and then zip into a final archive. We also do a hack to change the dist.jar property to include the version number extracted from the file. This needs to be "-pre-init" as properties in Ant are immutable once set.

The task copies through the Javadocs, source, tests, binary JAR and licence and packages it into an appropriately named .ZIP.

The target & associated files are appropriate to be used in any Netbeans Java project - there is no hard-reference to visural-wicket.

About the Author

Richard Nichols is an Australian software engineer with a passion for making things.

Follow him on twitter or subscribe by RSS or email.

You might also enjoy reading -

Discuss / Comment

There are 1 comments.

Add a comment

  • {{e.error}}

Thanks for your comment!/

Valid email address required.
Posting message, please wait...