jvanzyl 2002/06/02 21:59:14 Added: src/java/org/apache/maven/jelly PomTag.java Log: My first crack at a Jelly tag so I'll be screaming for help but I can Jelly everywhere! Parameterized tags for compiling sources, tests, examples and actually being able to pass around a POM without having to parse it again and again. Jelly jelly jelly! Revision Changes Path 1.1 jakarta-turbine-maven/src/java/org/apache/maven/jelly/PomTag.java Index: PomTag.java =================================================================== package org.apache.maven; /* ==================================================================== * 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 [EMAIL PROTECTED] * * 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 org.apache.commons.jelly.JellyContext; import org.apache.commons.jelly.MissingAttributeException; import org.apache.commons.jelly.TagSupport; import org.apache.commons.jelly.XMLOutput; import org.apache.maven.MavenUtils; import org.apache.maven.project.Project; /** * Maven Jelly tag that creates a POM instance that can be shared/passed around * in Jelly scripts. * * Can I make this implement the CompilableTag so that the POM is * only parsed once in a given Jelly script? * * @author <a href="[EMAIL PROTECTED]">Jason van Zyl</a> * @version $Id: PomTag.java,v 1.1 2002/06/03 04:59:14 jvanzyl Exp $ */ public class PomTag extends TagSupport { /** * Maven project descriptor. */ private File projectDescriptor; /** * Maven POM */ private Project project; /** * Set Maven project descriptor. */ public void setProjectDescriptor(File projectDescriptor) { this.projectDescriptor = projectDescriptor; } /** * Description of the Method */ public void doTag(XMLOutput output) throws Exception { // output the fileScanner if (projectDescriptor == null) { throw new MissingAttributeException("projectDescriptor"); } project = MavenUtils.getProject(projectDescriptor); context.setVariable("project", project); getBody().run(context, output); } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
