You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@maven.apache.org by br...@apache.org on 2005/06/02 07:46:46 UTC
svn commit: r179518 - in /maven/maven-1/plugins/trunk/xdoc: plugin.jelly
src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java
src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java
src/main/org/apache/maven/xdoc/XdocTagLibrary.java
Author: brett
Date: Wed Jun 1 22:46:45 2005
New Revision: 179518
URL: http://svn.apache.org/viewcvs?rev=179518&view=rev
Log:
move classloader tags into plugin so it can be used with maven 1.0
Added:
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java
- copied, changed from r179169, maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/GrabClassLoaderTag.java
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java
- copied, changed from r179169, maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/UnGrabClassLoaderTag.java
maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java (with props)
Modified:
maven/maven-1/plugins/trunk/xdoc/plugin.jelly
Modified: maven/maven-1/plugins/trunk/xdoc/plugin.jelly
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/xdoc/plugin.jelly?rev=179518&r1=179517&r2=179518&view=diff
==============================================================================
--- maven/maven-1/plugins/trunk/xdoc/plugin.jelly (original)
+++ maven/maven-1/plugins/trunk/xdoc/plugin.jelly Wed Jun 1 22:46:45 2005
@@ -29,7 +29,8 @@
xmlns:velocity="jelly:velocity"
xmlns:ant="jelly:ant"
xmlns:fmt="jelly:fmt"
- xmlns:doc="doc">
+ xmlns:doc="doc"
+ xmlns:xdoc="jelly:org.apache.maven.xdoc.XdocTagLibrary">
<j:new var="reports" className="java.util.ArrayList"/>
@@ -350,10 +351,7 @@
<fmt:setBundle basename="plugin-resources/templates/templates" var="msg"/>
<!-- User bundle -->
<!-- Goal grabClassLoader should be call first -->
- <maven:grabClassLoader resource="${maven.xdoc.bundle.src}"/>
-<!-- Failed
- <doc:grabClassLoader resource="${maven.xdoc.bundle.src}"/>
--->
+ <xdoc:grabClassLoader resource="${maven.xdoc.bundle.src}"/>
<fmt:setBundle basename="${maven.xdoc.bundle}" var="myMsg"/>
<!-- Echo information -->
@@ -539,40 +537,6 @@
<j:arg type="java.lang.String" value=" .,;!?/'\()[]{}+*°" useContextClassLoader="true"/>
<j:arg type="java.lang.String" value="__________________" useContextClassLoader="true"/>
</j:invokeStatic>${escapedtoken}</define:tag>
-
- <!--
- Grab the existing classloader
- Create a new classloader that inherits the current one
- Add URL to the classloader
-
- @resource
- -->
- <define:tag name="grabClassLoader">
- <maven:param-check value="${resource}" fail="true" message="'resource' must be specified"/>
-
- <util:file var="dirResource" name="${resource}" />
- <j:set var="currentClassLoader" value="${context.getClassLoader()}"/>
- <log:debug>Start to grab the current class loader ${currentClassLoader}</log:debug>
-
- <j:set var="dummy">${currentClassLoader.addURL(dirResource.toURL())}</j:set>
-
- <j:new className="com.werken.forehead.ForeheadClassLoader" var="foreheadClassLoader">
- <j:arg value="${currentClassLoader}" />
- <j:arg value="${currentClassLoader.getName()}_TEMP" />
- </j:new>
- <j:set var="dummy">${context.setClassLoader(foreheadClassLoader)}</j:set>
- </define:tag>
-
- <!--
- Returns the old classloader
- -->
- <define:tag name="unGrabClassLoader">
- <maven:param-check value="${foreheadClassLoader}" fail="true" message="Please call xdoc:grabClassLoader first"/>
-
- <j:set var="currentClassLoader" value="${context.getClassLoader()}"/>
- <log:debug>Start to ungrab the current class loader ${currentClassLoader}</log:debug>
- <j:set var="dummy">${context.setClassLoader(currentClassLoader.getParent())}</j:set>
- </define:tag>
</define:taglib>
<!-- ================================================================== -->
@@ -996,10 +960,7 @@
<attainGoal name="xdoc:copy-resources"/>
<attainGoal name="xdoc:copy-user-resources"/>
<attainGoal name="xdoc:jelly-transform"/>
- <maven:unGrabClassLoader/>
-<!-- Failed
- <doc:unGrabClassLoader/>
--->
+ <xdoc:unGrabClassLoader/>
</goal>
<!-- ================================================================== -->
Copied: maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java (from r179169, maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/GrabClassLoaderTag.java)
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java?p2=maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java&p1=maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/GrabClassLoaderTag.java&r1=179169&r2=179518&rev=179518&view=diff
==============================================================================
--- maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/GrabClassLoaderTag.java (original)
+++ maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/GrabClassLoaderTag.java Wed Jun 1 22:46:45 2005
@@ -1,4 +1,4 @@
-package org.apache.maven.jelly.tags.maven;
+package org.apache.maven.xdoc;
/* ====================================================================
* Copyright 2001-2004 The Apache Software Foundation.
@@ -22,8 +22,8 @@
import org.apache.commons.jelly.JellyTagException;
import org.apache.commons.jelly.MissingAttributeException;
+import org.apache.commons.jelly.TagSupport;
import org.apache.commons.jelly.XMLOutput;
-import org.apache.maven.jelly.tags.BaseTagSupport;
import com.werken.forehead.ForeheadClassLoader;
@@ -33,7 +33,7 @@
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton</a>
* @version 1.0
*/
-public class GrabClassLoaderTag extends BaseTagSupport {
+public class GrabClassLoaderTag extends TagSupport {
/** Resource to include in the Maven context. */
private String resource;
@@ -41,15 +41,13 @@
* @see org.apache.commons.jelly.Tag#doTag(org.apache.commons.jelly.XMLOutput)
*/
public void doTag(XMLOutput arg0) throws MissingAttributeException, JellyTagException {
- if (getMavenContext() == null) {
+ if (getContext() == null) {
throw new JellyTagException("The current MavenContext is null!");
}
- checkAttribute(this.resource, "include");
-
ForeheadClassLoader currentClassLoader = null;
try {
- currentClassLoader = (ForeheadClassLoader) getMavenContext().getClassLoader();
+ currentClassLoader = (ForeheadClassLoader) getContext().getClassLoader();
} catch (ClassCastException e) {
throw new JellyTagException("The current classloader in the MavenContext is not an instance of ForeheadClassLoader");
}
@@ -67,7 +65,7 @@
}
ForeheadClassLoader newClassLoader = new ForeheadClassLoader(currentClassLoader, currentClassLoader.getName() + "_TEMP");
- getMavenContext().setClassLoader(newClassLoader);
+ getContext().setClassLoader(newClassLoader);
}
/**
Copied: maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java (from r179169, maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/UnGrabClassLoaderTag.java)
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java?p2=maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java&p1=maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/UnGrabClassLoaderTag.java&r1=179169&r2=179518&rev=179518&view=diff
==============================================================================
--- maven/maven-1/core/trunk/src/java/org/apache/maven/jelly/tags/maven/UnGrabClassLoaderTag.java (original)
+++ maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/UnGrabClassLoaderTag.java Wed Jun 1 22:46:45 2005
@@ -1,4 +1,4 @@
-package org.apache.maven.jelly.tags.maven;
+package org.apache.maven.xdoc;
/* ====================================================================
* Copyright 2001-2004 The Apache Software Foundation.
@@ -19,8 +19,8 @@
import org.apache.commons.jelly.JellyTagException;
import org.apache.commons.jelly.MissingAttributeException;
+import org.apache.commons.jelly.TagSupport;
import org.apache.commons.jelly.XMLOutput;
-import org.apache.maven.jelly.tags.BaseTagSupport;
import com.werken.forehead.ForeheadClassLoader;
@@ -32,18 +32,18 @@
* @author <a href="mailto:vincent.siveton@gmail.com">Vincent Siveton </a>
* @version 1.0
*/
-public class UnGrabClassLoaderTag extends BaseTagSupport {
+public class UnGrabClassLoaderTag extends TagSupport {
/*
* @see org.apache.commons.jelly.Tag#doTag(org.apache.commons.jelly.XMLOutput)
*/
public void doTag(XMLOutput arg0) throws MissingAttributeException, JellyTagException {
- if (getMavenContext() == null) {
+ if (getContext() == null) {
throw new JellyTagException("The current MavenContext is null!");
}
ForeheadClassLoader currentClassLoader = null;
try {
- currentClassLoader = (ForeheadClassLoader) getMavenContext().getClassLoader();
+ currentClassLoader = (ForeheadClassLoader) getContext().getClassLoader();
} catch (ClassCastException e) {
throw new JellyTagException("The current classloader in the MavenContext is not an instance of ForeheadClassLoader");
}
@@ -53,6 +53,6 @@
}
ClassLoader oldClassLoader = currentClassLoader.getParent();
- getMavenContext().setClassLoader(oldClassLoader);
+ getContext().setClassLoader(oldClassLoader);
}
}
Added: maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java
URL: http://svn.apache.org/viewcvs/maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java?rev=179518&view=auto
==============================================================================
--- maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java (added)
+++ maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java Wed Jun 1 22:46:45 2005
@@ -0,0 +1,39 @@
+package org.apache.maven.xdoc;
+
+/* ====================================================================
+ * 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.
+ * ====================================================================
+ */
+
+import org.apache.commons.jelly.TagLibrary;
+
+/**
+ * MavenSession tag library for use in Jelly scripts.
+ *
+ * @author <a href="mailto:brett@apache.org">Brett Porter</a>
+ * @version $Id$
+ */
+public class XdocTagLibrary extends TagLibrary
+{
+ /**
+ * Create an instance of the {@link MavenTagLibrary}, registering related
+ * tag libraries
+ */
+ public XdocTagLibrary()
+ {
+ registerTag( "grabClassLoader", GrabClassLoaderTag.class);
+ registerTag( "unGrabClassLoader", UnGrabClassLoaderTag.class);
+ }
+}
Propchange: maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: maven/maven-1/plugins/trunk/xdoc/src/main/org/apache/maven/xdoc/XdocTagLibrary.java
------------------------------------------------------------------------------
svn:keywords = "Author Date Id Revision"
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@maven.apache.org
For additional commands, e-mail: dev-help@maven.apache.org