Author: mcconnell
Date: Mon Jun 14 14:44:43 2004
New Revision: 21238
Added:
avalon/trunk/tools/project/ETC.TXT
avalon/trunk/tools/project/bootstrap.xml (contents, props changed)
avalon/trunk/tools/project/build.properties (contents, props changed)
avalon/trunk/tools/project/etc/
avalon/trunk/tools/project/etc/deliverables/
avalon/trunk/tools/project/etc/deliverables/jars/
avalon/trunk/tools/project/etc/deliverables/licenses/
avalon/trunk/tools/project/etc/deliverables/licenses/JMS.license
avalon/trunk/tools/project/etc/deliverables/licenses/LICENSE.TXT
avalon/trunk/tools/project/etc/deliverables/licenses/MAILAPI.license
avalon/trunk/tools/project/etc/deliverables/licenses/NOTICE.TXT
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/BarTask.java (contents, props changed)
Removed:
avalon/trunk/tools/project/src/test/build.properties
avalon/trunk/tools/project/src/test/build.xml
avalon/trunk/tools/project/src/test/generic.xml
avalon/trunk/tools/project/src/test/index.xml
avalon/trunk/tools/project/src/test/projects/
avalon/trunk/tools/project/src/test/standard.xml
Modified:
avalon/trunk/tools/project/README.TXT
avalon/trunk/tools/project/build.xml
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Context.java
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Home.java
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Repository.java
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/project/Resource.java
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java
avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/PrepareTask.java
Log:
Update project task to include a bar task and update the build system to enable the project to be build by the project (ikncluding generation of a bar file for the build system).
Added: avalon/trunk/tools/project/ETC.TXT
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/ETC.TXT Mon Jun 14 14:44:43 2004
@@ -0,0 +1,17 @@
+
+The etc/deliverables directory is a placeholder for jar
+files that are required to bootstrap the core buildsystem.
+To setup the library you need to download the following
+jar files and place them in this directory under the names
+show below:
+
+ mailapi-1.3.1.jar
+ jms-1.1.jar
+
+The mailet and jms jar files can be downloaded from the
+following urls:
+
+ http://java.sun.com/products/javamail/downloads/index.html
+ http://java.sun.com/products/jms/docs.html
+
+
Modified: avalon/trunk/tools/project/README.TXT
==============================================================================
--- avalon/trunk/tools/project/README.TXT (original)
+++ avalon/trunk/tools/project/README.TXT Mon Jun 14 14:44:43 2004
@@ -1,12 +1,14 @@
-Build and install the antlib using the following command:
+Before attempting to build the bootstrap build system please
+read ETC.TXT.
+
+To build and install the antlib using the following command:
$ cd avalon/tools/project
- $ ant
+ $ ant -buildfile bootstrap.xml install
-Test the antlib using the following command:
+The core antlib is now installed and we can use magic to build and package itself in a block archive.
- $ cd avalon/tools/project
- $ ant test
+ $ ant clean install
Added: avalon/trunk/tools/project/bootstrap.xml
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/bootstrap.xml Mon Jun 14 14:44:43 2004
@@ -0,0 +1,78 @@
+<project name="avalon-tools-magic" default="install" basedir=".">
+
+ <property file="build.properties"/>
+
+ <property name="src" value="src"/>
+ <property name="src.main" value="main"/>
+ <property name="src.main.dir" value="${src}/${src.main}"/>
+ <property name="src.test" value="test"/>
+ <property name="src.test.dir" value="${src}/${src.test}"/>
+
+ <property name="etc" value="etc"/>
+ <property name="etc.deliverables" value="${etc}/deliverables"/>
+
+ <property name="target" value="target"/>
+ <property name="target.dir" value="${target}"/>
+ <property name="target.classes" value="classes"/>
+ <property name="target.classes.dir" value="${target}/${target.classes}"/>
+ <property name="target.test.dir" value="${target}/test"/>
+ <property name="target.deliverables.dir" value="${target}/deliverables"/>
+ <property name="target.deliverables.jars.dir" value="${target.deliverables.dir}/jars"/>
+
+ <property name="toolkit.jar" value="${project.name}-${bootstrap-version}.jar"/>
+
+ <target name="prepare">
+
+ <tstamp/>
+
+ <mkdir dir="${target.deliverables.dir}"/>
+ <copy toDir="${target.deliverables.dir}">
+ <fileset dir="${etc.deliverables}">
+ <include name="**/*"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${target.classes.dir}"/>
+ <copy toDir="${target.classes.dir}">
+ <fileset dir="${src.main.dir}">
+ <include name="**/*.xml"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="compile" depends="prepare">
+ <javac srcdir="${src.main.dir}" destdir="${target.classes.dir}"/>
+ </target>
+
+ <target name="jar" depends="compile">
+ <mkdir dir="${target.deliverables.jars.dir}"/>
+ <jar destfile="${target.deliverables.jars.dir}/${toolkit.jar}"
+ basedir="${target.classes.dir}"
+ includes="**/*.class,**/*.xml"/>
+ </target>
+
+ <target name="install" depends="jar">
+ <mkdir dir="${user.home}/.ant/lib"/>
+ <copy toFile="${user.home}/.ant/lib/${project.name}.jar"
+ file="${target.deliverables.jars.dir}/${toolkit.jar}"/>
+ </target>
+
+ <target name="test-prepare">
+ <mkdir dir="${target.test.dir}"/>
+ <copy toDir="${target.test.dir}">
+ <fileset dir="${src.test.dir}">
+ <exclude name="**/.svn/**"/>
+ </fileset>
+ </copy>
+ </target>
+
+ <target name="test" depends="test-prepare">
+ <ant dir="${target.test.dir}" />
+ <!--<ant dir="${target.test.dir}/projects/gizmo" />-->
+ </target>
+
+ <target name="clean">
+ <delete dir="${target}"/>
+ </target>
+
+</project>
Added: avalon/trunk/tools/project/build.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/build.properties Mon Jun 14 14:44:43 2004
@@ -0,0 +1,5 @@
+project.name = avalon-tools-project
+project.home = ../../central/system
+
+bootstrap-version = 1.0.0
+
Modified: avalon/trunk/tools/project/build.xml
==============================================================================
--- avalon/trunk/tools/project/build.xml (original)
+++ avalon/trunk/tools/project/build.xml Mon Jun 14 14:44:43 2004
@@ -1,71 +1,13 @@
-<project name="home" default="install" basedir=".">
+<?xml version="1.0" encoding="UTF-8" ?>
- <property environment="env"/>
- <property name="ant.home" value="${env.ANT_HOME}"/>
+<project name="avalon-tools-project" default="dist" basedir="."
+ xmlns:x="antlib:org.apache.avalon.tools">
- <property name="src" value="src"/>
- <property name="src.main" value="main"/>
- <property name="src.main.dir" value="${src}/${src.main}"/>
- <property name="src.test" value="test"/>
- <property name="src.test.dir" value="${src}/${src.test}"/>
- <property name="src.library" value="library"/>
- <property name="src.library.dir" value="${src}/${src.library}"/>
+ <property file="build.properties"/>
+ <import file="${project.home}/build/standard.xml"/>
- <property name="target" value="target"/>
- <property name="target.classes" value="classes"/>
- <property name="target.classes.dir" value="${target}/${target.classes}"/>
- <property name="target.test.dir" value="${target}/test"/>
-
- <property name="toolkit.jar" value="avalon-toolkit.jar"/>
-
- <target name="prepare">
- <tstamp/>
- <mkdir dir="${target.classes.dir}"/>
- <copy toDir="${target.classes.dir}">
- <fileset dir="${src.main.dir}">
- <include name="**/*.xml"/>
- </fileset>
- </copy>
- </target>
-
- <target name="compile" depends="prepare">
- <javac srcdir="${src.main.dir}" destdir="${target.classes.dir}"/>
- </target>
-
- <target name="jar" depends="compile">
- <jar destfile="${target}/${toolkit.jar}"
- basedir="${target.classes.dir}"
- includes="**/*.class,**/*.xml"/>
- </target>
-
- <target name="install" depends="jar">
- <mkdir dir="${user.home}/.ant/lib"/>
- <copy toDir="${user.home}/.ant/lib"
- file="${target}/${toolkit.jar}"/>
- </target>
-
- <target name="test-prepare">
- <mkdir dir="${target.test.dir}"/>
- <copy toDir="${target.test.dir}">
- <fileset dir="${src.test.dir}">
- <exclude name="**/_svn/**"/>
- <exclude name="**/.svn/**"/>
- </fileset>
- <fileset dir="${src}">
- <include name="${src.library}/**"/>
- <exclude name="**/_svn/**"/>
- <exclude name="**/.svn/**"/>
- </fileset>
- </copy>
- </target>
-
- <target name="test" depends="test-prepare">
- <ant dir="${target.test.dir}" />
- <!--<ant dir="${target.test.dir}/projects/gizmo" />-->
- </target>
-
- <target name="clean">
- <delete dir="${target}"/>
+ <target name="package" depends="standard.package">
+ <x:bar/>
</target>
</project>
Added: avalon/trunk/tools/project/etc/deliverables/licenses/JMS.license
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/etc/deliverables/licenses/JMS.license Mon Jun 14 14:44:43 2004
@@ -0,0 +1,239 @@
+
+ Sun Microsystems, Inc.
+ Binary Code License Agreement
+
+ READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED
+ SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY
+ "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE
+ MEDIA PACKAGE. BY OPENING THE SOFTWARE MEDIA
+ PACKAGE, YOU AGREE TO THE TERMS OF THIS
+ AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE
+ ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE
+ TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END
+ OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL
+ THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE
+ TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE
+ SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE
+ "DECLINE" BUTTON AT THE END OF THIS AGREEMENT.
+
+ 1. LICENSE TO USE. Sun grants you a
+ non-exclusive and non-transferable license for the
+ internal use only of the accompanying software and
+ documentation and any error corrections provided
+ by Sun (collectively "Software"), by the number of
+ users and the class of computer hardware for which
+ the corresponding fee has been paid.
+
+ 2. RESTRICTIONS. Software is confidential and
+ copyrighted. Title to Software and all associated
+ intellectual property rights is retained by Sun
+ and/or its licensors. Except as specifically
+ authorized in any Supplemental License Terms, you
+ may not make copies of Software, other than a
+ single copy of Software for archival purposes.
+ Unless enforcement is prohibited by applicable
+ law, you may not modify, decompile, or reverse
+ engineer Software. You acknowledge that Software
+ is not designed, licensed or intended for use in
+ the design, construction, operation or maintenance
+ of any nuclear facility. Sun disclaims any
+ express or implied warranty of fitness for such
+ uses. No right, title or interest in or to any
+ trademark, service mark, logo or trade name of Sun
+ or its licensors is granted under this Agreement.
+
+ 3. LIMITED WARRANTY. Sun warrants to you that for
+ a period of ninety (90) days from the date of
+ purchase, as evidenced by a copy of the receipt,
+ the media on which Software is furnished (if any)
+ will be free of defects in materials and
+ workmanship under normal use. Except for the
+ foregoing, Software is provided "AS IS". Your
+ exclusive remedy and Sun's entire liability under
+ this limited warranty will be at Sun's option to
+ replace Software media or refund the fee paid for
+ Software.
+
+ 4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN
+ THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+ REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
+ IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE
+ DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+ DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+ 5. LIMITATION OF LIABILITY. TO THE EXTENT NOT
+ PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
+ LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
+ OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
+ INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED
+ REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
+ OF OR RELATED TO THE USE OF OR INABILITY TO USE
+ SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES. In no event will
+ Sun's liability to you, whether in contract, tort
+ (including negligence), or otherwise, exceed the
+ amount paid by you for Software under this
+ Agreement. The foregoing limitations will apply
+ even if the above stated warranty fails of its
+ essential purpose.
+
+ 6. Termination. This Agreement is effective
+ until terminated. You may terminate this
+ Agreement at any time by destroying all copies of
+ Software. This Agreement will terminate
+ immediately without notice from Sun if you fail to
+ comply with any provision of this Agreement. Upon
+ Termination, you must destroy all copies of
+ Software.
+
+ 7. Export Regulations. All Software and technical
+ data delivered under this Agreement are subject to
+ US export control laws and may be subject to
+ export or import regulations in other countries.
+ You agree to comply strictly with all such laws
+ and regulations and acknowledge that you have the
+ responsibility to obtain such licenses to export,
+ re-export, or import as may be required after
+ delivery to you.
+
+ 8. U.S. Government Restricted Rights. If
+ Software is being acquired by or on behalf of the
+ U.S. Government or by a U.S. Government prime
+ contractor or subcontractor (at any tier), then
+ the Government's rights in Software and
+ accompanying documentation will be only as set
+ forth in this Agreement; this is in accordance
+ with 48 CFR 227.7201 through 227.7202-4 (for
+ Department of Defense (DOD) acquisitions) and with
+ 48 CFR 2.101 and 12.212 (for non-DOD
+ acquisitions).
+
+ 9. Governing Law. Any action related to this
+ Agreement will be governed by California law and
+ controlling U.S. federal law. No choice of law
+ rules of any jurisdiction will apply.
+
+ 10. Severability. If any provision of this
+ Agreement is held to be unenforceable, this
+ Agreement will remain in effect with the provision
+ omitted, unless omission would frustrate the
+ intent of the parties, in which case this
+ Agreement will immediately terminate.
+
+ 11. Integration. This Agreement is the entire
+ agreement between you and Sun relating to its
+ subject matter. It supersedes all prior or
+ contemporaneous oral or written communications,
+ proposals, representations and warranties and
+ prevails over any conflicting or additional terms
+ of any quote, order, acknowledgment, or other
+ communication between the parties relating to its
+ subject matter during the term of this Agreement.
+ No modification of this Agreement will be binding,
+ unless in writing and signed by an authorized
+ representative of each party.
+
+ JAVA(TM) INTERFACE CLASSES
+ JAVA MESSAGE SERVICE (JMS), VERSION 1.1
+ SUPPLEMENTAL LICENSE TERMS
+
+ These supplemental license terms ("Supplemental
+ Terms") add to or modify the terms of the Binary
+ Code License Agreement (collectively, the
+ "Agreement"). Capitalized terms not defined in
+ these Supplemental Terms shall have the same
+ meanings ascribed to them in the Agreement. These
+ Supplemental Terms shall supersede any
+ inconsistent or conflicting terms in the
+ Agreement, or in any license contained within the
+ Software.
+
+ 1. Software Internal Use and Development License
+ Grant. Subject to the terms and conditions of this
+ Agreement, including, but not limited to Section 3
+ (Java Technology Restrictions) of these
+ Supplemental Terms, Sun grants you a
+ non-exclusive, non-transferable, limited license
+ to reproduce internally and use internally the
+ binary form of the Software, complete and
+ unmodified, for the sole purpose of designing,
+ developing and testing your Java applets and
+ applications ("Programs").
+
+ 2. License to Distribute Software. In addition to
+ the license granted in Section 1 (Software
+ Internal Use and Development License Grant) of
+ these Supplemental Terms, subject to the terms and
+ conditions of this Agreement, including but not
+ limited to Section 3 (Java Technology
+ Restrictions), Sun grants you a non-exclusive,
+ non-transferable, limited license to reproduce and
+ distribute the Software in binary form only,
+ provided that you (i) distribute the Software
+ complete and unmodified and only bundled as part
+ of your Programs, (ii) do not distribute
+ additional software intended to replace any
+ component(s) of the Software, (iii) do not remove
+ or alter any proprietary legends or notices
+ contained in the Software, (iv) only distribute
+ the Software subject to a license agreement that
+ protects Sun's interests consistent with the terms
+ contained in this Agreement, and (v) agree to
+ defend and indemnify Sun and its licensors from
+ and against any damages, costs, liabilities,
+ settlement amounts and/or expenses (including
+ attorneys' fees) incurred in connection with any
+ claim, lawsuit or action by any third party that
+ arises or results from the use or distribution of
+ any and all Programs and/or Software.
+
+ 3. Java Technology Restrictions. You may not
+ modify the Java Platform Interface ("JPI",
+ identified as classes contained within the "java"
+ package or any subpackages of the "java" package),
+ by creating additional classes within the JPI or
+ otherwise causing the addition to or modification
+ of the classes in the JPI. In the event that you
+ create an additional class and associated API(s)
+ which (i) extends the functionality of the Java
+ Platform, and (ii) is exposed to third party
+ software developers for the purpose of developing
+ additional software which invokes such additional
+ API, you must promptly publish broadly an accurate
+ specification for such API for free use by all
+ developers. You may not create, or authorize your
+ licensees to create additional classes,
+ interfaces, or subpackages that are in any way
+ identified as "java", "javax", "sun" or similar
+ convention as specified by Sun in any naming
+ convention designation.
+
+ 4. Trademarks and Logos. You acknowledge and agree
+ as between you and Sun that Sun owns the SUN,
+ SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL
+ and iPLANET trademarks and all SUN, SOLARIS, JAVA,
+ JINI, FORTE, STAROFFICE, STARPORTAL and
+ iPLANET-related trademarks, service marks, logos
+ and other brand designations ("Sun Marks"), and
+ you agree to comply with the Sun Trademark and
+ Logo Usage Requirements currently located at
+ http://www.sun.com/policies/trademarks. Any use
+ you make of the Sun Marks inures to Sun's benefit.
+
+ 5. Source Code. Software may contain source code
+ that is provided solely for reference purposes
+ pursuant to the terms of this Agreement. Source
+ code may not be redistributed unless expressly
+ provided for in this Agreement.
+
+ 6. Termination for Infringement. Either party may
+ terminate this Agreement immediately should any
+ Software become, or in either party's opinion be
+ likely to become, the subject of a claim of
+ infringement of any intellectual property right.
+
+ For inquiries please contact: Sun Microsystems,
+ Inc. 901 San Antonio Road, Palo Alto, California
+ 94303
+ (LFI#111755/Form ID#011801)
Added: avalon/trunk/tools/project/etc/deliverables/licenses/LICENSE.TXT
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/etc/deliverables/licenses/LICENSE.TXT Mon Jun 14 14:44:43 2004
@@ -0,0 +1,175 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
Added: avalon/trunk/tools/project/etc/deliverables/licenses/MAILAPI.license
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/etc/deliverables/licenses/MAILAPI.license Mon Jun 14 14:44:43 2004
@@ -0,0 +1,240 @@
+
+ Sun Microsystems, Inc.
+ Binary Code License Agreement
+
+ READ THE TERMS OF THIS AGREEMENT AND ANY PROVIDED
+ SUPPLEMENTAL LICENSE TERMS (COLLECTIVELY
+ "AGREEMENT") CAREFULLY BEFORE OPENING THE SOFTWARE
+ MEDIA PACKAGE. BY OPENING THE SOFTWARE MEDIA
+ PACKAGE, YOU AGREE TO THE TERMS OF THIS
+ AGREEMENT. IF YOU ARE ACCESSING THE SOFTWARE
+ ELECTRONICALLY, INDICATE YOUR ACCEPTANCE OF THESE
+ TERMS BY SELECTING THE "ACCEPT" BUTTON AT THE END
+ OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL
+ THESE TERMS, PROMPTLY RETURN THE UNUSED SOFTWARE
+ TO YOUR PLACE OF PURCHASE FOR A REFUND OR, IF THE
+ SOFTWARE IS ACCESSED ELECTRONICALLY, SELECT THE
+ "DECLINE" BUTTON AT THE END OF THIS AGREEMENT.
+
+ 1. LICENSE TO USE. Sun grants you a
+ non-exclusive and non-transferable license for the
+ internal use only of the accompanying software and
+ documentation and any error corrections provided
+ by Sun (collectively "Software"), by the number of
+ users and the class of computer hardware for which
+ the corresponding fee has been paid.
+
+ 2. RESTRICTIONS. Software is confidential and
+ copyrighted. Title to Software and all associated
+ intellectual property rights is retained by Sun
+ and/or its licensors. Except as specifically
+ authorized in any Supplemental License Terms, you
+ may not make copies of Software, other than a
+ single copy of Software for archival purposes.
+ Unless enforcement is prohibited by applicable
+ law, you may not modify, decompile, or reverse
+ engineer Software. You acknowledge that Software
+ is not designed, licensed or intended for use in
+ the design, construction, operation or maintenance
+ of any nuclear facility. Sun disclaims any
+ express or implied warranty of fitness for such
+ uses. No right, title or interest in or to any
+ trademark, service mark, logo or trade name of Sun
+ or its licensors is granted under this Agreement.
+
+ 3. LIMITED WARRANTY. Sun warrants to you that for
+ a period of ninety (90) days from the date of
+ purchase, as evidenced by a copy of the receipt,
+ the media on which Software is furnished (if any)
+ will be free of defects in materials and
+ workmanship under normal use. Except for the
+ foregoing, Software is provided "AS IS". Your
+ exclusive remedy and Sun's entire liability under
+ this limited warranty will be at Sun's option to
+ replace Software media or refund the fee paid for
+ Software.
+
+ 4. DISCLAIMER OF WARRANTY. UNLESS SPECIFIED IN
+ THIS AGREEMENT, ALL EXPRESS OR IMPLIED CONDITIONS,
+ REPRESENTATIONS AND WARRANTIES, INCLUDING ANY
+ IMPLIED WARRANTY OF MERCHANTABILITY, FITNESS FOR A
+ PARTICULAR PURPOSE OR NON-INFRINGEMENT ARE
+ DISCLAIMED, EXCEPT TO THE EXTENT THAT THESE
+ DISCLAIMERS ARE HELD TO BE LEGALLY INVALID.
+
+ 5. LIMITATION OF LIABILITY. TO THE EXTENT NOT
+ PROHIBITED BY LAW, IN NO EVENT WILL SUN OR ITS
+ LICENSORS BE LIABLE FOR ANY LOST REVENUE, PROFIT
+ OR DATA, OR FOR SPECIAL, INDIRECT, CONSEQUENTIAL,
+ INCIDENTAL OR PUNITIVE DAMAGES, HOWEVER CAUSED
+ REGARDLESS OF THE THEORY OF LIABILITY, ARISING OUT
+ OF OR RELATED TO THE USE OF OR INABILITY TO USE
+ SOFTWARE, EVEN IF SUN HAS BEEN ADVISED OF THE
+ POSSIBILITY OF SUCH DAMAGES. In no event will
+ Sun's liability to you, whether in contract, tort
+ (including negligence), or otherwise, exceed the
+ amount paid by you for Software under this
+ Agreement. The foregoing limitations will apply
+ even if the above stated warranty fails of its
+ essential purpose.
+
+ 6. Termination. This Agreement is effective
+ until terminated. You may terminate this
+ Agreement at any time by destroying all copies of
+ Software. This Agreement will terminate
+ immediately without notice from Sun if you fail to
+ comply with any provision of this Agreement. Upon
+ Termination, you must destroy all copies of
+ Software.
+
+ 7. Export Regulations. All Software and technical
+ data delivered under this Agreement are subject to
+ US export control laws and may be subject to
+ export or import regulations in other countries.
+ You agree to comply strictly with all such laws
+ and regulations and acknowledge that you have the
+ responsibility to obtain such licenses to export,
+ re-export, or import as may be required after
+ delivery to you.
+
+ 8. U.S. Government Restricted Rights. If
+ Software is being acquired by or on behalf of the
+ U.S. Government or by a U.S. Government prime
+ contractor or subcontractor (at any tier), then
+ the Government's rights in Software and
+ accompanying documentation will be only as set
+ forth in this Agreement; this is in accordance
+ with 48 CFR 227.7201 through 227.7202-4 (for
+ Department of Defense (DOD) acquisitions) and with
+ 48 CFR 2.101 and 12.212 (for non-DOD
+ acquisitions).
+
+ 9. Governing Law. Any action related to this
+ Agreement will be governed by California law and
+ controlling U.S. federal law. No choice of law
+ rules of any jurisdiction will apply.
+
+ 10. Severability. If any provision of this
+ Agreement is held to be unenforceable, this
+ Agreement will remain in effect with the provision
+ omitted, unless omission would frustrate the
+ intent of the parties, in which case this
+ Agreement will immediately terminate.
+
+ 11. Integration. This Agreement is the entire
+ agreement between you and Sun relating to its
+ subject matter. It supersedes all prior or
+ contemporaneous oral or written communications,
+ proposals, representations and warranties and
+ prevails over any conflicting or additional terms
+ of any quote, order, acknowledgment, or other
+ communication between the parties relating to its
+ subject matter during the term of this Agreement.
+ No modification of this Agreement will be binding,
+ unless in writing and signed by an authorized
+ representative of each party.
+
+ JAVAMAIL(TM), VERSION 1.3.1
+ SUPPLEMENTAL LICENSE TERMS
+
+ These supplemental license terms ("Supplemental
+ Terms") add to or modify the terms of the Binary
+ Code License Agreement (collectively, the
+ "Agreement"). Capitalized terms not defined in
+ these Supplemental Terms shall have the same
+ meanings ascribed to them in the Agreement. These
+ Supplemental Terms shall supersede any
+ inconsistent or conflicting terms in the
+ Agreement, or in any license contained within the
+ Software.
+
+ 1. Software Internal Use and Development License
+ Grant. Subject to the terms and conditions of
+ this Agreement, including, but not limited to
+ Section 3 (Java(TM) Technology Restrictions) of
+ these Supplemental Terms, Sun grants you a
+ non-exclusive, non-transferable, limited license
+ to reproduce internally and use internally the
+ binary form of the Software, complete and
+ unmodified, for the sole purpose of designing,
+ developing and testing your Java applets and
+ applications ("Programs").
+
+ 2. License to Distribute Software. Subject to the
+ terms and conditions of this Agreement, including,
+ but not limited to Section 3 (Java (TM) Technology
+ Restrictions) of these Supplemental Terms, Sun
+ grants you a non-exclusive, non-transferable,
+ limited license to reproduce and distribute the
+ Software in binary code form only, provided that
+ (i) you distribute the Software complete and
+ unmodified and only bundled as part of, and for
+ the sole purpose of running, your Java applets or
+ applications ("Programs"), (ii) the Programs add
+ significant and primary functionality to the
+ Software, (iii) you do not distribute additional
+ software intended to replace any component(s) of
+ the Software, (iv) you do not remove or alter any
+ proprietary legends or notices contained in the
+ Software, (v) you only distribute the Software
+ subject to a license agreement that protects Sun's
+ interests consistent with the terms contained in
+ this Agreement, and (vi) you agree to defend and
+ indemnify Sun and its licensors from and against
+ any damages, costs, liabilities, settlement
+ amounts and/or expenses (including attorneys'
+ fees) incurred in connection with any claim,
+ lawsuit or action by any third party that arises
+ or results from the use or distribution of any and
+ all Programs and/or Software.
+
+ 3. Java Technology Restrictions. You may not
+ modify the Java Platform Interface ("JPI",
+ identified as classes contained within the "java"
+ package or any subpackages of the "java" package),
+ by creating additional classes within the JPI or
+ otherwise causing the addition to or modification
+ of the classes in the JPI. In the event that you
+ create an additional class and associated API(s)
+ which (i) extends the functionality of the Java
+ platform, and (ii) is exposed to third party
+ software developers for the purpose of developing
+ additional software which invokes such additional
+ API, you must promptly publish broadly an accurate
+ specification for such API for free use by all
+ developers. You may not create, or authorize your
+ licensees to create additional classes,
+ interfaces, or subpackages that are in any way
+ identified as "java", "javax", "sun" or similar
+ convention as specified by Sun in any naming
+ convention designation.
+
+ 4. Trademarks and Logos. You acknowledge and agree
+ as between you and Sun that Sun owns the SUN,
+ SOLARIS, JAVA, JINI, FORTE, STAROFFICE, STARPORTAL
+ and iPLANET trademarks and all SUN, SOLARIS, JAVA,
+ JINI, FORTE, STAROFFICE, STARPORTAL and
+ iPLANET-related trademarks, service marks, logos
+ and other brand designations ("Sun Marks"), and
+ you agree to comply with the Sun Trademark and
+ Logo Usage Requirements currently located at
+ http://www.sun.com/policies/trademarks. Any use
+ you make of the Sun Marks inures to Sun's benefit.
+
+ 5. Source Code. Software may contain source code
+ that is provided solely for reference purposes
+ pursuant to the terms of this Agreement. Source
+ code may not be redistributed unless expressly
+ provided for in this Agreement.
+
+ 6. Termination for Infringement. Either party may
+ terminate this Agreement immediately should any
+ Software become, or in either party's opinion be
+ likely to become, the subject of a claim of
+ infringement of any intellectual property right.
+
+ For inquiries please contact: Sun Microsystems,
+ Inc., 4150 Network Circle, Santa Clara, California
+ 95054, U.S.A
+ (LFI#132726/Form ID#011801)
+
Added: avalon/trunk/tools/project/etc/deliverables/licenses/NOTICE.TXT
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/etc/deliverables/licenses/NOTICE.TXT Mon Jun 14 14:44:43 2004
@@ -0,0 +1,11 @@
+=========================================================================
+== NOTICE file corresponding to the section 4 d of ==
+== the Apache License, Version 2.0, ==
+=========================================================================
+
+This product is developed by the Apache Avalon Project.
+http://avalon.apache.org
+
+The names "Avalon" and "Merlin" must not be used to endorse or promote
+products derived from this software without prior written permission.
+For written permission, please contact [email protected].
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/antlib.xml Mon Jun 14 14:44:43 2004
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<antlib xmlns:current="ant:current">
+<antlib xmlns:current="ant:current">
<taskdef name="context" classname="org.apache.avalon.tools.home.Context"/>
<taskdef name="home" classname="org.apache.avalon.tools.tasks.HomeTask"/>
@@ -17,5 +17,6 @@
<taskdef name="filter" classname="org.apache.avalon.tools.tasks.FilterTask"/>
<taskdef name="info" classname="org.apache.avalon.tools.tasks.AnnounceTask"/>
<taskdef name="artifact" classname="org.apache.avalon.tools.tasks.ArtifactTask"/>
+ <taskdef name="bar" classname="org.apache.avalon.tools.tasks.BarTask"/>
</antlib>
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Context.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Context.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Context.java Mon Jun 14 14:44:43 2004
@@ -318,6 +318,10 @@
public static File getFile( File root, String path )
{
+ if( null == path )
+ {
+ throw new NullPointerException( "path" );
+ }
File file = new File( path );
if( file.isAbsolute() ) return file;
if( null == root )
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Home.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Home.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Home.java Mon Jun 14 14:44:43 2004
@@ -101,7 +101,7 @@
try
{
m_system = m_index.getParentFile();
- String path = project.getProperty( "avalon.cache" );
+ String path = getCachePath( project );
String hostsPath = project.getProperty( "avalon.hosts" );
m_repository = new Repository( m_system, path, hostsPath, this );
@@ -130,6 +130,13 @@
{
log( " host: " + hosts[i], Project.MSG_VERBOSE );
}
+ }
+
+ private String getCachePath( Project project )
+ {
+ String path = project.getProperty( "avalon.cache" );
+ if( null != path ) return path;
+ return ".cache";
}
//-------------------------------------------------------------
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Repository.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Repository.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/home/Repository.java Mon Jun 14 14:44:43 2004
@@ -58,6 +58,18 @@
public Repository( File system, String path, String hosts, Home home )
{
+ if( null == system )
+ {
+ throw new NullPointerException( "system" );
+ }
+ if( null == path )
+ {
+ throw new NullPointerException( "path" );
+ }
+ if( null == home )
+ {
+ throw new NullPointerException( "home" );
+ }
m_home = home;
m_root = system;
m_cache = getCanonicalFile( Context.getFile( system, path ) );
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/project/Resource.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/project/Resource.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/project/Resource.java Mon Jun 14 14:44:43 2004
@@ -116,6 +116,25 @@
throw new BuildException( new FileNotFoundException( path ) );
}
+ public String getFilename()
+ {
+ return getFilename( getInfo().getType() );
+ }
+
+ public String getFilename( String type )
+ {
+ String name = getInfo().getName();
+ if( null != getInfo().getVersion() )
+ {
+ return name + "-" + getInfo().getVersion() + "." + type;
+ }
+ else
+ {
+ return name + "." + type;
+ }
+ }
+
+
public String toString()
{
return "[" + getInfo().toString() + "]";
Added: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/BarTask.java
==============================================================================
--- (empty file)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/BarTask.java Mon Jun 14 14:44:43 2004
@@ -0,0 +1,184 @@
+/*
+ * Copyright 2004 Apache Software Foundation
+ * 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
+ *
+ * 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.
+ */
+
+package org.apache.avalon.tools.tasks;
+
+import java.io.File;
+import java.io.IOException;
+
+import org.apache.tools.ant.Task;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.taskdefs.Copy;
+import org.apache.tools.ant.taskdefs.Delete;
+import org.apache.tools.ant.taskdefs.Jar;
+import org.apache.tools.ant.taskdefs.Mkdir;
+import org.apache.tools.ant.taskdefs.Checksum;
+import org.apache.tools.ant.taskdefs.Manifest;
+import org.apache.tools.ant.taskdefs.ManifestException;
+import org.apache.tools.ant.taskdefs.Execute;
+import org.apache.tools.ant.types.FileSet;
+import org.apache.tools.ant.types.Path;
+
+import org.apache.avalon.tools.home.Context;
+import org.apache.avalon.tools.home.Home;
+import org.apache.avalon.tools.project.Definition;
+import org.apache.avalon.tools.project.ResourceRef;
+
+/**
+ * Load a goal.
+ *
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>
+ * @version $Revision: 1.2 $ $Date: 2004/03/17 10:30:09 $
+ */
+public class BarTask extends SystemTask
+{
+ public static final String MD5_EXT = "md5";
+ public static final String BAR_EXT = "bar";
+ public static final String ASC_EXT = "asc";
+ public static final String GPG_EXE_KEY = "project.gpg.exe";
+
+ public void execute() throws BuildException
+ {
+ File deliverables =
+ getContext().getDeliverablesDirectory();
+ Definition def = getHome().getDefinition( getKey() );
+ String filename = def.getFilename( BAR_EXT );
+ String type = def.getInfo().getType();
+ File types = new File( deliverables, BAR_EXT + "s" );
+ File bar = new File( types, filename );
+
+ if( deliverables.exists() )
+ {
+ try
+ {
+ boolean modified = bar( def, deliverables, bar );
+ if( modified )
+ {
+ checksum( bar );
+ asc( bar );
+ }
+ }
+ catch( IOException ioe )
+ {
+ throw new BuildException( ioe );
+ }
+ }
+ }
+
+ private boolean bar( Definition def, File deliverables, File bar )
+ {
+ File dir = bar.getParentFile();
+ mkDir( dir );
+
+ long modified = -1;
+ if( bar.exists() )
+ {
+ modified = bar.lastModified();
+ }
+
+ FileSet fileset = new FileSet();
+ fileset.setDir( deliverables );
+ fileset.createInclude().setName( "**/*" );
+ fileset.createExclude().setName( "**/*." + BAR_EXT + "*" );
+
+ Jar jar = (Jar) getProject().createTask( "jar" );
+ jar.setDestFile( bar );
+ jar.addFileset( fileset );
+ jar.setIndex( true );
+ addManifest( jar, def );
+ jar.init();
+ jar.execute();
+
+ return bar.lastModified() > modified;
+ }
+
+ private void addManifest( Jar jar, Definition def )
+ {
+ try
+ {
+ Manifest manifest = new Manifest();
+ Manifest.Section main = manifest.getMainSection();
+ addAttribute( main, "Created-By", "Apache Avalon" );
+ addAttribute( main, "Built-By", System.getProperty( "user.name" ) );
+
+ Manifest.Section block = new Manifest.Section();
+ block.setName( "Block" );
+ addAttribute( block, "Block-Group", def.getInfo().getGroup() );
+ addAttribute( block, "Block-Name", def.getInfo().getName() );
+ if( null != def.getInfo().getVersion() )
+ {
+ addAttribute( block, "Block-Version", def.getInfo().getVersion() );
+ }
+
+ manifest.addConfiguredSection( block );
+ jar.addConfiguredManifest( manifest );
+ }
+ catch( Throwable e )
+ {
+ throw new BuildException( e );
+ }
+ }
+
+ private void addAttribute(
+ Manifest.Section section, String name, String value )
+ throws ManifestException
+ {
+ Manifest.Attribute attribute = new Manifest.Attribute( name, value );
+ section.addConfiguredAttribute( attribute );
+ }
+
+ private void checksum( File file )
+ {
+ log( "Creating md5 checksum" );
+
+ File md5 = new File( file.toString() + "." + MD5_EXT );
+
+ Delete delete = (Delete) getProject().createTask( "delete" );
+ delete.setFile( md5 );
+ delete.init();
+ delete.execute();
+
+ Checksum checksum = (Checksum) getProject().createTask( "checksum" );
+ checksum.setFile( file );
+ checksum.setFileext( "." + MD5_EXT );
+ checksum.init();
+ checksum.execute();
+ }
+
+ private void asc( File file ) throws IOException
+ {
+ File asc = new File( file.toString() + "." + ASC_EXT );
+
+ Delete delete = (Delete) getProject().createTask( "delete" );
+ delete.init();
+ delete.setFile( asc );
+ delete.execute();
+
+ String gpg = getProject().getProperty( GPG_EXE_KEY );
+ if( null != gpg )
+ {
+ log( "Creating asc signature" );
+ Execute execute = new Execute();
+ execute.setCommandline(
+ new String[]{ gpg, "-a", "-b", file.toString() } );
+ execute.setWorkingDirectory( getProject().getBaseDir() );
+ execute.setSpawn( true );
+ execute.execute();
+ }
+ }
+}
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/JarTask.java Mon Jun 14 14:44:43 2004
@@ -88,23 +88,10 @@
Definition def = getHome().getDefinition( getKey() );
String type = def.getInfo().getType();
File types = new File( deliverables, type + "s" );
- String filename = getJarFilename( def );
+ String filename = def.getFilename( JAR_EXT );
return new File( types, filename );
}
- public String getJarFilename( Definition def )
- {
- String name = def.getInfo().getName();
- if( null != def.getInfo().getVersion() )
- {
- return name + "-" + def.getInfo().getVersion() + "." + JAR_EXT;
- }
- else
- {
- return name + "." + JAR_EXT;
- }
- }
-
private boolean jar( Definition def, File classes, File jarFile )
{
File dir = jarFile.getParentFile();
@@ -115,7 +102,6 @@
{
modified = jarFile.lastModified();
}
-
Jar jar = (Jar) getProject().createTask( "jar" );
jar.setDestFile( jarFile );
@@ -138,19 +124,28 @@
addAttribute( main, "Created-By", "Apache Avalon" );
addAttribute( main, "Built-By", System.getProperty( "user.name" ) );
addAttribute( main, "Extension-Name", def.getInfo().getName() );
- addAttribute( main, "Specification-Vendor", "The Apache Software Foundation Avalon Project" );
+ addAttribute(
+ main, "Specification-Vendor",
+ "The Apache Software Foundation Avalon Project" );
if( null != def.getInfo().getVersion() )
{
- addAttribute( main, "Specification-Version", def.getInfo().getVersion() );
+ addAttribute(
+ main, "Specification-Version",
+ def.getInfo().getVersion() );
}
else
{
addAttribute( main, "Specification-Version", "1.0" );
}
- addAttribute( main, "Implementation-Vendor", "The Apache Software Foundation Avalon Project" );
- addAttribute( main, "Implementation-Vendor-Id", "org.apache.avalon" );
- addAttribute( main, "Implementation-Version", "123" );
+ addAttribute(
+ main, "Implementation-Vendor",
+ "The Apache Software Foundation Avalon Project" );
+ addAttribute(
+ main, "Implementation-Vendor-Id",
+ "org.apache.avalon" );
+ addAttribute(
+ main, "Implementation-Version", "123" );
String classpath = getProject().getProperty( JAR_CLASSPATH_KEY );
if( null != classpath )
Modified: avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/PrepareTask.java
==============================================================================
--- avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/PrepareTask.java (original)
+++ avalon/trunk/tools/project/src/main/org/apache/avalon/tools/tasks/PrepareTask.java Mon Jun 14 14:44:43 2004
@@ -95,7 +95,7 @@
task.setProject( project );
task.setArtifact( path );
task.init();
- task.execute();
+ task.execute();
}
//
@@ -111,6 +111,7 @@
File src = getContext().getSrcDirectory();
File etc = getContext().getEtcDirectory();
File build = getContext().getBuildDirectory();
+ File buildEtcDir = new File( build, "etc" );
if( src.exists() )
{
String filters = project.getProperty( SRC_FILTERED_INCLUDES_KEY );
@@ -119,11 +120,22 @@
}
if( etc.exists() )
{
- File buildEtcDir = new File( build, "etc" );
String includes = project.getProperty( ETC_FILTERED_INCLUDES_KEY );
String excludes = project.getProperty( ETC_FILTERED_EXCLUDES_KEY );
copy( etc, buildEtcDir, true, includes, excludes );
copy( etc, buildEtcDir, false, excludes, "" );
+ }
+
+ //
+ // if there is a etc/deliverable directory, then copy the
+ // content to the target/deliverables directory
+ //
+
+ File extra = new File( buildEtcDir, "deliverables" );
+ if( extra.exists() )
+ {
+ File deliverables = getContext().getDeliverablesDirectory();
+ copy( extra, deliverables, false, "**/*", "" );
}
}
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.