dion        2003/03/16 18:44:35

  Modified:    src/plugins-build/repository plugin.jelly
  Log:
  Refactor some tags out
  
  Revision  Changes    Path
  1.13      +81 -52    jakarta-turbine-maven/src/plugins-build/repository/plugin.jelly
  
  Index: plugin.jelly
  ===================================================================
  RCS file: /home/cvs/jakarta-turbine-maven/src/plugins-build/repository/plugin.jelly,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- plugin.jelly      13 Mar 2003 04:14:49 -0000      1.12
  +++ plugin.jelly      17 Mar 2003 02:44:35 -0000      1.13
  @@ -56,7 +56,7 @@
        ! @param groupId the groupId the license is for
        !-->
       <define:tag name="copyLicense">
  -      <repository:urlFileName url="${url}" var="fileName" />
  +      <repository:urlFileName var="fileName" url="${url}" />
                       
         <j:set var="localFileName">${systemScope['java.io.tmpdir']}${fileName}</j:set>
            
  @@ -71,11 +71,10 @@
         <echo>Setting permissions and group ownership in ${directory}'</echo>
         <repository:exec>
           cd ${directory};
  -        chmod -R g+w *;
  -        chmod -R a+r *;
  -        chgrp -R ${maven.repository.group} *;
           rm ${groupId}.license;
           ln -s ${fileName} ${groupId}.license;
  +        chmod -R g+w,a+r ${fileName};
  +        chgrp -R ${maven.repository.group} *;
         </repository:exec>
       </define:tag>
   
  @@ -84,50 +83,70 @@
        ! @param url the URL to process
        ! @param var the variable to place the filename into
        !-->
  -     <define:tag name="urlFileName">
  -       <u:tokenize var="preQuery" delim="?">${url}</u:tokenize>
  -       <u:tokenize var="preHash" delim="#">${preQuery[0]}</u:tokenize>
  -       <u:tokenize var="slashes" delim="/">${preHash[0]}</u:tokenize>
  -       <j:set var="${var}" scope="parent" value="${slashes[size(slashes)-1]}" />
  -     </define:tag>
  -     
  -       <!--
  -        ! @name     the name of the value being checked
  -        ! @value    the value that musn't be empty
  -        ! @message  the message to be displayed when value is empty
  -        !-->
  -      <define:tag name="required">
  -        <j:if test="${empty(message)}">
  -          <j:set var="message">'${name}' must be specified</j:set>
  -        </j:if>
  -        <j:if test="${empty(value)}">
  -          <fail>${message}</fail>
  -        </j:if>
  -      </define:tag>
  +    <define:tag name="urlFileName">
  +      <u:tokenize var="preQuery" delim="?">${url}</u:tokenize>
  +      <u:tokenize var="preHash" delim="#">${preQuery[0]}</u:tokenize>
  +      <u:tokenize var="slashes" delim="/">${preHash[0]}</u:tokenize>
  +      <j:set var="${var}" scope="parent" value="${slashes[size(slashes)-1]}" />
  +    </define:tag>
   
  +    <!--
  +     ! set a variable called ${var} with the snapshot version
  +     ! of the given file
  +     ! @file  the file to extract the snapshot version from
  +     ! @var   the variable name to store the result in
  +     !-->
  +    <define:tag name="snapshotVersion">
  +      <!-- artifact is format blah-blah-blah-yyyymmdd.hhmmss.jar -->
  +      <u:tokenize var="jarDotBits" delim="-">${file}</u:tokenize>
  +      <u:tokenize var="snapAndJar" 
delim=".">${jarDotBits[size(jarDotBits)-1]}</u:tokenize>
  +      <j:set var="${var}" value="${snapAndJar[0]}.${snapAndJar[1]}" scope="parent"/>
  +    </define:tag>
  +          
  +     <!--
  +      ! @name     the name of the value being checked
  +      ! @value    the value that musn't be empty
  +      ! @message  the message to be displayed when value is empty
  +      !-->
  +    <define:tag name="required">
  +      <j:if test="${empty(message)}">
  +        <j:set var="message">'${name}' must be specified</j:set>
  +      </j:if>
  +      <j:if test="${empty(value)}">
  +        <fail>${message}</fail>
  +      </j:if>
  +    </define:tag>
     </define:taglib>
   
     <goal name="repository:audit-create-licenses"
       description="create the license directories, for all groups in the audit file, 
in the repository">
  +    
  +    <j:set var="directoryName" value="licenses"/>
  +    <attainGoal name="repository:audit-create-directory" />    
  +  </goal>
  +
  +  <goal name="repository:audit-create-directory"
  +    description="create the directory, specified by directoryName, for all groups 
in the audit file">
       <!--
        ! parse audit file
        ! run ssh to create each <groupId>/licenses directory.
        !-->
  -     <repository:parseAudit var="audit"/>
  +    <repository:required name="directoryName" value="${directoryName}" />
  +
  +    <repository:parseAudit var="audit"/>
       
  -     <x:forEach var="group" select="$audit/licenses/project/groupId">
  -     
  -       <echo>Processing project ${group.text}</echo>
  -       <j:set var="directory" 
value="${maven.repo.central.directory}/${group.text}/licenses" />
  -       <echo>Ensuring directory '${directory}' exists</echo>
  -       <repository:exec>
  -         mkdir -p ${directory};
  -         chmod g+ws ${directory};
  -         chgrp ${maven.repository.group} ${directory};
  -       </repository:exec>
  -     </x:forEach>
  +    <x:forEach var="group" select="$audit/licenses/project/groupId">
  +      <j:set var="directory" 
  +        value="${maven.repo.central.directory}/${group.text}/${directoryName}" />
  +      <echo>Ensuring directory '${directory}' exists</echo>
  +      <repository:exec>
  +        mkdir -p ${directory};
  +        chmod g+ws ${directory};
  +        chgrp ${maven.repository.group} ${directory};
  +      </repository:exec>
  +    </x:forEach>
     </goal>
  -
  +  
     <goal name="repository:audit-copy-licenses"
         description="copy all licenses in the audit file to the repository">
       <!--
  @@ -232,8 +251,7 @@
         mkdir ${groupId}/licenses;
         mkdir ${groupId}/poms;
         chmod g+ws ${groupId};
  -      chmod -R g+w ${groupId};
  -      chmod -R a+r ${groupId};
  +      chmod -R g+w,a+r ${groupId};
       </repository:exec>
     </goal>
   
  @@ -260,28 +278,25 @@
       <j:if test="${empty(artifactId)}">
         <j:set var="artifactId">${groupId}</j:set>
       </j:if>
  -    <!-- work out snapshotVersion from artifact -->
  -    <!-- artifact is format blah-yyyymmdd.hhmmss.jar -->
  -    <u:tokenize var="jarDotBits" delim="-">${artifact}</u:tokenize>
  -    <u:tokenize var="snapAndJar" 
delim=".">${jarDotBits[size(jarDotBits)-1]}</u:tokenize>
  -    <j:set var="snapshotVersion" value="${snapAndJar[0]}.${snapAndJar[1]}"/>
  +
  +    <repository:snapshotVersion var="snapshotVersion" file="${artifact}" />
       <echo>snapshotVersion = '${snapshotVersion}'</echo>
   
  +    <attainGoal name="repository:copy-jar" />
  +    
       <j:set var="directory" value="${maven.repo.central.directory}/${groupId}/jars/" 
/>
  -    <repository:copy from="${artifact}" toFileOrDir="${directory}" />
   
       <u:file name="${artifact}" var="artifactFile"/>
       <j:set var="artifactName">${artifactFile.canonicalFile.name}</j:set>
   
  +    <echo>Setting up SNAPSHOT entries</echo>
       <repository:exec>
         cd ${directory};
  -      md5sum ${artifactName} | sed 's/ .*$//' | tee ${artifactName}.md5;
         ln -sf ${artifactName} ${artifactId}-SNAPSHOT.jar;
         ln -sf ${artifactName}.md5 ${artifactId}-SNAPSHOT.jar.md5;
         echo ${snapshotVersion} | tee ${artifactId}-snapshot-version;
  -      chgrp ${maven.repository.group} *;
  -      chmod g+w *;
  -      chmod a+r *;
  +      chgrp ${maven.repository.group} ${artifactId}-SNAPSHOT.jar*;
  +      chmod g+w,a+r ${artifactId}-SNAPSHOT.jar*;
       </repository:exec>
     </goal>
   
  @@ -294,7 +309,22 @@
       <repository:required name="artifact" value="${artifact}" />
       <repository:required name="groupId" value="${groupId}" />
   
  -    <j:set var="directory" value="${maven.repo.central.directory}/${groupId}/jars/" 
/>
  +    <j:set var="type" value="jar" />
  +    
  +    <attainGoal name="repository:copy-artifact" />
  +  </goal>
  +
  +  <!-- 
  +   ! this uses any old file for copying
  +   !-->
  +  <goal name="repository:copy-artifact"
  +    description="copy an artifact, specified by groupId, artifact and type, to the 
repository">
  +
  +    <repository:required name="artifact" value="${artifact}" />
  +    <repository:required name="groupId" value="${groupId}" />
  +    <repository:required name="type" value="${type}" />
  +
  +    <j:set var="directory" 
value="${maven.repo.central.directory}/${groupId}/${type}s/" />
       <repository:copy from="${artifact}" toFileOrDir="${directory}" />
   
       <u:file name="${artifact}" var="artifactFile"/>
  @@ -304,8 +334,7 @@
         cd ${directory};
         md5sum ${artifactName} | sed 's/ .*$//' | tee ${artifactName}.md5;
         chgrp ${maven.repository.group} *;
  -      chmod g+w *;
  -      chmod a+r *;
  +      chmod g+w,a+r *;
       </repository:exec>
     </goal>
     
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to