You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by mc...@apache.org on 2003/03/07 09:51:49 UTC

cvs commit: avalon-sandbox/merlin-spi default.properties build.xml .cvsignore

mcconnell    2003/03/07 00:51:49

  Added:       merlin-spi default.properties build.xml .cvsignore
  Log:
  Inital ant build procedures.
  
  Revision  Changes    Path
  1.1                  avalon-sandbox/merlin-spi/default.properties
  
  Index: default.properties
  ===================================================================
  # -------------------------------------------------------------------
  # B U I L D  P R O P E R T I E S
  # -------------------------------------------------------------------
  # Specifies default property values
  # Overridden by ../default.properties and all ant.properties
  # Not user-editable; use ant.properties files instead
  
  codename=merlin-spi
  name=${codename}
  Name=Merlin Service Provider Interface
  dir-name=merlin-spi
  version=2.0
  package-version=2.1
  year=2002-2003
  
  remote.repository = http://www.osm.net/repository
  local.repository = ../lib
  
  # --------------------------------------------------
  #                REQUIRED LIBRARIES
  # --------------------------------------------------
  
  # ----- Avalon Sandbox -----
  avalon-sandbox.home=${basedir}/..
  
  # ----- Avalon Framework, version 4.1 or later -----
  avalon-framework.id = avalon-framework
  avalon-framework.version = 4.1.4
  avalon-framework.name = ${avalon-framework.id}-${avalon-framework.version}.jar
  avalon-framework.key = org.apache.avalon.framework.Version
  avalon-framework.jar=${local.repository}/${avalon-framework.name}
  
  # ----- Excalibur i18n, 1.0 -----
  excalibur-i18n.id = excalibur-i18n
  excalibur-i18n.version = 1.0
  excalibur-i18n.key = org.apache.avalon.excalibur.i18n.Resources
  excalibur-i18n.name = ${excalibur-i18n.id}-${excalibur-i18n.version}.jar
  excalibur-i18n.jar=${local.repository}/${excalibur-i18n.name}
  
  # ----- Excalibur Configuration, version 1.0 -----
  excalibur-configuration.id = excalibur-configuration
  excalibur-configuration.version = 1.0
  excalibur-configuration.key = org.apache.excalibur.configuration.ConfigurationUtil
  excalibur-configuration.name = ${excalibur-configuration.id}-${excalibur-configuration.version}.jar
  excalibur-configuration.jar=${local.repository}/${excalibur-configuration.name}
  
  # ----- Excalibur Extension -----
  excalibur-extension.id = excalibur-extension
  excalibur-extension.version = 1.0
  excalibur-extension.key = org.apache.avalon.excalibur.extension.Specification
  excalibur-extension.name = ${excalibur-extension.id}-${excalibur-extension.version}.jar
  excalibur-extension.jar=${local.repository}/${excalibur-extension.name}
  
  # ----- Excalibur Event -----
  excalibur-event.id = excalibur-event
  excalibur-event.version = 2.0
  excalibur-event.key = org.apache.excalibur.event.Signal
  excalibur-event.name = ${excalibur-event.id}-${excalibur-event.version}.jar
  excalibur-event.jar=${local.repository}/${excalibur-event.name}
  
  # ----- Excalibur Util Concurrent -----
  excalibur-util-concurrent.id = excalibur-util-concurrent
  excalibur-util-concurrent.version = 1.3.1
  excalibur-util-concurrent.key = EDU.oswego.cs.dl.util.concurrent.Callable
  excalibur-util-concurrent.name = ${excalibur-util-concurrent.id}-${excalibur-util-concurrent.version}.jar
  excalibur-util-concurrent.jar=${local.repository}/${excalibur-util-concurrent.name}
  
  # ----- Commons Collections -----
  commons-collections.id = commons-collections
  commons-collections.version = 2.1
  commons-collections.key = org.apache.commons.collections.Bag
  commons-collections.name = ${commons-collections.id}-${commons-collections.version}.jar
  commons-collections.jar=${local.repository}/${commons-collections.name}
  
  # ----- Avalon Logkit -----
  avalon-logkit.id = avalon-logkit
  avalon-logkit.version = 1.2
  avalon-logkit.key = org.apache.log.Logger
  avalon-logkit.name = ${avalon-logkit.id}-${avalon-logkit.version}.jar
  avalon-logkit.jar=${local.repository}/${avalon-logkit.name}
  
  # ----- Avalon Meta -----
  avalon-meta.id = avalon-meta
  avalon-meta.version = 1.0
  avalon-meta.key = org.apache.avalon.meta.info.Type
  avalon-meta.name = ${avalon-meta.id}-${avalon-meta.version}.jar
  avalon-meta.jar=${local.repository}/${avalon-meta.name}
  
  # ----- Avalon Lifecycle -----
  avalon-lifecycle.id = avalon-lifecycle
  avalon-lifecycle.version = 1.0
  avalon-lifecycle.key = org.apache.avalon.lifecycle.Creator
  avalon-lifecycle.name = ${avalon-lifecycle.id}-${avalon-lifecycle.version}.jar
  avalon-lifecycle.jar=${local.repository}/${avalon-lifecycle.name}
  
  # ----- Avalon Assembly -----
  avalon-assembly-spi.id = avalon-assembly-spi
  avalon-assembly-spi.version = 1.0
  avalon-assembly-spi.key = org.apache.avalon.assembly.appliance.Appliance
  avalon-assembly-spi.name = ${avalon-assembly-spi.id}-${avalon-assembly-spi.version}.jar
  avalon-assembly-spi.jar=${local.repository}/${avalon-assembly-spi.name}
  
  
  # ----- Excalibur Thread -----
  excalibur-thread.id = excalibur-thread
  excalibur-thread.version = 1.1
  excalibur-thread.key = org.apache.excalibur.thread.Executable
  excalibur-thread.name = ${excalibur-thread.id}-${excalibur-thread.version}.jar
  excalibur-thread.jar=${local.repository}/${excalibur-thread.name}
  
  # ----- Excalibur ThreadContext -----
  excalibur-threadcontext.id = excalibur-threadcontext
  excalibur-threadcontext.version = 1.0
  excalibur-threadcontext.key = org.apache.excalibur.threadcontext.ThreadContext
  excalibur-threadcontext.name = ${excalibur-threadcontext.id}-${excalibur-threadcontext.version}.jar
  excalibur-threadcontext.jar=${local.repository}/${excalibur-threadcontext.name}
  
  # ----- Excalibur Pool -----
  excalibur-pool.id = excalibur-pool
  excalibur-pool.version = 1.2
  excalibur-pool.key = org.apache.avalon.excalibur.pool.Pool
  excalibur-pool.name = ${excalibur-pool.id}-${excalibur-pool.version}.jar
  excalibur-pool.jar=${local.repository}/${excalibur-pool.name}
  
  # ----- Excalibur Pool -----
  excalibur-collections.id = excalibur-collections
  excalibur-collections.version = 1.0
  excalibur-collections.key = org.apache.avalon.excalibur.collections.Buffer
  excalibur-collections.name = ${excalibur-collections.id}-${excalibur-collections.version}.jar
  excalibur-collections.jar=${local.repository}/${excalibur-collections.name}
  
  # ----- Merlin Bootstrap -----
  merlin.id = ${name}
  merlin.version = ${package-version}
  merlin.key = org.apache.avalon.merlin.kernel.Kernel
  merlin.name = ${merlin.id}-${merlin.version}.jar
  merlin.jar=${local.repository}/${merlin.name}
  
  # ----- Merlin Bootstrap -----
  merlin.family = merlin
  merlin-bootstrap.id = merlin-bootstrap
  merlin-bootstrap.version = 1.0
  merlin-bootstrap.key = Merlin
  merlin-bootstrap.name = ${merlin-bootstrap.id}-${merlin-bootstrap.version}.jar
  merlin-bootstrap.jar=${local.repository}/${merlin-bootstrap.name}
  merlin-bootstrap.path=${remote.repository}/${merlin.family}/jars/${merlin-bootstrap.name}
  
  # --------------------------------------------------
  
  #  Settings used to configure compile environment
  build.debug = on
  build.optimize = off
  build.deprecation = off
  build.compress = false
  junit.failonerror = false
  
  #  location of intermediate products
  build.dir = build
  build.merge = ${build.dir}/merge
  build.testsrc = ${build.dir}/testsrc
  build.bootstrap = ${build.dir}/bootstrap
  build.playground = ${build.dir}/playground
  build.testclasses = ${build.dir}/testclasses
  build.lib = ${build.dir}/lib
  build.conf = ${build.dir}/conf
  build.classes = ${build.dir}/classes
  build.tests = ${build.dir}/tests
  build.reports = ${build.dir}/reports
  build.docs = ${build.dir}/docs
  build.javadocs = ${build.docs}/api
  
  #  Set the properties for source directories
  src.dir = src
  java.dir = ${src.dir}/java
  conf.dir = ${src.dir}/conf
  etc.dir = ${src.dir}/etc
  test.dir = ${src.dir}/test
  lib.dir = lib
  common.dir = common
  
  #tools.dir=${basedir}/../../avalon/tools
  
  #  Set the properties for distribution directories
  dist.dir = dist
  dist.docs = ${dist.dir}/docs
  dist.javadocs = ${dist.docs}/api
  
  #  name of .zip/.tar.gz/.bz2 files and their top-level directory
  dist.name = ${name}-${version}
  
  #  name of jar file
  jar.name = ${name}-${package-version}.jar
  bootstrap.jar = ${codename}-bootstrap-${package-version}.jar
  
  #  property indicating directory where all distribution archives are placed
  dist.base = distributions
  
  
  # project specific properties
  
  lib.dir = lib
  demo.name = demo
  demo.jar = ${name}-${demo.name}-${demo-version}.jar
  sar.name = ${name}-${package-version}.sar
  
  # misc.
  
  checkstyle-cache = ${build.dir}/checkstyle.cache
  
  # javadoc links
  doc.root = ../../../..
  j2se.api.link = http://java.sun.com/j2se/1.4/docs/api/
  j2ee.api.link = http://java.sun.com/j2ee/sdk_1.3/techdocs/api/
  avalon.api.link = ${doc.root}/../avalon/docs/api
  assembly.api.link = ${doc.root}/assembly/build/docs/api
  lifecycle.api.link = ${doc.root}/lifecycle/build/docs/api
  meta.api.link = ${doc.root}/meta/build/docs/api
  
  
  
  1.1                  avalon-sandbox/merlin-spi/build.xml
  
  Index: build.xml
  ===================================================================
  <?xml version="1.0"?>
  
  <!--  
  Copyright (C) The Apache Software Foundation. All rights reserved.
  This software is published under the terms of the Apache Software License
  version 1.1, a copy of which has been included with this distribution in
  the LICENSE.txt file.
  
  @author  Avalon Development Team
  @version 1.0 12/03/2001
  -->
  
  <project name="merlin-spi" default="install" basedir=".">
  
    <property file="${basedir}/../ant.properties"/>
    <property file="${basedir}/ant.properties"/>
    <property file="${user.home}/.ant.properties"/>
    <property file="${basedir}/../default.properties"/>
    <property file="${basedir}/default.properties"/>
  
    <!-- Classpath for product -->
    <path id="project.class.path">
      <pathelement location="${avalon-framework.jar}"/>
      <pathelement location="${avalon-meta.jar}"/>
      <pathelement location="${avalon-assembly-spi.jar}"/>
      <pathelement location="${build.classes}"/>
      <pathelement path="${java.class.path}"/>
    </path>
  
    <target name="flags">
          <available property="framework.present"
                 classname="${avalon-framework.key}"
                 classpathref="project.class.path" />
          <available property="meta.present"
                 classname="${avalon-meta.key}"
                 classpathref="project.class.path" />
          <available property="assembly.present"
                 classname="${avalon-assembly-spi.key}"
                 classpathref="project.class.path" />
    </target>
  
    <target name="dependencies" depends="external-dependencies" description="Check dependencies"/>
  
    <target name="external-dependencies" depends="check-framework,check-meta,check-assembly-spi"/>
  
    <target name="check-framework" depends="flags" unless="framework.present">
        <mkdir dir="${local.repository}"/>
  	<get src="${remote.repository}/${avalon-framework.id}/jars/${avalon-framework.name}"
  		dest="${local.repository}/${avalon-framework.name}"
  		verbose="true"
  		usetimestamp="true"/>
    </target>
  
    <target name="check-meta" depends="flags" unless="meta.present">
        <mkdir dir="${local.repository}"/>
  	<get src="${remote.repository}/${avalon-meta.id}/jars/${avalon-meta.name}"
  		dest="${local.repository}/${avalon-meta.name}"
  		verbose="true"
  		usetimestamp="true"/>
    </target>
  
    <target name="check-assembly-spi" depends="flags" unless="assembly.present">
        <mkdir dir="${local.repository}"/>
  	<get 
           src="${remote.repository}/${avalon-assembly-spi.id}/jars/${avalon-assembly-spi.name}"
  		dest="${local.repository}/${avalon-assembly-spi.name}"
  		verbose="true"
  		usetimestamp="true"/>
    </target>
  
    <target name="context" depends="dependencies">
      <uptodate property="uptodate" targetfile="${build.lib}/${jar.name}">
        <srcfiles dir="${src.dir}">
          <include name="**/*.*"/>
        </srcfiles>
      </uptodate>
    </target>
  
    <!-- Compiles the source code -->
    <target name="compile" depends="context" 
         description="Compiles the source code" unless="uptodate">
      
      <echo message="compiling ${ant.project.name} using ${avalon-assembly-spi.jar}"/>
      <mkdir dir="${build.classes}"/>
  
      <!-- Compile all classes -->
  
      <javac srcdir="${java.dir}"
         destdir="${build.classes}"
         debug="${build.debug}"
         optimize="${build.optimize}"
         deprecation="${build.deprecation}"
         target="1.2">
        <src path="${java.dir}" />
        <classpath refid="project.class.path" />
        <include name="**/*.java"/>
      </javac>
  
      <!-- copy resources to same location as .class files -->
      <copy todir="${build.classes}">
        <fileset dir="${java.dir}">
          <exclude name="**/*.java"/>
        </fileset>
      </copy>
  
    </target>
  
    <target name="jar" depends="compile" description="Generates the merlin jar file" unless="uptodate">
  
      <mkdir dir="${build.conf}"/>
      <copy todir="${build.conf}" flatten="true">
        <fileset dir="../" includes="LICENSE.txt"/>
      </copy>
  
      <mkdir dir="${build.lib}"/>
  
      <jar jarfile="${build.lib}/${jar.name}"
         basedir="${build.classes}"
         compress="${build.compress}"
         manifest="${src.dir}/etc/project.mf">
        <zipfileset dir="${build.conf}" prefix="META-INF/">
          <include name="LICENSE.txt"/>
        </zipfileset>
      </jar>
  
    </target>
  
    <target name="update-install" depends="jar">
        <mkdir dir="${local.repository}"/>
        <copy toDir="${local.repository}" file="${build.dir}/lib/${jar.name}"/>
    </target>
  
    <target name="install" depends="jar">
        <mkdir dir="${local.repository}"/>
        <copy toDir="${local.repository}" file="${build.dir}/lib/${jar.name}"/>
    </target>
  
    <!-- Creates all the Javadocs -->
    <target name="javadocs" depends="compile" 
            description="Generates the javadocs" unless="skip.javadocs">
      <mkdir dir="${build.javadocs}"/>
      <javadoc sourcepath="${java.dir}" packagenames="*,*.*"
         destdir="${build.javadocs}">
       <classpath refid="project.class.path" />
        <group title="SPI">
          <package name=""/>
          <package name="org.apache.avalon.merlin"/>
          <package name="org.apache.avalon.merlin.kernel"/>
          <package name="org.apache.avalon.merlin.block"/>
        </group>
        <doclet name="com.sun.tools.doclets.standard.Standard">
          <param name="-author"/>
          <param name="-version"/>
          <param name="-doctitle" value="${Name}"/>
          <param name="-windowtitle" value="${Name} API"/>
          <param name="-link" value="${j2se.api.link}"/>
          <param name="-link" value="${j2ee.api.link}"/>
          <param name="-link" value="${avalon.api.link}"/>
          <param name="-link" value="${assembly.api.link}"/>
          <param name="-link" value="${lifecycle.api.link}"/>
          <param name="-link" value="${meta.api.link}"/>
          <param name="-bottom"
             value="&quot;Copyright &#169; ${year} Apache Avalon Project. All Rights Reserved.&quot;"/>
        </doclet>
      </javadoc>
    </target>
  
    <target name="checkstyle" if="do.checkstyle">
      <taskdef classpath="${checkstyle.jar}"
         resource="checkstyletask.properties"/>
  
      <checkstyle
        properties="${etc.dir}/checkstyle.properties" 
        failOnViolation="false">
        <fileset dir="${java.dir}"
                 includes="**/*.java"/>
        <property key="checkstyle.cache.file" file="${checkstyle-cache}"/>
        <formatter type="plain"/>
        <formatter type="xml" toFile="${build.dir}/checkstyle-results.xml"/>
      </checkstyle>
    </target>
  
    <!-- Cleans up build directory -->
    <target name="clean" description="Cleans up the project">
      <delete dir="${build.dir}" />
    </target>
   
  </project>
  
  
  
  1.1                  avalon-sandbox/merlin-spi/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  build
  dist
  distributions
  merlin
  ant.properties
  checkstyle.cache
  velocity.log
  project.xml
  project.properties
  maven.log
  maven.xml
  target
  xdocs
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: cvs-unsubscribe@avalon.apache.org
For additional commands, e-mail: cvs-help@avalon.apache.org