cvs commit: spice/sandbox/metaclass/src/java plugin.jelly plugin.properties

Peter Donald <[email protected]> Thu, 20 Nov 2003 04:46:36 -0600
Newsgroups gmane.comp.java.spice.cvs
Message-ID <[email protected]>
pdonald     2003/11/20 04:46:35

  Modified:    sandbox/metaclass maven.xml
  Added:       sandbox/metaclass/src/java plugin.jelly plugin.properties
  Log:
  Rework so that the metaclass jar also be treated as a maven plugin
  
  Revision  Changes    Path
  1.6       +43 -1     spice/sandbox/metaclass/maven.xml
  
  Index: maven.xml
  ===================================================================
  RCS file: /scm/cvs/spice/sandbox/metaclass/maven.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- maven.xml	28 Oct 2003 04:52:46 -0000	1.5
  +++ maven.xml	20 Nov 2003 10:46:35 -0000	1.6
  @@ -1,2 +1,44 @@
   <?xml version="1.0"?>
  -<project default="jar:install"/>
  \ No newline at end of file
  +<project default="main"
  +    xmlns:deploy="deploy"
  +    xmlns:ant="jelly:ant">
  +
  +    <postGoal name="java:compile">
  +        <ant:copy file="${basedir}/project.properties"
  +            todir="${maven.build.dest}"/>
  +        <ant:copy file="${basedir}/project.xml"
  +            todir="${maven.build.dest}"/>
  +    </postGoal>
  +
  +    <goal name="main">
  +        <attainGoal name="build"/>
  +    </goal>
  +
  +    <goal name="build">
  +        <attainGoal name="install"/>
  +    </goal>
  +
  +    <goal name="deploy">
  +        <attainGoal name="jar:deploy"/>
  +        <ant:property name="artifact" value="${maven.final.name}.jar"/>
  +        <deploy:artifact
  +            artifact="${maven.build.dir}/${artifact}"
  +            type="plugins"
  +            assureDirectoryCommand="mkdir -p"
  +            siteCommand="cd @deployDirectory@; chmod g+w ${artifact}; chgrp ${maven.remote.group} ${artifact}"/>
  +    </goal>
  +
  +    <goal name="install">
  +        <attainGoal name="jar:install"/>
  +        <ant:copy file="${maven.build.dir}/${maven.final.name}.jar"
  +            todir="${maven.repo.local}/${pom.groupId}/plugins"/>
  +        <ant:delete dir="${maven.home}/plugins/${maven.final.name}.jar"/>
  +        <ant:delete dir="${maven.home}/plugins/${maven.final.name}"/>
  +        <ant:delete>
  +            <ant:fileset dir="${maven.home}/plugins">
  +                <ant:include name="${pom.artifactID}-*"/>
  +            </ant:fileset>
  +        </ant:delete>
  +    </goal>
  +
  +</project>
  \ No newline at end of file
  
  
  
  1.1                  spice/sandbox/metaclass/src/java/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  <?xml version="1.0"?>
  
  <project
      xmlns:metaclass="metaclass"
      xmlns:ant="jelly:ant">
  
      <goal name="metaclass:init" description="Initialize Plugin">
          <ant:path id="metaclass.tasks.path">
              <ant:pathelement path="${plugin.dir}"/>
              <ant:pathelement path="${plugin.getDependencyPath('qdox')}"/>
          </ant:path>
  
          <ant:taskdef name="mc_generate"
              classname="org.realityforge.metaclass.tools.tasks.GenerateClassDescriptorsTask">
              <ant:classpath refid="metaclass.tasks.path"/>
          </ant:taskdef>
          <ant:taskdef name="mc_addToFilterSet"
              classname="org.realityforge.metaclass.tools.tasks.AddToFilterSetTask">
              <ant:classpath refid="metaclass.tasks.path"/>
          </ant:taskdef>
          <ant:taskdef name="mc_addToInterceptorSet"
              classname="org.realityforge.metaclass.tools.tasks.AddToInterceptorSetTask">
              <ant:classpath refid="metaclass.tasks.path"/>
          </ant:taskdef>
          <ant:typedef name="mc_interceptorSet"
              classname="org.realityforge.metaclass.tools.tasks.InterceptorSet">
              <ant:classpath refid="metaclass.tasks.path"/>
          </ant:typedef>
          <ant:typedef name="mc_filterSet"
              classname="org.realityforge.metaclass.tools.tasks.FilterSet">
              <ant:classpath refid="metaclass.tasks.path"/>
          </ant:typedef>
  
          <mc_interceptorSet id="maven.metaclass.interceptors"/>
          <mc_filterSet id="maven.metaclass.filters"/>
      </goal>
  
      <goal name="metaclass:generate"
          prereqs="metaclass:init"
          description="Generate MetaClass Descriptors">
  
          <!-- Ensure maven.build.dest exists -->
          <ant:mkdir dir="${maven.build.dest}"/>
  
          <mc_generate
              destDir="${maven.build.dest}"
              format="${maven.metaclass.format}"
              namespaceTagsOnly="${maven.metaclass.namespaceTagsOnly}"
              keepEmptyMethods="${maven.metaclass.keepEmptyMethods}">
  
              <mc_filterSet refid="maven.metaclass.filters"/>
              <mc_interceptorSet refid="maven.metaclass.interceptors"/>
              <ant:fileset dir="${pom.build.sourceDirectory}">
                  <ant:include name="${maven.metaclass.include}"/>
                  <ant:exclude name="${maven.metaclass.exclude}"/>
              </ant:fileset>
          </mc_generate>
      </goal>
  
  </project>
  
  
  
  1.1                  spice/sandbox/metaclass/src/java/plugin.properties
  
  Index: plugin.properties
  ===================================================================
  maven.metaclass.include=**/*.java
  maven.metaclass.exclude=
  maven.metaclass.keepEmptyMethods=false
  maven.metaclass.namespaceTagsOnly=true
  maven.metaclass.format=binary