You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(37) |
Oct
(12) |
Nov
|
Dec
(47) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(9) |
Feb
(6) |
Mar
(1) |
Apr
(85) |
May
(9) |
Jun
|
Jul
(6) |
Aug
(85) |
Sep
(42) |
Oct
(27) |
Nov
(15) |
Dec
(27) |
2004 |
Jan
(39) |
Feb
(52) |
Mar
(43) |
Apr
(32) |
May
(18) |
Jun
(5) |
Jul
(63) |
Aug
(69) |
Sep
(12) |
Oct
(80) |
Nov
(55) |
Dec
(30) |
2005 |
Jan
(27) |
Feb
(6) |
Mar
(43) |
Apr
(5) |
May
(48) |
Jun
(48) |
Jul
(100) |
Aug
(16) |
Sep
(43) |
Oct
(25) |
Nov
(249) |
Dec
(2) |
2006 |
Jan
(9) |
Feb
(2) |
Mar
|
Apr
(26) |
May
(21) |
Jun
(8) |
Jul
(14) |
Aug
(104) |
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
(32) |
Feb
|
Mar
(2) |
Apr
|
May
(38) |
Jun
(2) |
Jul
(9) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2008 |
Jan
|
Feb
(3) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Morten K. <mor...@us...> - 2005-03-07 10:34:00
|
mortenkr 05/03/07 02:33:51 maven-plugins/news/src - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:34:00
|
mortenkr 05/03/07 02:33:51 maven-plugins/news/src/plugin-resources/images - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:33:15
|
mortenkr 05/03/07 02:32:59 Added: files/files/somefolder exec1.bat web1.htm img5.bmp soffice3.sxc img1.gif img3.tif properties.properties unknown.unk text.txt exec2.sh img4.png soffice1.sxi soffice2.sxw img2.jpg winzip1.zip adobe1.pdf soffice4.sxd web2.html files/src/plugin-resources/images mp3.png java.png sql.png jar.png zip.png mov.png html.png xml.png ppt.png pdf.png avi.png folder.png txt.png sxd.png sxc.png doc.png rm.png sxw.png unknown.png bmp.png xls.png jpg.png class.png sh.png back.png mpg.png sxi.png gif.png wav.png png.png files/files winzip1.zip soffice1.sxi unknown.unk img5.bmp properties.properties web1.htm xmlfile.xml img1.gif exec2.sh text.txt soffice3.sxc adobe1.pdf img3.tif web2.html exec1.bat soffice2.sxw img4.png soffice4.sxd img2.jpg files/src/plugin-resources imgmap.properties rss.png files .cvsignore project.xml plugin.jelly plugin.properties project.properties files/xdocs index.xml goals.xml changes.xml navigation.xml customize.xml properties.xml files/src/main/org/apache/maven/files Generator.java Log: New Files plugin - initial commit Revision Changes Path 1.1 maven-plugins/files/files/somefolder/exec1.bat <<Binary file>> 1.1 maven-plugins/files/files/somefolder/web1.htm <<Binary file>> 1.1 maven-plugins/files/files/somefolder/img5.bmp <<Binary file>> 1.1 maven-plugins/files/files/somefolder/soffice3.sxc <<Binary file>> 1.1 maven-plugins/files/files/somefolder/img1.gif <<Binary file>> 1.1 maven-plugins/files/files/somefolder/img3.tif <<Binary file>> 1.1 maven-plugins/files/files/somefolder/properties.properties <<Binary file>> 1.1 maven-plugins/files/files/somefolder/unknown.unk <<Binary file>> 1.1 maven-plugins/files/files/somefolder/text.txt <<Binary file>> 1.1 maven-plugins/files/files/somefolder/exec2.sh <<Binary file>> 1.1 maven-plugins/files/files/somefolder/img4.png <<Binary file>> 1.1 maven-plugins/files/files/somefolder/soffice1.sxi <<Binary file>> 1.1 maven-plugins/files/files/somefolder/soffice2.sxw <<Binary file>> 1.1 maven-plugins/files/files/somefolder/img2.jpg <<Binary file>> 1.1 maven-plugins/files/files/somefolder/winzip1.zip <<Binary file>> 1.1 maven-plugins/files/files/somefolder/adobe1.pdf <<Binary file>> 1.1 maven-plugins/files/files/somefolder/soffice4.sxd <<Binary file>> 1.1 maven-plugins/files/files/somefolder/web2.html <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/mp3.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/java.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sql.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/jar.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/zip.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/mov.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/html.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/xml.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/ppt.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/pdf.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/avi.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/folder.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/txt.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sxd.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sxc.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/doc.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/rm.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sxw.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/unknown.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/bmp.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/xls.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/jpg.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/class.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sh.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/back.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/mpg.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/sxi.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/gif.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/wav.png <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/images/png.png <<Binary file>> 1.1 maven-plugins/files/files/winzip1.zip <<Binary file>> 1.1 maven-plugins/files/files/soffice1.sxi <<Binary file>> 1.1 maven-plugins/files/files/unknown.unk <<Binary file>> 1.1 maven-plugins/files/files/img5.bmp <<Binary file>> 1.1 maven-plugins/files/files/properties.properties <<Binary file>> 1.1 maven-plugins/files/files/web1.htm <<Binary file>> 1.1 maven-plugins/files/files/xmlfile.xml <<Binary file>> 1.1 maven-plugins/files/files/img1.gif <<Binary file>> 1.1 maven-plugins/files/files/exec2.sh <<Binary file>> 1.1 maven-plugins/files/files/text.txt <<Binary file>> 1.1 maven-plugins/files/files/soffice3.sxc <<Binary file>> 1.1 maven-plugins/files/files/adobe1.pdf <<Binary file>> 1.1 maven-plugins/files/files/img3.tif <<Binary file>> 1.1 maven-plugins/files/files/web2.html <<Binary file>> 1.1 maven-plugins/files/files/exec1.bat <<Binary file>> 1.1 maven-plugins/files/files/soffice2.sxw <<Binary file>> 1.1 maven-plugins/files/files/img4.png <<Binary file>> 1.1 maven-plugins/files/files/soffice4.sxd <<Binary file>> 1.1 maven-plugins/files/files/img2.jpg <<Binary file>> 1.1 maven-plugins/files/src/plugin-resources/imgmap.properties Index: imgmap.properties =================================================================== .avi=avi.png .bmp=bmp.png .class=class.png .doc=doc.png .gif=gif.png .htm=html.png .html=html.png .jar=jar.png .java=java.png .jpg=jpg.png .mov=mov.png .mp3=mp3.png .mpg=mpg.png .pdf=pdf.png .png=png.png .ppt=ppt.png .rm=rm.png .ram=rm.png .sh=sh.png .bat=sh.png .sql=sql.png .sxw=sxw.png .sxc=sxc.png .sxd=sxd.png .sxi=sxi.png .txt=txt.png .properties=txt.png .wav=wav.png .xls=xls.png .xml=xml.png .zip=zip.png 1.1 maven-plugins/files/src/plugin-resources/rss.png <<Binary file>> 1.1 maven-plugins/files/.cvsignore Index: .cvsignore =================================================================== velocity* target 1.1 maven-plugins/files/project.xml Index: project.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <project> <extend>${basedir}/../plugin-project.xml</extend> <!--pomVersion is in parent --> <id>maven-files-plugin</id> <name>Maven Files Plugin</name> <!-- groupId is in parent --> <currentVersion>1.0</currentVersion> <!-- organization is in parent --> <inceptionYear>2004</inceptionYear> <!-- package, logo are in parent. no gumpRepositoryId --> <description>Creates files report</description> <shortDescription>Creates files report</shortDescription> <!-- issue tracking url, siteAddress are in parent --> <url>http://maven-plugins.sourceforge.net/maven-files-plugin/</url> <siteDirectory>/home/groups/m/ma/maven-plugins/htdocs/maven-files-plugin/</siteDirectory> <repository> <connection>scm:cvs:pserver:ano...@cv...:/cvsroot/maven-plugins:maven-plugins/files</connection> <developerConnection>scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/maven-plugins:maven-plugins/files</developerConnection> <url>http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/maven-plugins/maven-plugins/files/</url> </repository> <versions> <version> <id>1.0</id> <name>1.0</name> <tag>MAVEN_PLUGINS_FILES_1_0</tag> </version> </versions> <!-- mailingLists are in parent --> <developers> <developer> <name>Morten Kristiansen</name> <id>mortenkr</id> <email>mor...@us...</email> <roles> <role>Java Developer</role> </roles> <timezone>1</timezone> </developer> </developers> <dependencies> <dependency> <groupId>ant</groupId> <artifactId>ant</artifactId> <version>1.5.3-1</version> </dependency> <dependency> <groupId>xalan</groupId> <artifactId>xalan</artifactId> <version>2.5.1</version> </dependency> </dependencies> <reports> <report>maven-changes-plugin</report> <report>maven-changelog-plugin</report> <report>maven-developer-activity-plugin</report> <report>maven-file-activity-plugin</report> <report>maven-files-plugin</report> <report>maven-javadoc-plugin</report> <report>maven-license-plugin</report> </reports> </project> 1.1 maven-plugins/files/plugin.jelly Index: plugin.jelly =================================================================== <?xml version="1.0"?> <project xmlns:j="jelly:core" xmlns:ant="jelly:ant" xmlns:define="jelly:define" xmlns:util="jelly:util" xmlns:doc="doc"> <goal name="maven-files-plugin:register" description="Registers plugin as report"> <util:available file="${maven.files.src}"> <doc:registerReport name="Files" pluginName="files" link="files/index" description="Report on the project files." /> </util:available> </goal> <goal name="maven-files-plugin:deregister" description="Deregisters plugin as report"> <doc:deregisterReport name="Files" /> </goal> <goal name="files:init" description="Initialize Files Plugin"> <ant:delete dir="${maven.gen.docs}/files" /> <ant:delete dir="${maven.docs.dest}/files" /> <ant:mkdir dir="${maven.gen.docs}/files" /> <ant:mkdir dir="${maven.docs.dest}/files" /> <ant:mkdir dir="${maven.docs.dest}/images" /> </goal> <goal name="files:report" prereqs="files:init" description="Generates a files report"> <!-- Copy all files to docs dest --> <copy todir="${maven.docs.dest}/files" preservelastmodified="true" includeEmptyDirs="false" overwrite="true"> <fileset dir="${maven.files.src}" defaultexcludes="yes" excludes="${maven.files.excludes}" followsymlinks="false" /> </copy> <ant:taskdef name="files" classname="org.apache.maven.files.Generator"> <ant:classpath> <ant:pathelement path="${plugin.dir}" /> </ant:classpath> </ant:taskdef> <!-- The Generator task creates the same folder structure as the one found in ${maven.docs.dest}/files in ${maven.gen.docs}/files with an index.xml file in each folder. --> <ant:files gendocs="${maven.gen.docs}" docsDest="${maven.docs.dest}" url="${pom.url}" name="${pom.name}" logo="${pom.logo}" imgmap="${maven.files.imgmap}" unknownfile="${maven.files.unknownfile}" folderfile="${maven.files.folderfile}" backfile="${maven.files.backfile}" encoding="${maven.docs.outputencoding}" rss="${maven.files.rss}" dateformat="${maven.files.dateformat}" /> <!-- Copy all images to docs dest --> <copy todir="${maven.docs.dest}/images"> <fileset dir="${maven.files.images}" /> <fileset dir="${plugin.dir}/plugin-resources"> <include name="rss.png" /> </fileset> </copy> </goal> </project> 1.1 maven-plugins/files/plugin.properties Index: plugin.properties =================================================================== # Plugin default props maven.files.src=${basedir}/files maven.files.dateformat=dd.MM.yy HH:mm maven.files.imgmap=${plugin.dir}/plugin-resources/imgmap.properties maven.files.images=${plugin.dir}/plugin-resources/images maven.files.unknownfile=unknown.png maven.files.folderfile=folder.png maven.files.backfile=back.png maven.files.rss=true maven.files.excludes= 1.1 maven-plugins/files/project.properties Index: project.properties =================================================================== maven.license.licenseFile=${basedir}/../LICENSE.txt maven.xdoc.date=left maven.xdoc.version=${pom.currentVersion} 1.1 maven-plugins/files/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <document> <body> <section name="Maven Files Plugin"> <p> This plugin provides functionality for adding additional files to the generated Maven site as a report. Default, all files under ${basedir}/files are added to site. To add report, simply put the following line in your POM: <br/> <pre> <reports> ... <report>maven-files-plugin</report> ... </reports> </pre> An example of the plugin result can be found under <a href="files/index.html">here</a>. <p/> For more information on the functionality provided by this plugin, please see the <a href="goals.html">Goals</a> document. <p /> For more information on how to customise the functionality provided by this plugin, please see the <a href="properties.html">Properties</a> document. </p> </section> </body> </document> 1.1 maven-plugins/files/xdocs/goals.xml Index: goals.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <document> <properties> <title>Maven Files Plugin Goals</title> </properties> <body> <goals> <goal> <name>files:report</name> <description>For generating report directly</description> </goal> </goals> </body> </document> 1.1 maven-plugins/files/xdocs/changes.xml Index: changes.xml =================================================================== <?xml version="1.0"?> <document> <body> <release version="1.0" date="01.04.2005"> <action type="add" dev="mortenkr">Version 1.0 released</action> </release> </body> </document> 1.1 maven-plugins/files/xdocs/navigation.xml Index: navigation.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <project name="Maven Files Plugin"> <title>Maven Files Plugin</title> <body> <links> <item href="http://maven.apache.org/" name="Maven"> </item> </links> <menu name="Overview"> <item href="/goals.html" name="Goals"> </item> <item href="/properties.html" name="Properties"> </item> <item href="/customize.html" name="Customize layout"> </item> </menu> </body> </project> 1.1 maven-plugins/files/xdocs/customize.xml Index: customize.xml =================================================================== <?xml version="1.0"?> <document> <body> <section name="Customize layout"> <p> If you'd like to customize the layout of plugin (meaning: add other/additional images), perform the following operations: <ul> <li>Copy the "images" folder from <b>${plugin.dir}/plugin-resources</b> and place it where you like.</li> <li>Copy the <b>${plugin.dir}/plugin-resources/imgmap.properties</b> file to the same place</li> <li>Add or modify images in you new "images" folder</li> <li>Modify your new <b>imgmap.properties</b> file to fit the new/modified images.</li> <li>Set property <b>maven.files.imgmap</b> and <b>maven.files.images</b> to new location</li> <li>Modify <b>maven.files.unknownfile</b>, <b>maven.files.backfile</b> and <b>maven.files.folderfile</b> if needed</li> <li>Have a look at <a href="properties.html">properties</a> for further information on properties.</li> </ul> </p> </section> </body> </document> 1.1 maven-plugins/files/xdocs/properties.xml Index: properties.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <document> <properties> <title>Maven Files Plugin Properties</title> </properties> <body> <section name="Maven Files Plugin Settings"> <table> <tr> <th>Property</th> <th>Optional?</th> <th>Description</th> </tr> <tr> <td>maven.files.src</td> <td>Yes</td> <td> <p> Directory where plugin searches for files. Default value is <code>${basedir}/files</code> . </p> </td> </tr> <tr> <td>maven.files.excludes</td> <td>Yes</td> <td> <p> Patterns of files to exclude (uses Ant exclude patterns). Default value is blank. </p> </td> </tr> <tr> <td>maven.files.dateformat</td> <td>Yes</td> <td> <p> Date pattern to be used in the "Last Modified" column in report. Default value is <code>dd.MM.yy HH:mm</code>. </p> </td> </tr> <tr> <td>maven.files.imgmap</td> <td>Yes</td> <td> <p> Path to file which contains the mapping between filetypes and images. Default plugin provides images for the following filetypes: <p/> .avi, .bmp, .class, .doc, .gif, .htm, .html, .jar, .java, .jpg, .mov, .mp3, .mpg, .pdf, .png, .ppt, .rm, .ram, .sh, .bat, .sql, .sxw, .sxc, .sxd, .sxi, .txt, .properties, .wav, .xls, .xml, .zip <p/> All other files types will get image defined by property <code>maven.files.unknownfile</code> Default value is <code>${plugin.dir}/plugin-resources/imgmap.properties</code>. </p> </td> </tr> <tr> <td>maven.files.images</td> <td>Yes</td> <td> <p> Path to where the images used in report are located. Default value is <code>${plugin.dir}/plugin-resources/images</code>. </p> </td> </tr> <tr> <td>maven.files.unknownfile</td> <td>Yes</td> <td> <p> Name of image file used when displaying unknown filetypes. Default value is <code>txt.png</code>. </p> </td> </tr> <tr> <td>maven.files.backfile</td> <td>Yes</td> <td> <p> Name of image file used when displaying "back" link. Default value is <code>back.png</code>. </p> </td> </tr> <tr> <td>maven.files.folderfile</td> <td>Yes</td> <td> <p> Name of image file used when displaying a folder. Default value is <code>folder.png</code>. </p> </td> </tr> <tr> <td>maven.files.rss</td> <td>Yes</td> <td> <p> If RSS feed should be generated. Default value is <code>true</code> . </p> </td> </tr> </table> </section> </body> </document> 1.1 maven-plugins/files/src/main/org/apache/maven/files/Generator.java Index: Generator.java =================================================================== package org.apache.maven.files; /* ==================================================================== * The Apache Software License, Version 1.1 * * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, * if any, must include the following acknowledgment: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowledgment may appear in the software itself, * if and wherever such third-party acknowledgments normally appear. * * 4. The names "Apache" and "Apache Software Foundation" and * "Apache Maven" must not be used to endorse or promote products * derived from this software without prior written permission. For * written permission, please contact ap...@ap.... * * 5. Products derived from this software may not be called "Apache", * "Apache Maven", nor may "Apache" appear in their name, without * prior written permission of the Apache Software Foundation. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * * ==================================================================== */ import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Properties; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.transform.OutputKeys; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.stream.StreamResult; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; import org.w3c.dom.Document; import org.w3c.dom.DocumentFragment; import org.w3c.dom.Element; import org.w3c.dom.Text; /** * Ant task that generates index.xml files for browsing the project files. * * @author <a href="mailto:mor...@us...">Morten Kristiansen</a> */ public class Generator extends Task { private static final String FILE_SEP = System.getProperty("file.separator"); private String myGendocs = null; private String myDocsDest = null; private String myImgmap = null; private String myDateFormat = null; private String myEncoding = null; private String myUnknownfile = null; private String myFolderfile = null; private String myBackfile = null; private String myRss = null; private String myUrl = null; private String myName = null; private String myLogo = null; private Properties myImgmapProps = new Properties(); private List myFiles = new ArrayList(); /** * Ant tasks execute method. * * @throws BuildException If errors occur. */ public void execute() throws BuildException { // TODO How should this be solved? System.setProperty("javax.xml.transform.TransformerFactory", "org.apache.xalan.processor.TransformerFactoryImpl"); File docsDestRoot = new File(myDocsDest + FILE_SEP + "files"); File genDocsRoot = new File(myGendocs + FILE_SEP + "files"); myImgmapProps = new Properties(); try { myImgmapProps.load(new FileInputStream(new File(myImgmap))); } catch (Throwable t) { throw new BuildException(t); } createIndexFile(docsDestRoot, genDocsRoot, 0); } /** * Creates an index.xml file to generated-xdocs/docs for the current folder in docs. * * @param docsDestFolder Folder where all files are copied to, used as master when generating index files. * @param genDocsFolder Folder where all index.xml files are generated. * @param level Which level in docs we're in (needed to be able to generate correct image links). */ private void createIndexFile(File docsDestFolder, File genDocsFolder, int level) { String imgPath = getImgPath(level); String indexFile = genDocsFolder.getAbsolutePath() + FILE_SEP + "index.xml"; try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document report = db.newDocument(); DocumentFragment document = report.createDocumentFragment(); Element rootElement = report.createElement("document"); Element table = createTableHeader(rootElement, report, imgPath, level); if (level > 0) { addBack(table, report, imgPath); } File[] children = docsDestFolder.listFiles(); // Assure that folder is not null. if (children != null) { // Folders first for (int i = 0; i < children.length; i++) { if (!children[i].isDirectory()) { continue; } // Create folder in gendocs tree String tmpPath = children[i].getAbsolutePath().substring(myDocsDest.length() + 1); File genDocsFolderCreated = new File(myGendocs + FILE_SEP + tmpPath); genDocsFolderCreated.mkdir(); createIndexFile(children[i], genDocsFolderCreated, level + 1); addFolder(table, report, imgPath, children[i].getName()); } // Then files for (int i = 0; i < children.length; i++) { if (children[i].isDirectory()) { continue; } addFile(table, report, imgPath, children[i]); if (rss()) { myFiles.add(children[i]); } } } if (rss()) { generateRssFile(); } document.appendChild(rootElement); DOMSource domSource = new DOMSource(document); StreamResult result = new StreamResult(new FileOutputStream(indexFile)); TransformerFactory tFact = TransformerFactory.newInstance(); Transformer trans = tFact.newTransformer(); trans.setOutputProperty(OutputKeys.INDENT, "yes"); trans.setOutputProperty(OutputKeys.METHOD, "xml"); trans.setOutputProperty(OutputKeys.ENCODING, myEncoding); trans.transform(domSource, result); } catch (Throwable t) { t.printStackTrace(); throw new BuildException(t); } } /** * Returns if rss report should be generated. * * @return boolean True if rss feed is to be generated. */ private boolean rss() { return myRss != null && myRss.trim().equals("true"); } /** * Generates rss file with content describing date of recent changed document. */ private void generateRssFile() { try { DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document report = db.newDocument(); DocumentFragment document = report.createDocumentFragment(); Element rootElement = report.createElement("rss"); rootElement.setAttribute("version", "0.92"); Element channelElement = report.createElement("channel"); rootElement.appendChild(channelElement); Element titleElement = report.createElement("title"); channelElement.appendChild(titleElement); Text titleText = report.createTextNode("Files for " + myName); titleElement.appendChild(titleText); Element descElement = report.createElement("description"); channelElement.appendChild(descElement); Text descText = report.createTextNode("Files for " + myName); descElement.appendChild(descText); Element linkElement = report.createElement("link"); channelElement.appendChild(linkElement); Text linkText = report.createTextNode(myUrl + "/files/index.html"); linkElement.appendChild(linkText); if(myLogo != null && !myLogo.trim().equals("")) { Element imageElement = report.createElement("image"); channelElement.appendChild(imageElement); Element imageTitleElement = report.createElement("title"); imageElement.appendChild(imageTitleElement); Text imageTitleText = report.createTextNode(myName); imageTitleElement.appendChild(imageTitleText); Element imageLinkElement = report.createElement("link"); imageElement.appendChild(imageLinkElement); Text imageLinkText = report.createTextNode(myUrl); imageLinkElement.appendChild(imageLinkText); Element imageUrlElement = report.createElement("url"); imageElement.appendChild(imageUrlElement); Text imageUrlText = report.createTextNode(myLogo); imageUrlElement.appendChild(imageUrlText); } Element itemElement = report.createElement("item"); channelElement.appendChild(itemElement); String myDesc = getDesc(); Element itemTitleElement = report.createElement("title"); itemElement.appendChild(itemTitleElement); Text itemTitleText = report.createTextNode(myDesc); itemTitleElement.appendChild(itemTitleText); Element itemDescElement = report.createElement("description"); itemElement.appendChild(itemDescElement); Text itemDescText = report.createTextNode(myDesc); itemDescElement.appendChild(itemDescText); Element itemLinkElement = report.createElement("link"); itemElement.appendChild(itemLinkElement); Text itemLinkText = report.createTextNode(myUrl + "/files/index.html"); itemLinkElement.appendChild(itemLinkText); document.appendChild(rootElement); DOMSource domSource = new DOMSource(document); StreamResult result = new StreamResult(new FileOutputStream(myDocsDest + FILE_SEP + "files/files.rss")); TransformerFactory tFact = TransformerFactory.newInstance(); Transformer trans = tFact.newTransformer(); trans.setOutputProperty(OutputKeys.INDENT, "yes"); trans.setOutputProperty(OutputKeys.METHOD, "xml"); trans.setOutputProperty(OutputKeys.ENCODING, myEncoding); trans.transform(domSource, result); } catch (Throwable t) { t.printStackTrace(); throw new BuildException(t); } } /** * Returns text to be displayed in RSS file. * * @return String "Documentation last updated: <date of recently updated file>" */ private String getDesc() { long high = 0; for (Iterator iter = myFiles.iterator(); iter.hasNext();) { File file = (File) iter.next(); if(file.lastModified() > high) { high = file.lastModified(); } } Date highest = new Date(high); return "Files last updated: " + new SimpleDateFormat(myDateFormat).format(highest); } /** * Creates new element for the root table in the index.xml file. * * @param root Root xml element. * @param document Document from which Elements are to created from. * @param imgPath Path to images to be used. * @param level Current level * * @return Element The table element. */ private Element createTableHeader(Element root, Document document, String imgPath, int level) { // BODY Element bodyElement = document.createElement("body"); root.appendChild(bodyElement); // SECTION Element sectionElement = document.createElement("section"); sectionElement.setAttribute("name", "Files"); bodyElement.appendChild(sectionElement); // P to SECTION Element pElement = document.createElement("p"); sectionElement.appendChild(pElement); Text pText = document.createTextNode("Generated report based on files found in the files src folder in this project"); pElement.appendChild(pText); // RSS P to SECTION if (rss()) { Element rsspElement = document.createElement("p"); sectionElement.appendChild(rsspElement); Text rsspText = document.createTextNode("Get the RSS feed of the last changes "); rsspElement.appendChild(rsspText); // A TO P Element aElement = document.createElement("a"); rsspElement.appendChild(aElement); aElement.setAttribute("href", getRootPath(level) + "files.rss"); // IMG to A Element imgElement = document.createElement("img"); imgElement.setAttribute("src", imgPath + "rss.png"); aElement.appendChild(imgElement); } // TABLE to SECTION Element tableElement = document.createElement("table"); sectionElement.appendChild(tableElement); // TR to TABLE Element trElement = document.createElement("tr"); tableElement.appendChild(trElement); // THs to TR Element th1Element = document.createElement("th"); Element th2Element = document.createElement("th"); Element th3Element = document.createElement("th"); trElement.appendChild(th1Element); trElement.appendChild(th2Element); trElement.appendChild(th3Element); Text th1Text = document.createTextNode("File"); Text th2Text = document.createTextNode("Type"); Text th3Text = document.createTextNode("Last Modified"); th1Element.appendChild(th1Text); th2Element.appendChild(th2Text); th3Element.appendChild(th3Text); return tableElement; } /** * Adds a row to tableElement with a "back link" to previous folder. * * @param tableElement The table element. * @param document Document from which Elements are to created from. * @param imgPath Path to images to be used. */ private void addBack(Element tableElement, Document document, String imgPath) { // TR Element trElement = document.createElement("tr"); tableElement.appendChild(trElement); // TD to TR Element tdElement = document.createElement("td"); tdElement.setAttribute("colspan", "3"); trElement.appendChild(tdElement); // IMG to TD Element imgElement = document.createElement("img"); imgElement.setAttribute("src", imgPath + myBackfile); tdElement.appendChild(imgElement); // A TO TD Element aElement = document.createElement("a"); aElement.setAttribute("href", "../"); Text aText = document.createTextNode("../"); aElement.appendChild(aText); tdElement.appendChild(aElement); } /** * Adds a row to tableElement with a "folder link" to a sub folder. * * @param tableElement The table element. * @param document Document from which Elements are to created from. * @param imgPath Path to images to be used. * @param folderName The folder name used in link. */ private void addFolder(Element tableElement, Document document, String imgPath, String folderName) { // TR Element trElement = document.createElement("tr"); tableElement.appendChild(trElement); // TD to TR Element tdElement = document.createElement("td"); tdElement.setAttribute("colspan", "3"); trElement.appendChild(tdElement); // IMG to TD Element imgElement = document.createElement("img"); imgElement.setAttribute("src", imgPath + myFolderfile); tdElement.appendChild(imgElement); // A TO TD Element aElement = document.createElement("a"); aElement.setAttribute("href", folderName); Text aText = document.createTextNode(folderName); aElement.appendChild(aText); tdElement.appendChild(aElement); } /** * Adds a row to tableElement with a "file link" to a file current folder. * * @param tableElement The table element. * @param document Document from which Elements are to created from. * @param imgPath Path to images to be used. * @param file The file to generate row in table for. */ private void addFile(Element tableElement, Document document, String imgPath, File file) { String fileName = file.getName(); String filetype = "-"; if (fileName.indexOf('.') != -1) { filetype = fileName.substring(fileName.lastIndexOf('.') + 1); } // TR Element trElement = document.createElement("tr"); tableElement.appendChild(trElement); // TD1 to TR Element tdElement1 = document.createElement("td"); trElement.appendChild(tdElement1); // IMG to TD1 Element imgElement = document.createElement("img"); imgElement.setAttribute("src", imgPath + getImgFilename(fileName)); tdElement1.appendChild(imgElement); // A TO TD1 Element aElement = document.createElement("a"); aElement.setAttribute("href", fileName); aElement.setAttribute("target", "_blank"); Text aText = null; if (fileName.indexOf('.') != -1) { aText = document.createTextNode(fileName.substring(0, fileName.lastIndexOf('.'))); } else { aText = document.createTextNode(fileName); } aElement.appendChild(aText); tdElement1.appendChild(aElement); // TD2 to TR Element tdElement2 = document.createElement("td"); Text td2Text = document.createTextNode(filetype); tdElement2.appendChild(td2Text); trElement.appendChild(tdElement2); // TD3 to TR Element tdElement3 = document.createElement("td"); Text td3Text = document.createTextNode(formatDate(file.lastModified())); tdElement3.appendChild(td3Text); trElement.appendChild(tdElement3); } /** * Returns path to images based on level. * * @param level The current level. * * @return String Path. */ private String getImgPath(int level) { StringBuffer result = new StringBuffer(getRootPath(level)); result.append("../images/"); return result.toString(); } /** * Returns path to root of files report. * * @param level The current level. * * @return String Path. */ private String getRootPath(int level) { StringBuffer result = new StringBuffer(""); for (int i = 0; i < level; i++) { result.append("../"); } return result.toString(); } /** * Returns name of image to be displayed for current file type. * * @param name Filename for current file. * * @return String Image name for file type. */ private String getImgFilename(String name) { for (Iterator iter = myImgmapProps.keySet().iterator(); iter.hasNext();) { String key = (String) iter.next(); if (name.endsWith(key)) { return myImgmapProps.getProperty(key); } } return myUnknownfile; } /** * Returns date as a formatted string. * * @param date The date for format. * * @return String Date as String. */ private String formatDate(long date) { return new SimpleDateFormat(myDateFormat).format(new Date(date)); } /** * @param string */ public void setDateFormat(String string) { myDateFormat = string; } /** * @param string */ public void setEncoding(String string) { myEncoding = string; } /** * @param string */ public void setGendocs(String string) { myGendocs = string; } /** * @param string */ public void setImgmap(String string) { myImgmap = string; } /** * @param string */ public void setBackfile(String string) { myBackfile = string; } /** * @param string */ public void setFolderfile(String string) { myFolderfile = string; } /** * @param string */ public void setUnknownfile(String string) { myUnknownfile = string; } /** * @param string */ public void setRss(String string) { myRss = string; } /** * @param string */ public void setDocsDest(String string) { myDocsDest = string; } /** * @param string */ public void setUrl(String string) { myUrl = string; } /** * @param string */ public void setLogo(String string) { myLogo = string; } /** * @param string */ public void setName(String string) { myName = string; } } |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:58
|
mortenkr 05/03/07 02:30:34 maven-plugins/files/src/main/org/apache/maven - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:58
|
mortenkr 05/03/07 02:30:33 maven-plugins/files/src/main/org - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:58
|
mortenkr 05/03/07 02:30:34 maven-plugins/files/src/plugin-resources/images - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:58
|
mortenkr 05/03/07 02:30:35 maven-plugins/files/xdocs - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:58
|
mortenkr 05/03/07 02:30:34 maven-plugins/files/src/main/org/apache/maven/files - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:56
|
mortenkr 05/03/07 02:30:34 maven-plugins/files/src/plugin-resources - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:43
|
mortenkr 05/03/07 02:30:31 maven-plugins/files/src - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:43
|
mortenkr 05/03/07 02:30:32 maven-plugins/files/src/main - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:43
|
mortenkr 05/03/07 02:30:33 maven-plugins/files/src/main/org/apache - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:43
|
mortenkr 05/03/07 02:30:31 maven-plugins/files/files/somefolder - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:42
|
mortenkr 05/03/07 02:30:31 maven-plugins/files - New directory |
From: Morten K. <mor...@us...> - 2005-03-07 10:30:42
|
mortenkr 05/03/07 02:30:31 maven-plugins/files/files - New directory |
From: Eric P. <de...@us...> - 2005-03-03 15:27:33
|
dep4b 05/03/03 07:27:26 Modified: webtest .cvsignore Log: Ignore velocity log files generated during site builds Revision Changes Path 1.5 +1 -0 maven-plugins/webtest/.cvsignore Index: .cvsignore =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- .cvsignore 19 Nov 2004 13:39:19 -0000 1.4 +++ .cvsignore 3 Mar 2005 15:27:26 -0000 1.5 @@ -1,3 +1,4 @@ target maven.log .project +*.log |
From: Eric P. <de...@us...> - 2005-03-03 15:27:18
|
dep4b 05/03/03 07:27:08 Modified: webtest/src/plugin-resources/lib httpunit-patch.jar webtest.jar webtest/src/plugin-resources webtestTaskdefs.properties BuildNumber.txt webtest/xdocs changes.xml Added: webtest/src/plugin-resources/lib commons-io-1.0.jar nekohtml-0.9.4.jar commons-cli-1.0.jar commons-collections-3.1.jar jakarta-oro-2.0.4.jar commons-logging-1.0.4.jar jemmy.jar commons-codec-1.3.jar jaxen-1.0-FCS-full.jar saxpath-1.0-FCS.jar js-1.6R1.jar commons-beanutils-1.7.0.jar commons-httpclient-3.0-rc1.jar htmlunit-20050118.jar commons-lang-2.0.jar Removed: webtest/src/plugin-resources/lib js.jar antrunner.jar Log: Bump included build version of WebTest to 733 Revision Changes Path 1.2 +1 -25 maven-plugins/webtest/src/plugin-resources/lib/httpunit-patch.jar <<Binary file>> 1.2 +1965 -1539maven-plugins/webtest/src/plugin-resources/lib/webtest.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-io-1.0.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/nekohtml-0.9.4.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-cli-1.0.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-collections-3.1.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/jakarta-oro-2.0.4.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-logging-1.0.4.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/jemmy.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-codec-1.3.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/jaxen-1.0-FCS-full.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/saxpath-1.0-FCS.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/js-1.6R1.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-beanutils-1.7.0.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-httpclient-3.0-rc1.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/htmlunit-20050118.jar <<Binary file>> 1.1 maven-plugins/webtest/src/plugin-resources/lib/commons-lang-2.0.jar <<Binary file>> 1.3 +37 -16 maven-plugins/webtest/src/plugin-resources/webtestTaskdefs.properties Index: webtestTaskdefs.properties =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/src/plugin-resources/webtestTaskdefs.properties,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- webtestTaskdefs.properties 28 Oct 2004 08:32:30 -0000 1.2 +++ webtestTaskdefs.properties 3 Mar 2005 15:27:08 -0000 1.3 @@ -1,16 +1,21 @@ +############### core steps testSpec=com.canoo.webtest.ant.TestSpecificationTask config=com.canoo.webtest.engine.Configuration steps=com.canoo.webtest.ant.TestStepSequence followframe=com.canoo.webtest.steps.request.FollowFrame +selectWindow=com.canoo.webtest.steps.request.SelectWindow clickbutton=com.canoo.webtest.steps.request.ClickButton clicklink=com.canoo.webtest.steps.request.ClickLink +click=com.canoo.webtest.steps.request.Click +invoke=com.canoo.webtest.steps.request.InvokePage +setinputfield=com.canoo.webtest.steps.form.SetTextField +setradiobutton=com.canoo.webtest.steps.form.SetRadioButton +setselectfield=com.canoo.webtest.steps.form.SetSelectField +setcheckbox=com.canoo.webtest.steps.form.SetCheckbox +selectform=com.canoo.webtest.steps.form.SelectForm verifyxpath=com.canoo.webtest.steps.verify.VerifyXPath verifylinks=com.canoo.webtest.steps.verify.VerifyLinks verifycheckbox=com.canoo.webtest.steps.verify.VerifyCheckbox -invoke=com.canoo.webtest.steps.request.InvokePage -setinputfield=com.canoo.webtest.steps.SetInputField -setselectfield=com.canoo.webtest.steps.SetSelectField -setcheckbox=com.canoo.webtest.steps.SetCheckbox verifyelement=com.canoo.webtest.steps.verify.VerifyHtmlElementNamed verifyelementtext=com.canoo.webtest.steps.verify.VerifyElementText verifyinputfield=com.canoo.webtest.steps.verify.VerifyInputField @@ -18,8 +23,10 @@ verifytext=com.canoo.webtest.steps.verify.VerifyText verifytextarea=com.canoo.webtest.steps.verify.VerifyTextArea verifytitle=com.canoo.webtest.steps.verify.VerifyTitle -storeregex=com.canoo.webtest.steps.StoreRegExMatch -storexpath=com.canoo.webtest.steps.StoreXPath +verifyProperty=com.canoo.webtest.steps.verify.VerifyProperty +storeregex=com.canoo.webtest.steps.store.StoreRegExMatch +storexpath=com.canoo.webtest.steps.store.StoreXPath +storeProperty=com.canoo.webtest.steps.store.StorePropertyStep previousresponse=com.canoo.webtest.steps.PreviousResponse not=com.canoo.webtest.ant.NotStep repeat=com.canoo.webtest.ant.RepeatStep @@ -29,6 +36,7 @@ new_setradiobutton=com.canoo.webtest.steps.form.SetRadioButton new_selectform=com.canoo.webtest.steps.form.SelectForm +############### pdf steps decryptPdfDocument=com.canoo.webtest.steps.pdftest.DecryptPdfDocumentStep verifyPdfEncryption=com.canoo.webtest.steps.pdftest.VerifyPdfDocumentEncryptedStep verifyPdfEncryptionStrength=com.canoo.webtest.steps.pdftest.VerifyPdfDocumentEncryptionStrengthStep @@ -43,15 +51,28 @@ verifyPdfReadOnlyField=com.canoo.webtest.steps.pdftest.VerifyPdfReadOnlyFieldStep verifyPdfText=com.canoo.webtest.steps.pdftest.VerifyPdfTextStep -# extension (steps provided as is, without functional tests) -myCustomStep=com.canoo.webtest.extension.MyCustomStep -relayToBrowser=com.canoo.webtest.extension.RelayToBrowser -storeDynamicProperty=com.canoo.webtest.extension.StoreDynamicPropertyStep -exportProperty=com.canoo.webtest.extension.ExportProperty +############### extension steps (provided as is, with minimal or no functional tests) + group=com.canoo.webtest.extension.GroupStep -setfilefield=com.canoo.webtest.extension.SetFileField -groovy=com.canoo.webtest.extension.GroovyStep -reportLinks=com.canoo.webtest.extension.ReportLinksStep -sleep=com.canoo.webtest.extension.Sleep appletRunner=com.canoo.webtest.extension.applet.AppletRunnerStep -verifyCookie=com.canoo.webtest.extension.VerifyCookie \ No newline at end of file +verifyCookie=com.canoo.webtest.extension.VerifyCookie +storeCookie=com.canoo.webtest.extension.StoreCookie +storeHeader=com.canoo.webtest.extension.StoreHeader +storeResponseCode=com.canoo.webtest.extension.StoreResponseCode +myCustomStep=com.canoo.webtest.extension.MyCustomStep +sleep=com.canoo.webtest.extension.Sleep +groovy=com.canoo.webtest.extension.GroovyStep +setfilefield=com.canoo.webtest.extension.SetFileField +retry=com.canoo.webtest.extension.Retry +extractlinkparameter=com.canoo.webtest.extension.ExtractLinkParameter +verifyimages=com.canoo.webtest.extension.VerifyImages +enablejavascript=com.canoo.webtest.extension.EnableJavaScript +prepareDialogResponse=com.canoo.webtest.extension.PrepareDialogResponse +verifyNoDialogResponses=com.canoo.webtest.extension.VerifyNoDialogResponses +scriptStep=com.canoo.webtest.extension.ScriptStep +# relayToBrowser=com.canoo.webtest.extension.RelayToBrowser +# reportLinks=com.canoo.webtest.extension.ReportLinksStep + +############### deprecated steps - you are encouraged to move away from these steps +exportProperty=com.canoo.webtest.extension.ExportProperty +storeDynamicProperty=com.canoo.webtest.steps.store.StorePropertyStep 1.3 +1 -1 maven-plugins/webtest/src/plugin-resources/BuildNumber.txt Index: BuildNumber.txt =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/src/plugin-resources/BuildNumber.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- BuildNumber.txt 28 Oct 2004 08:32:30 -0000 1.2 +++ BuildNumber.txt 3 Mar 2005 15:27:08 -0000 1.3 @@ -1,3 +1,3 @@ -build.number=543 +build.number=733 1.10 +3 -0 maven-plugins/webtest/xdocs/changes.xml Index: changes.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/xdocs/changes.xml,v retrieving revision 1.9 retrieving revision 1.10 diff -u -r1.9 -r1.10 --- changes.xml 19 Nov 2004 13:39:07 -0000 1.9 +++ changes.xml 3 Mar 2005 15:27:08 -0000 1.10 @@ -8,6 +8,9 @@ <releases> <release version="0.9.2" date=""> + <action dev="epugh" type="upgrade" due-to="Matt Raible"> + Upgrade to build 733 of Webtest. Mostly consists of updating jar files. + </action> <action dev="epugh" type="add"> Add the ability to supply a list of extra systemproperties (maven.webtest.sysproperties) that are passed into the Ant task. Any empty system properties will cause a prompt first to supply |
From: Eric G. <ri...@us...> - 2005-03-03 03:36:34
|
rikgig 05/03/02 19:36:25 Modified: uberdist/xdocs faq.fml index.xml properties.xml tags.xml uberdist project.xml Log: Corrected lots of documentation issues. Revision Changes Path 1.2 +5 -5 maven-plugins/uberdist/xdocs/faq.fml Index: faq.fml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/uberdist/xdocs/faq.fml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- faq.fml 2 Mar 2005 17:46:46 -0000 1.1 +++ faq.fml 3 Mar 2005 03:36:25 -0000 1.2 @@ -14,11 +14,11 @@ <source> <![CDATA[ <postGoal name="uber-dist:init"> - <udist:registerProject name="${pom.id}" description="My distribution"/> - <maven:get plugin="maven-uberdist-plugin" - property="maven.uber.dist.assembly.dir" var="dist.assembly.dir" /> - <maven:get plugin="maven-uberdist-plugin" - property="maven.uber.dist.dir" var="distribution_dir" /> + <udist:registerProject name="${pom.artifactId}" description="My distribution"/> + <maven:get plugin="maven-uberdist-plugin" + property="maven.uber.dist.assembly.dir" var="dist.assembly.dir" /> + <maven:get plugin="maven-uberdist-plugin" + property="maven.uber.dist.dir" var="distribution_dir" /> </postGoal>]]> </source><br/> Using the ${pom.id} is a very good practice. This is the value that will be used as default when the tag will be available. 1.2 +8 -9 maven-plugins/uberdist/xdocs/index.xml Index: index.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/uberdist/xdocs/index.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- index.xml 2 Mar 2005 17:46:46 -0000 1.1 +++ index.xml 3 Mar 2005 03:36:25 -0000 1.2 @@ -15,14 +15,14 @@ Some software systems are made of many artifacts and may require an aggregation of many <br/> "external" components or third parties to have a complete distribution.<br/> In a production environment, deployment rules may be very strict and software teams may have<br/> - to follow script prescribe procedures on how and where their system should be installed, especially<br/> - on Unix environments where proper file rights attribution are crutial.<br/> - This work environment being very specific in nature, the one fits all rule doesn't apply here and building<br/> - the distribution becomes an complex task in itself.<br/> + to follow prescribe procedures on how and where their system should be installed, especially<br/> + on Unix environments where proper file rights attribution are crucial.<br/> + The one fits all rule doesn't apply here and building the distribution becomes an complex task in itself.<br/> </p> <p> The goal of the UberDist plugin is to integrate the basic mechanism of having a custom goal called to<br/> - build this specific complex distribution. But, it also automates some recurring tasks and most of all leverages<br/> + build this project specific complex distribution. In other words, use the full power of maven to build your distribution<br/> + using a project specific goal you write. But, it also automates some recurring tasks and most of all leverages<br/> the enormous amout of available facilities provided by the Maven build environment to give better control<br/> on the deployment file structure. </p> @@ -65,14 +65,13 @@ </p> <p> When one of the distribution building goal is called (either one of <a href="./goals.html#uber-dist:make">uber-dist:make</a>, <a href="./goals.html#uber-dist:build">build</a> or <a href="./goals.html#uber-dist:prepare-dist-filesystem">prepare-dist-filesystem</a>), - the plugin will call its internal init goal ( uber-dist:init ). Util a custom tag is supplied, writing a postGaol to this one is the prefered way to register - a distribution to be built with the plugin. Its very similar to the xdoc plugin in behavior. It allows building many seperate distribution from a same project. + the plugin will call its internal init goal ( uber-dist:init ), this is when you register your project with a postGoal. See <a href="./tags.html#uber-dist:registerProject">uber-dist:registerProject tag</a><br/> + See also FAQ: <a href="./faq.html#register-project">register-project</a> </p> <p> Once your project is registered, UberDist prepares the necessary directories, based on its property values.<br/> Now comes the time to copy all necessary files in the distribution assembly. UberDist will first call YOUR - distribution goal. To do this, it uses the name your registered with (typically ${pom.artifactId} makes a perfect name) - appended with ':prepare-dist-filesystem'.<br/> + distribution goal.<br/> Ex.: For a a maven project with id: <strong>myproject</strong>, the goal <strong>myproject:prepare-dist-filesystem</strong> will be called. </p> <p> 1.2 +14 -17 maven-plugins/uberdist/xdocs/properties.xml Index: properties.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/uberdist/xdocs/properties.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- properties.xml 2 Mar 2005 17:46:46 -0000 1.1 +++ properties.xml 3 Mar 2005 03:36:25 -0000 1.2 @@ -17,8 +17,8 @@ <tr> <td>maven.uber.dist.assembly.root</td> <td> - The directory under the project's target dir under which the files that builds - up the distribution should be copied to. It is also called the distribution assembly dir.<br/> + The directory where the distribution is built (under the project's target).<br/> + It is also called the distribution assembly dir.<br/> <i>maven.uber.dist.assembly.root=${maven.build.dir}/dist-assembly</i> <br/> </td> @@ -27,10 +27,9 @@ <tr> <td>maven.uber.dist.dir</td> <td> - The directory under the project's target dir - where the plugin puts the final distribution: tarball or zip - files based on the OS under which it is created. - <br/> + The directory under the project's target dir <br/> + where the plugin puts the final distribution: tarball or zip<br/> + files based on the OS under which it is created.<br/> <i>maven.uber.dist.dir=${maven.build.dir}/distributions</i> <br/> </td> @@ -39,13 +38,10 @@ <tr> <td>maven.uber.dist.proj.subdir</td> <td> - Specifies the sub-directory under the distribution assembly - dir where the files for this project should be kept. - This is necessary only if you are in a multiproject - environment with seperate distributions. - <br/> - See the <a href="protocols.html">the list</a> of supported protocols. - <br/> + Specifies the sub-directory under the distribution assembly<br/> + dir where the files for this project should be kept.<br/> + This is necessary only if you are in a multiproject<br/> + environment with seperate distributions.<br/> </td> <td>No</td> </tr> @@ -53,10 +49,11 @@ <tr> <td><a name="maven.uber.dist.assembly.dir">maven.uber.dist.assembly.dir</a></td> <td> - This property holds the directory where the distribution assembly is. - By default, it is made of the concatenation of root dir followed - by project sub-dir if any. - <i>maven.uber.dist.assembly.dir=${maven.uber.dist.assembly.root}/${maven.uber.dist.proj.subdir}</i> + This property holds the directory where the distribution assembly is.<br/> + By default, it is made of the concatenation of root dir followed <br/> + by project sub-dir if any.<br/> + <i>maven.uber.dist.assembly.dir=${maven.uber.dist.assembly.root}/<br/> + ${maven.uber.dist.proj.subdir}</i> </td> <td>No</td> </tr> 1.2 +6 -8 maven-plugins/uberdist/xdocs/tags.xml Index: tags.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/uberdist/xdocs/tags.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- tags.xml 2 Mar 2005 17:46:46 -0000 1.1 +++ tags.xml 3 Mar 2005 03:36:25 -0000 1.2 @@ -24,7 +24,7 @@ <td>Copies launch scripts to a specified directory</td> </tr> <tr> - <td><a href="#uber-dist:registerProject">artifact:deploy-snapshot</a></td> + <td><a href="#uber-dist:registerProject">uber-dist:registerProject</a></td> <td>Add a project to the distribution list to be built.</td> </tr> <tr> @@ -35,13 +35,11 @@ <subsection name="uber-dist:copyScripts"> <p> - Copies launch scripts to a specified directory. - <br/> + Copies launch scripts to a specified directory.<br/> The files located in directory with matching pattern as described by - property <a href="./properties.html#maven.uber.dist.launch.scripts"> - maven.uber.dist.launch.scripts</a> are copied<br/> - using Ant filtering mechanism with default @artifact_id@ token replaced<br/> - by the current's project artifact id.<br/> + property <a href="./properties.html#maven.uber.dist.launch.scripts">maven.uber.dist.launch.scripts</a> + are copied using Ant filtering mechanism with default @artifact_id@ + token replaced by the current's project artifact id.<br/> The default value for the file pattern is: <code>*.sh,*.cmd,*.bat</code> </p> <table> @@ -70,7 +68,7 @@ </tr> <tr> <td>name</td> - <td>The name of the distribution to build</td> + <td>The name of the distribution to build. </td> <td>No</td> </tr> </table> 1.2 +5 -28 maven-plugins/uberdist/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/uberdist/project.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- project.xml 2 Mar 2005 17:45:38 -0000 1.1 +++ project.xml 3 Mar 2005 03:36:25 -0000 1.2 @@ -37,21 +37,21 @@ <shortDescription>Distribution plugin for multiple projects</shortDescription> <siteDirectory> - /home/groups/m/ma/maven-plugins/htdocs/maven-transform-plugin/ + /home/groups/m/ma/maven-plugins/htdocs/maven-uberdist-plugin/ </siteDirectory> <distributionDirectory> - /home/groups/m/ma/maven-plugins/htdocs/maven-transform-plugin/distributions/ + /home/groups/m/ma/maven-plugins/htdocs/maven-uberdist-plugin/distributions/ </distributionDirectory> <repository> <connection> - scm:cvs:pserver:ano...@cv...:/cvsroot/maven-plugins:maven-plugins/transform + scm:cvs:pserver:ano...@cv...:/cvsroot/maven-plugins:maven-plugins/uberdist </connection> <developerConnection> - scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/maven-plugins:maven-plugins/transform + scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/maven-plugins:maven-plugins/uberdist </developerConnection> <url> - http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/maven-plugins/maven-plugins/transform/ + http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/maven-plugins/maven-plugins/uberdist/ </url> </repository> @@ -75,29 +75,6 @@ </versions> <!-- build is in the parent --> -<!-- - <build> - <sourceDirectory>src/java</sourceDirectory> - <unitTestSourceDirectory>test/java</unitTestSourceDirectory> - - - <resources> - <resource> - <directory>${basedir}/src/plugin-resources</directory> - <targetPath>plugin-resources</targetPath> - </resource> - <resource> - <directory>${basedir}</directory> - <includes> - <include>plugin.jelly</include> - <include>plugin.properties</include> - <include>project.properties</include> - <include>project.xml</include> - </includes> - </resource> - </resources> - </build> ---> <reports> <report>maven-changes-plugin</report> <report>maven-linkcheck-plugin</report> |
From: Eric G. <ri...@us...> - 2005-03-02 17:47:21
|
rikgig 05/03/02 09:47:14 Added: uberdist .cvsignore Log: First commit. Revision Changes Path 1.1 maven-plugins/uberdist/.cvsignore Index: .cvsignore =================================================================== target |
From: Eric G. <ri...@us...> - 2005-03-02 17:46:54
|
rikgig 05/03/02 09:46:46 Added: uberdist/xdocs changes.xml faq.fml goals.xml index.xml navigation.xml properties.xml tags.xml Log: First commit. Moved from uber-dist sf project. Revision Changes Path 1.1 maven-plugins/uberdist/xdocs/changes.xml Index: changes.xml =================================================================== <?xml version="1.0" encoding="UTF-8"?> <!-- /* * Copyright 2001-2004 The 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. */ --> <document> <properties> <title>Uberdist plugin changes</title> <author email="ri...@us...">Eric Giguere</author> </properties> <body> <release version="1.0.10" date="2005-01-03"> <action dev="rikgig" type="add">First public version of the plugin</action> </release> <!-- --> <release version="1.0.4" date="2004-09-10"> <action dev="rikgig" type="add">Starting from this one, uber-dist now take full control on dependencies deployment. Including, renaming the jar (to remove version if necessary), customizable output directory, all from the project.xml entries.</action> </release> </body> </document> 1.1 maven-plugins/uberdist/xdocs/faq.fml Index: faq.fml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <faqs title="Frequently Asked Questions"> <part id="General"> <title>General</title> <faq id="register-project"> <question>How do I register my project with UberDist to get my distribution goal called?</question> <answer> Until a custom tag is integrated in the plugin (like report plugin for example), you must call the registerProject tag from the UberDist taglib. The snippit below shows an example:<br/> Note that the property gets are "optionnal" at this point but doing it there allows you to use them freely in your maven script while building your distribution.<br/> <source> <![CDATA[ <postGoal name="uber-dist:init"> <udist:registerProject name="${pom.id}" description="My distribution"/> <maven:get plugin="maven-uberdist-plugin" property="maven.uber.dist.assembly.dir" var="dist.assembly.dir" /> <maven:get plugin="maven-uberdist-plugin" property="maven.uber.dist.dir" var="distribution_dir" /> </postGoal>]]> </source><br/> Using the ${pom.id} is a very good practice. This is the value that will be used as default when the tag will be available. This name is then used as </answer> </faq> <faq id="create-distribution"> <question>How do I create my distribution with UberDist?</question> <answer> You have to add a goal in your project named: [registered_name]:prepare-dist-filesystem. where [registered_name] is the name you supplied when registering with the plugin. </answer> </faq> </part> </faqs> 1.1 maven-plugins/uberdist/xdocs/goals.xml Index: goals.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <document> <properties> <title>uberdist Plugin Goals</title> <author email="ri...@ya...">dIon Gillard</author> </properties> <body> <goals> <goal> <name>uber-dist:init</name> <description> This goal is provided to give a hook on project developpers to add a preGoal so that<br/> the project registers itself with the plugin.<br/> It also checks for make an OS check to to customize the tar call so that<br/> file access rights are kept in the tarball if building un Unix or Solaris<br/> </description> </goal> <goal> <name>uber-dist:make</name> <description> This goal make a distribution. It starts from the existing target files and from the existing distribution assembly. Some files may be out of date but its way faster that a complete rebuild. </description> </goal> <goal> <name>uber-dist:build</name> <description> This goal is used to create from scratch a binary distribution. Like make, it will build the distribution assembly in the dist-assembly dir (under target) but unlike uber-dist:make, this goal calls the goal clean-dist-filesystem before any other goal. </description> </goal> <goal> <name>uber-dist:prepare-dist-filesystem</name> <description> TBD </description> </goal> <goal> <name>uber-dist:clean-dist-filesystem</name> <description> TBD </description> </goal> <goal> <name>uber-dist:create-distrib</name> <description> TBD </description> </goal> <goal> <name>uber-dist:dist-setup</name> <description> TBD </description> </goal> <goal> <name>uber-dist:clean-dist</name> <description> TBD </description> </goal> <goal> <name>uber-dist:copy-deps</name> <description> TBD </description> </goal> <goal> <name>uber-dist:make-executable</name> <description> TBD </description> </goal> <goal> <name>uber-dist:copy-scripts</name> <description> TBD </description> </goal> </goals> </body> </document> 1.1 maven-plugins/uberdist/xdocs/index.xml Index: index.xml =================================================================== <?xml version="1.0"?> <document> <properties> <title>Overview</title> </properties> <body> <section name="Maven UberDist Plugin "> <subsection name="Plugin Overview and Documentation map"> <p> Why another distribution plugin? </p> <p> Some software systems are made of many artifacts and may require an aggregation of many <br/> "external" components or third parties to have a complete distribution.<br/> In a production environment, deployment rules may be very strict and software teams may have<br/> to follow script prescribe procedures on how and where their system should be installed, especially<br/> on Unix environments where proper file rights attribution are crutial.<br/> This work environment being very specific in nature, the one fits all rule doesn't apply here and building<br/> the distribution becomes an complex task in itself.<br/> </p> <p> The goal of the UberDist plugin is to integrate the basic mechanism of having a custom goal called to<br/> build this specific complex distribution. But, it also automates some recurring tasks and most of all leverages<br/> the enormous amout of available facilities provided by the Maven build environment to give better control<br/> on the deployment file structure. </p> <table> <tr><th>Document</th><th>Description</th></tr> <tr><td><a href="goals.html">Goals</a></td> <td> Document listing all callable and internal goals of the UberDist maven plugin. </td> </tr> <tr><td><a href="tags.html">Tags</a></td> <td> The UberDist plugin defines Jelly tags to perform some basic operations. These tags are listed and explained in this document. </td> </tr> <tr><td><a href="properties.html">Properties</a></td> <td> The behavior of the Maven UberDist Plugin can be altered as many plugins via several properties. This document describes each property available, and the default values used if none are supplied in the project. </td> </tr> <tr><td><a href="faq.html">FAQs</a></td> <td> Question and answers to get you up and running in no time! </td> </tr> </table> </subsection> <subsection name="UberDist Process"> <p> UberDist with results of maven a project compilation but not in the location they are generated at.<br/> The plugin uses 2 directories that are defined by properties: <ul> <li>Distribution-assembly directory: Where the distribution is built: <a href="./properties.html#maven.uber.dist.assembly.dir">maven.uber.dist.assembly.dir</a></li> <li>Distribution directory: Where final distribution (tar or zip) file is produced: <a href="./properties.html#maven.uber.dist.dir">maven.uber.dist.dir</a></li> </ul> </p> <p> When one of the distribution building goal is called (either one of <a href="./goals.html#uber-dist:make">uber-dist:make</a>, <a href="./goals.html#uber-dist:build">build</a> or <a href="./goals.html#uber-dist:prepare-dist-filesystem">prepare-dist-filesystem</a>), the plugin will call its internal init goal ( uber-dist:init ). Util a custom tag is supplied, writing a postGaol to this one is the prefered way to register a distribution to be built with the plugin. Its very similar to the xdoc plugin in behavior. It allows building many seperate distribution from a same project. </p> <p> Once your project is registered, UberDist prepares the necessary directories, based on its property values.<br/> Now comes the time to copy all necessary files in the distribution assembly. UberDist will first call YOUR distribution goal. To do this, it uses the name your registered with (typically ${pom.artifactId} makes a perfect name) appended with ':prepare-dist-filesystem'.<br/> Ex.: For a a maven project with id: <strong>myproject</strong>, the goal <strong>myproject:prepare-dist-filesystem</strong> will be called. </p> <p> Then, the plugin will call a list of internal goals designed to help you building your distribution with minimum jelly code added in your project.<br/> <ol> <li><a href="./goals.html#uber-dist:copy-deps">uber-dist:copy-deps</a> : to copy project dependencies like artifact does but with a little more control</li> <li><a href="./goals.html#uber-dist:copy-scripts">uber-dist:copy-scripts</a> : to copy launch scripts (batch file, bash,etc) with filtering</li> <li><a href="./goals.html#uber-dist:make-executable">uber-dist:make-executable</a> : For Unix platforms, to make some files executable</li> </ol> And final step, creating the tarball (Unix) or the zip file (Windows).<br/> For more details, please see the Goals, Properties and FAQ pages.<br/> Happy Distributing! </p> </subsection> </section> </body> </document> 1.1 maven-plugins/uberdist/xdocs/navigation.xml Index: navigation.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <project name="Maven uberdist Plugin"> <title>Maven uberdist Plugin</title> <body> <links> <item name="Maven" href="http://maven.apache.org/"/> </links> <menu name="Overview"> <item name="Goals" href="/goals.html"/> <item name="Tags" href="/tags.html" /> <item name="Properties" href="/properties.html"/> <item name="FAQs" href="/faq.html"/> </menu> </body> </project> 1.1 maven-plugins/uberdist/xdocs/properties.xml Index: properties.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <document> <properties> <title>Properties</title> </properties> <body> <section name="Maven UberDist Plugin Properties"> <table> <tr> <th>Property name</th> <th>Description</th> <th>Optional?</th> </tr> <tr> <td>maven.uber.dist.assembly.root</td> <td> The directory under the project's target dir under which the files that builds up the distribution should be copied to. It is also called the distribution assembly dir.<br/> <i>maven.uber.dist.assembly.root=${maven.build.dir}/dist-assembly</i> <br/> </td> <td>No</td> </tr> <tr> <td>maven.uber.dist.dir</td> <td> The directory under the project's target dir where the plugin puts the final distribution: tarball or zip files based on the OS under which it is created. <br/> <i>maven.uber.dist.dir=${maven.build.dir}/distributions</i> <br/> </td> <td>No</td> </tr> <tr> <td>maven.uber.dist.proj.subdir</td> <td> Specifies the sub-directory under the distribution assembly dir where the files for this project should be kept. This is necessary only if you are in a multiproject environment with seperate distributions. <br/> See the <a href="protocols.html">the list</a> of supported protocols. <br/> </td> <td>No</td> </tr> <tr> <td><a name="maven.uber.dist.assembly.dir">maven.uber.dist.assembly.dir</a></td> <td> This property holds the directory where the distribution assembly is. By default, it is made of the concatenation of root dir followed by project sub-dir if any. <i>maven.uber.dist.assembly.dir=${maven.uber.dist.assembly.root}/${maven.uber.dist.proj.subdir}</i> </td> <td>No</td> </tr> <tr><td>Autres a finir:</td> <td>maven.uber.dist.assembly.dep.subdir= maven.uber.dist.executable.permission=gu+x maven.uber.dist.executable.includes=**/*.sh,**/*.so maven.uber.dist.launch.scripts=*.sh,*.cmd,*.bat </td></tr> </table> </section> <section name="Other properties used"> <p> If you are behind firewall and need to use proxy server see <a href="http://maven.apache.org/reference/user-guide.html#Using Proxies">following</a> section from the <b>Maven User Guide</b> . </p> </section> </body> </document> 1.1 maven-plugins/uberdist/xdocs/tags.xml Index: tags.xml =================================================================== <?xml version="1.0"?> <document> <properties> <title>Tags</title> <author email="ri...@ya...">Eric Giguere</author> </properties> <body> <section name="Overview"> <p> This document describes the <a href="http://jakarta.apache.org/commons/jelly/tags.html">tags</a> that are available when using the Maven Uberdist Plug-in. </p> </section> <section name="Tags"> <table> <tr><th>Name</th><th>Description</th></tr> <tr> <td><a href="#uber-dist:copyScripts">uber-dist:copyScripts</a></td> <td>Copies launch scripts to a specified directory</td> </tr> <tr> <td><a href="#uber-dist:registerProject">artifact:deploy-snapshot</a></td> <td>Add a project to the distribution list to be built.</td> </tr> <tr> <td><a href="#uber-dist:deregisterProject">uber-dist:deregisterProject</a></td> <td>Removes a project from the distribution list to build</td> </tr> </table> <subsection name="uber-dist:copyScripts"> <p> Copies launch scripts to a specified directory. <br/> The files located in directory with matching pattern as described by property <a href="./properties.html#maven.uber.dist.launch.scripts"> maven.uber.dist.launch.scripts</a> are copied<br/> using Ant filtering mechanism with default @artifact_id@ token replaced<br/> by the current's project artifact id.<br/> The default value for the file pattern is: <code>*.sh,*.cmd,*.bat</code> </p> <table> <tr> <th>Attribute Name</th><th>Description</th><th>Optional?</th> </tr> <tr> <td>scriptsDirectory</td> <td>The path to the destination directory under the distribution assembly root</td> <td>No</td> </tr> </table> </subsection> <subsection name="uber-dist:registerProject"> <p> Register a project with uberdist plugin to get the complex distribution built. <br/> NOTE: It is necessary to use this tag before calling any distribution goal so that<br/> the plugin will be able to call the custom file copy goal in your project.<br/> </p> <table> <tr> <th>Attribute Name</th><th>Description</th><th>Optional?</th> </tr> <tr> <td>name</td> <td>The name of the distribution to build</td> <td>No</td> </tr> </table> </subsection> <subsection name="uber-dist:deregisterProject"> <p> Removes a project from the list of distribution to be built. <br/> </p> <table> <tr> <th>Attribute Name</th><th>Description</th><th>Optional?</th> </tr> <tr> <td>name</td> <td>The name of the distribution to remove from build list</td> <td>No</td> </tr> </table> </subsection> </section> </body> </document> |
From: Eric G. <ri...@us...> - 2005-03-02 17:45:47
|
rikgig 05/03/02 09:45:39 Added: uberdist plugin.jelly plugin.properties project.xml Log: First commit. Moved from uber-dist sf project and adapted as a sub project Revision Changes Path 1.1 maven-plugins/uberdist/plugin.jelly Index: plugin.jelly =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!-- /* * Copyright 2004-2005 Eric Giguere * * 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. */ --> <project xmlns:define="jelly:define" xmlns:j="jelly:core" xmlns:util="jelly:util" xmlns:ant="jelly:ant" xmlns:maven="jelly:maven"> <!-- Variable that will hold the list of projects that are part of the distribution to be built --> <j:new var="projects" className="java.util.ArrayList"/> <!-- Tag lib for the plugin --> <define:taglib uri="uber-dist"> <define:tag name="deregisterProject"> <!-- @name : Project to deregister, must be same as name used to register --> <maven:pluginVar var="projects" plugin="maven-uberdist-plugin" property="projects" /> <j:set var="removeProject" value="null"/> <j:forEach var="proj" items="${projects}"> <j:if test="${proj.get('name').equals(name)}"> <j:set var="removeProject" value="${proj}"/> </j:if> </j:forEach> <j:if test="${removeProject != null}"> <j:set var="dummy" value="${projects.remove(removeProject)}"/> </j:if> </define:tag> <define:tag name="registerProject"> <!-- @name the name of this project. @description text description of project --> <maven:pluginVar var="projects" plugin="maven-uberdist-plugin" property="projects" /> <!-- check if the given name is in the list already --> <j:set var="add" value="true"/> <j:forEach var="proj" items="${projects}"> <j:if test="${proj.get('name').equals(name)}"> <j:set var="add" value="false"/> </j:if> </j:forEach> <j:if test="${add.equals('true')}"> <echo>Registering project: ${name}</echo> <j:new var="project" className="java.util.HashMap"/> <j:set var="dummy"> ${project.put('name', name)} ${project.put('description', description)} ${projects.add(project)} </j:set> </j:if> </define:tag> <define:tag name="copyScripts"> <!-- @scriptsDirectory : Directory where to look for scripts --> <echo message="installScripts from: ${scriptsDirectory}"/> <maven:set property="maven.uber.dist.scripts.dir" plugin="maven-uberdist-plugin" value="${scriptsDirectory}"/> <attainGoal name="uber-dist:copy-scripts"/> </define:tag> </define:taglib> <goal name="uber-dist:init" description="This goal is provided to give a hook on project developpers to add a preGoal so that the project registers itself with the plugin. It also checks for os and set a property if it is found to be running on Solaris to customize tar call on Unix (to keep right on the files in the tarball)"> <condition property="isOnUnix"> <or> <os family="unix"/> <os name="SunOS"/> </or> </condition> <j:if test="${isOnUnix == 'true'}"> <echo message="Building distribution from a Unix based box"/> </j:if> </goal> <goal name="uber-dist:clean-dist-filesystem" description="Delete existing distribution directories to build a new distribution" prereqs="uber-dist:dist-setup"> <j:choose> <j:when test="${maven.uber.dist.assembly.dir.length()!=0}"> <ant:echo>Deleting distribution directory : ${maven.uber.dist.assembly.dir}</ant:echo> <ant:delete dir="${maven.uber.dist.assembly.dir}"/> </j:when> <j:otherwise> <fail>maven.uber.dist.assembly.dir empty. Abort</fail> </j:otherwise> </j:choose> <j:choose> <echo message="Deleting distribution..."/> <j:when test="${isOnUnix == 'true'}"> <ant:delete file="${maven.uber.dist.dir}/${maven.final.name}.tar.gzip"/> </j:when> <j:otherwise> <ant:delete file="${maven.uber.dist.dir}/${maven.final.name}.zip"/> </j:otherwise> </j:choose> </goal> <!-- Create a tar.gz file and zip distribution --> <goal name="uber-dist:create-distrib"> <ant:echo>Creating tarball on dir:${maven.uber.dist.assembly.dir}</ant:echo> <j:choose> <j:when test="${isOnUnix == 'true'}"> <echo message="Tar on Unix box..."/> <!-- Create a gzipped tarball for Unix systems --> <ant:exec executable="tar"> <arg line=" -vcf ${maven.uber.dist.dir}/${maven.final.name}.tar -C ${maven.uber.dist.assembly.dir} ."/> </ant:exec> <ant:gzip zipfile="${maven.uber.dist.dir}/${maven.final.name}.tar.gz" src="${maven.uber.dist.dir}/${maven.final.name}.tar"/> <ant:delete file="${maven.uber.dist.dir}/${maven.final.name}.tar"/> </j:when> <j:otherwise> <echo message="Non-Unix box, zipping distribution"/> <!-- Create a zip file --> <ant:zip zipfile="${maven.uber.dist.dir}/${maven.final.name}.zip"> <ant:zipfileset dir="${maven.uber.dist.assembly.dir}"/> </ant:zip> </j:otherwise> </j:choose> </goal> <goal name="uber-dist:dist-setup" description="This goal checks for registered projects. If none are found then we fail the build"> <j:if test="${projects.isEmpty()}"> <fail>No projects registered with uber-dist</fail> </j:if> </goal> <goal name="uber-dist:clean-dist" description="Goal that cleans the distributions and dist-assembly directory for the project" prereqs="uber-dist:init"> <attainGoal name="uber-dist:clean-dist-filesystem"/> </goal> <goal name="uber-dist:prepare-dist-filesystem" prereqs="uber-dist:init"> <ant:mkdir dir="${maven.uber.dist.assembly.dir}" /> <ant:mkdir dir="${maven.uber.dist.dir}" /> <j:if test="${!projects.isEmpty()}"> <j:forEach var="project" items="${projects}"> <j:set var="goalName" value="${project.get('name')}:prepare-dist-filesystem"/> <j:catch var="ex"> <echo message="calling goal : ${goalName}"/> <attainGoal name="${goalName}"/> </j:catch> <j:if test="${ex != null}"> <j:if test="${ex.getMessage().indexOf('No goal') == (1) }"> <echo message="The goal : ${goalName} is not defined in your project"/> </j:if> <!-- TODO: Replace this fail command with a fallback on the maven-dist-plugin --> <fail>Exception caught while running goal [${goalName}] Details: ${ex}</fail> </j:if> </j:forEach> <attainGoal name="uber-dist:copy-deps"/> <attainGoal name="uber-dist:copy-scripts"/> <attainGoal name="uber-dist:make-executable"/> </j:if> <j:if test="${projects.isEmpty()}"> <echo>No projects registered with uber-dist</echo> </j:if> </goal> <goal name="uber-dist:build" description="This goal is used to create from scratch a binary distribution. Like make, it will build the distribution assembly in the dist-assembly dir (under target) but unlike uber-dist:make, this goal calls the goal clean before any other"> <attainGoal name="clean"/> <attainGoal name="uber-dist:init"/> <attainGoal name="uber-dist:prepare-dist-filesystem"/> <attainGoal name="uber-dist:create-distrib"/> </goal> <goal name="uber-dist:make" description="This goal is used to create a binary distribution. Difference between this one and uber-dist:build is that the make will not destroy the target directory but will remove the dist-assembly directory of the project to rebuild it" prereqs="uber-dist:init"> <attainGoal name="uber-dist:prepare-dist-filesystem"/> <attainGoal name="uber-dist:create-distrib"/> </goal> <goal name="uber-dist:copy-deps" description="To copy only the specially marked dependencies of a sub-project, ones with an attribute name like the pom.artifactId-deploy and with a value 'true'"> <!-- Go get all dependencies that are marked by the project id (way to exclude master project's dependencies --> <j:new var="deps" className="java.util.Vector"/> <j:set var="projectId" value="${pom.artifactId}.deploy"/> <j:forEach var="lib" items="${pom.artifacts}"> <j:if test="${lib.dependency.getProperty(projectId)=='true'}"> <echo>adding dep: ${lib.file.name}</echo> <j:set var="dummy"> ${deps.add(lib)} </j:set> </j:if> </j:forEach> <!-- Copy child dependencies if there is at least one entry because an empty ant:copy generates an error if no files are in the copy definition --> <j:if test="${!deps.isEmpty()}"> <!-- Get the project level deployment sub-directory if it exists --> <j:if test="${pom.getProperty('jar.dependency.dist.dir')!=null}"> <j:set var="projectDepDeployDir" value="${pom.getProperty('jar.dependency.dist.dir')}${'/'}"/> </j:if> <j:forEach var="dep" items="${deps}"> <!-- Set default deploy sub-dir for dependencies to project level property value --> <j:set var="depDeployDir" value="${projectDepDeployDir}"/> <!-- Check to see if the jar.dependency.deploy.dir was overriden at the dependency level --> <j:if test="${dep.dependency.getProperty('jar.dependency.dist.dir')!=null}"> <j:set var="depDeployDir" value="${dep.dependency.getProperty('jar.dependency.dist.dir')}${'/'}"/> </j:if> <!-- Here check if the deploy name for the dependency must be overriden to satisfy either plateform requirement or libraries manifest sepecifications --> <j:choose> <j:when test="${dep.dependency.getProperty('jar.dependency.dist.name')!=null}"> <j:set var="depDeployName" value="${dep.dependency.getProperty('jar.dependency.dist.name')}"/> <echo message="Deploying dependency: ${dep.file.name} under overriden name: ${depDeployName}"/> </j:when> <j:otherwise> <j:set var="depDeployName" value="${dep.file.name}"/> </j:otherwise> </j:choose> <ant:copy tofile="${maven.uber.dist.assembly.dir}/${depDeployDir}/${depDeployName}"> <ant:fileset dir="${dep.file.parent}"> <ant:include name="${dep.file.name}"/> </ant:fileset> </ant:copy> </j:forEach> </j:if> </goal> <goal name="uber-dist:make-executable" prereqs="uber-dist:init" description="This goal is used to change file permission in a distribution assembly when its created on Unix based systems. By default, only the *.sh and *.so files are changed. We add, by default, x permissions on group and user only. The default values can be overriden by plugin properties NOTE: Only executed when the build is done on a Unix based system."> <j:set var="permission" value="${maven.uber.dist.executable.permission}"/> <j:if test="${persmission=='' or permission==null}"> <j:set var="permission" value="gu+x"/> </j:if> <j:set var="includes" value="${maven.uber.dist.executable.includes}"/> <echo message="Using permissions: ${permission} and includes: ${includes}"/> <ant:chmod dir="${maven.uber.dist.assembly.dir}" perm="${permission}" includes="${includes}"/> </goal> <goal name="uber-dist:copy-scripts" description="This goal copies batch command scripts (*.cmd, *.bat, *.sh, and so on...) using a filter. The default filtering criteria is artifact_id. This token will be replaced by the ant:copy tag automatically"> <maven:get var="scripts_dir" plugin="maven-uberdist-plugin" property="maven.uber.dist.scripts.dir"/> <maven:get var="dest_dir" plugin="maven-uberdist-plugin" property="maven.uber.dist.assembly.dir"/> <maven:get var="scripts_pattern" plugin="maven-uberdist-plugin" property="maven.uber.dist.launch.scripts"/> <j:set var="isOkToGo" value="true"/> <j:if test="${scripts_dir==null or scripts_dir==''}"> <ant:echo message="No maven.uber.dist.scripts.dir specified, skipping copy-scripts"/> <j:set var="isOkToGo" value="false"/> </j:if> <j:if test="${scripts_pattern==null or scripts_pattern==''}"> <ant:echo message="File pattern for launch scripts empty, skipping copy-scripts"/> <j:set var="isOkToGo" value="false"/> </j:if> <j:if test="${dest_dir==null or dest_dir==''}"> <ant:echo message="Destination path not set, skipping copy-scripts"/> <j:set var="isOkToGo" value="false"/> </j:if> <j:if test="${isOkToGo == 'true'}"> <echo> Copying filtered launch scripts using pattern: ${maven.uber.dist.launch.scripts} From dir: ${scripts_dir} To dir: ${maven.uber.dist.assembly.dir} </echo> <ant:copy todir="${maven.uber.dist.assembly.dir}" filtering="true" verbose="true" > <ant:filterset id="arifact_id.filter"> <ant:filter token="artifact_id" value="${maven.final.name}.jar"/> </ant:filterset> <ant:fileset dir="${scripts_dir}" includes="${maven.uber.dist.launch.scripts}"> <exclude name="target/**,${maven.src.dir}/**"/> </ant:fileset> </ant:copy> </j:if> </goal> </project> 1.1 maven-plugins/uberdist/plugin.properties Index: plugin.properties =================================================================== # ------------------------------------------------------------------- # Copyright 2004-2005 Eric Giguere # # 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. # ------------------------------------------------------------------- # ------------------------------------------------------------------- # P L U G I N P R O P E R I E S # ------------------------------------------------------------------- maven.uber.dist.assembly.root=${maven.build.dir}/dist-assembly maven.uber.dist.dir=${maven.build.dir}/distributions maven.uber.dist.proj.subdir= maven.uber.dist.assembly.dep.subdir= maven.uber.dist.assembly.dir=${maven.uber.dist.assembly.root}/${maven.uber.dist.proj.subdir} maven.uber.dist.executable.permission=gu+x maven.uber.dist.executable.includes=**/*.sh,**/*.so maven.uber.dist.launch.scripts=*.sh,*.cmd,*.bat 1.1 maven-plugins/uberdist/project.xml Index: project.xml =================================================================== <?xml version="1.0" encoding="ISO-8859-1"?> <!-- /* * Copyright 2004-2005 Eric Giguere. * * 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. */ --> <!-- The master project file all subprojects inherit this project.xml file. --> <project> <extend>${basedir}/../plugin-project.xml</extend> <id>maven-uberdist-plugin</id> <name>Maven UberDist Plugin</name> <!-- groupId is in parent --> <currentVersion>1.0.10</currentVersion> <!-- organization is in parent --> <!-- logo is in parent. no gumpRepositoryId --> <inceptionYear>2004</inceptionYear> <shortDescription>Distribution plugin for multiple projects</shortDescription> <siteDirectory> /home/groups/m/ma/maven-plugins/htdocs/maven-transform-plugin/ </siteDirectory> <distributionDirectory> /home/groups/m/ma/maven-plugins/htdocs/maven-transform-plugin/distributions/ </distributionDirectory> <repository> <connection> scm:cvs:pserver:ano...@cv...:/cvsroot/maven-plugins:maven-plugins/transform </connection> <developerConnection> scm:cvs:ext:${maven.username}@cvs.sourceforge.net:/cvsroot/maven-plugins:maven-plugins/transform </developerConnection> <url> http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/maven-plugins/maven-plugins/transform/ </url> </repository> <!-- mailingLists is in parent --> <developers> <developer> <name>Eric Giguere</name> <id>rikgig</id> <email>ri...@us...</email> </developer> </developers> <dependencies/> <versions> <version> <id>1.0.10</id> <name>1.0.10</name> <tag>UBER-DIST-1_0_10</tag> </version> </versions> <!-- build is in the parent --> <!-- <build> <sourceDirectory>src/java</sourceDirectory> <unitTestSourceDirectory>test/java</unitTestSourceDirectory> <resources> <resource> <directory>${basedir}/src/plugin-resources</directory> <targetPath>plugin-resources</targetPath> </resource> <resource> <directory>${basedir}</directory> <includes> <include>plugin.jelly</include> <include>plugin.properties</include> <include>project.properties</include> <include>project.xml</include> </includes> </resource> </resources> </build> --> <reports> <report>maven-changes-plugin</report> <report>maven-linkcheck-plugin</report> <report>maven-faq-plugin</report> </reports> </project> |
From: Eric P. <de...@us...> - 2005-03-02 17:43:43
|
dep4b 05/03/02 09:43:34 Modified: webtest project.xml Log: missing changes plugin Revision Changes Path 1.18 +2 -9 maven-plugins/webtest/project.xml Index: project.xml =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/project.xml,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- project.xml 19 Nov 2004 13:39:08 -0000 1.17 +++ project.xml 2 Mar 2005 17:43:34 -0000 1.18 @@ -11,7 +11,7 @@ <inceptionYear>2002</inceptionYear> <!-- package, logo are in parent. no gumpRepositoryId --> <description>Maven Plugin for Canoo WebTest</description> - <shortDescription>Maven 1.0 Plugin for Canoo WebTest</shortDescription> + <shortDescription>Maven Plugin for Canoo WebTest</shortDescription> <!-- issue tracking url, siteAddress are in parent --> <siteDirectory>/home/groups/m/ma/maven-plugins/htdocs/webtest/</siteDirectory> <distributionDirectory>/home/groups/m/ma/maven-plugins/htdocs/webtest/distributions/</distributionDirectory> @@ -177,14 +177,6 @@ </dependencies> <build> - <sourceDirectory>${basedir}/src/main</sourceDirectory> - <unitTestSourceDirectory>${basedir}/src/test</unitTestSourceDirectory> - <unitTest> - <includes> - <include>**/*Test.java</include> - </includes> - </unitTest> - <resources> <resource> <directory>${basedir}/src/plugin-resources</directory> @@ -210,6 +202,7 @@ </build> <reports> + <report>maven-changes-plugin</report> <report>maven-changelog-plugin</report> <report>maven-developer-activity-plugin</report> <report>maven-file-activity-plugin</report> |
From: Eric G. <ri...@us...> - 2005-03-02 17:22:57
|
rikgig 05/03/02 09:22:49 maven-plugins/uberdist/xdocs - New directory |
From: Eric G. <ri...@us...> - 2005-03-02 17:22:42
|
rikgig 05/03/02 09:22:35 maven-plugins/uberdist - New directory |
From: Eric P. <de...@us...> - 2005-03-02 16:49:36
|
dep4b 05/03/02 08:49:30 Modified: webtest plugin.jelly Log: fix plugin name in registering plugin Revision Changes Path 1.12 +10 -10 maven-plugins/webtest/plugin.jelly Index: plugin.jelly =================================================================== RCS file: /cvsroot/maven-plugins/maven-plugins/webtest/plugin.jelly,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- plugin.jelly 19 Nov 2004 13:39:07 -0000 1.11 +++ plugin.jelly 2 Mar 2005 16:49:29 -0000 1.12 @@ -14,9 +14,9 @@ <goal name="maven-webtest-plugin:register"> <util:available file="${maven.webtest.src}"> <doc:registerReport name="Canoo WebTest Report" - pluginName="webtest" + pluginName="maven-webtest-plugin" description="Canoo WebTest Report." - link="maven-webtest-report"/> + link="webtest-report"/> </util:available> </goal> @@ -94,16 +94,16 @@ <goal name="webtest:test" description="Runs the Canoo webtest scripts"> - <!-- populate any missing system properties --> - <util:tokenize var="listOfProperties" delim=" ">${maven.webtest.sysproperties}</util:tokenize> + <!-- populate any missing system properties --> + <util:tokenize var="listOfProperties" delim=" ">${maven.webtest.sysproperties}</util:tokenize> <j:forEach var="someProperty" items="${listOfProperties}"> - <j:set var="somePropertyValue" value="${context.getVariable(someProperty)}"/> + <j:set var="somePropertyValue" value="${context.getVariable(someProperty)}"/> - <j:if test="${empty(somePropertyValue)}"> - <i:ask question="What is the ${someProperty} to be used? (-D${someProperty}={value} to skip check)" - answer="${someProperty}"/> - </j:if> - <maven:param-check value="${context.getVariable(someProperty)}" fail="true" message="'${someProperty}' must be specified"/> + <j:if test="${empty(somePropertyValue)}"> + <i:ask question="What is the ${someProperty} to be used? (-D${someProperty}={value} to skip check)" + answer="${someProperty}"/> + </j:if> + <maven:param-check value="${context.getVariable(someProperty)}" fail="true" message="'${someProperty}' must be specified"/> </j:forEach> <!-- Create the result path --> |