You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@depot.apache.org by aj...@apache.org on 2004/05/10 22:21:51 UTC

svn commit: rev 10585 - in incubator/depot/trunk/update: . src/java src/java/org/apache/depot/update/ant src/java/org/apache/depot/update/ant/task src/java/org/apache/depot/update/protocols src/java/org/apache/depot/update/protocols/impl

Author: ajack
Date: Mon May 10 15:21:50 2004
New Revision: 10585

Added:
   incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/EnvironmentToolTask.java
Modified:
   incubator/depot/trunk/update/build-ant-sample.xml
   incubator/depot/trunk/update/src/java/depot-update-antlib.xml
   incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/ResourceElement.java
   incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/RepositoryToolTask.java
   incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/DefaultProtocolOperationsManager.java
   incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/impl/HttpClientProtocolOperationsProvider.java
Log:
Try to debug why VFS isn't being used on Gump.


Modified: incubator/depot/trunk/update/build-ant-sample.xml
==============================================================================
--- incubator/depot/trunk/update/build-ant-sample.xml	(original)
+++ incubator/depot/trunk/update/build-ant-sample.xml	Mon May 10 15:21:50 2004
@@ -35,11 +35,17 @@
 	</target>
 	
 	<!-- Display the contents of a repository -->
-	<target name="repo" description="Display Contents of a Repostiory">
-		<taskdef resource="depot-update-antlib.xml" />		
+	<taskdef resource="depot-update-antlib.xml" />		
+	
+	<target name="repo-env" description="Display Environment (for Repo Tools)">
+		<repoenv />
+	</target>
+	
+	<target name="repo" description="Display Contents of a Repostiory"
+			depends="repo-env">
 		<repotool />
 	</target>
 
-	<target name="gump" depends="version-optional, repo" />
+	<target name="gump" depends="version-optional, repo-env, repo" />
 	
 </project>

Modified: incubator/depot/trunk/update/src/java/depot-update-antlib.xml
==============================================================================
--- incubator/depot/trunk/update/src/java/depot-update-antlib.xml	(original)
+++ incubator/depot/trunk/update/src/java/depot-update-antlib.xml	Mon May 10 15:21:50 2004
@@ -20,6 +20,8 @@
     <typedef name="resource" classname="org.apache.depot.update.ant.ResourceElement"/>
     <typedef name="repository" classname="org.apache.depot.update.ant.RepositoryElement"/>
     
+    <taskdef name="repoenv" classname="org.apache.depot.update.ant.task.EnvironmentToolTask"/>
     <taskdef name="repotool" classname="org.apache.depot.update.ant.task.RepositoryToolTask"/>
+    
     <taskdef name="reposync" classname="org.apache.depot.update.ant.task.SynchronizeTask"/>
 </antlib>

Modified: incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/ResourceElement.java
==============================================================================
--- incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/ResourceElement.java	(original)
+++ incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/ResourceElement.java	Mon May 10 15:21:50 2004
@@ -238,6 +238,7 @@
 		}
 		return resource;
 	}
+	
 	ResourceResult query(IRepository repo) { //TODO
 		// experiment
 		getProject().log("Looking for " + this, Project.MSG_DEBUG);

Added: incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/EnvironmentToolTask.java
==============================================================================
--- (empty file)
+++ incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/EnvironmentToolTask.java	Mon May 10 15:21:50 2004
@@ -0,0 +1,69 @@
+/*
+ * Copyright  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.
+ */
+
+package org.apache.depot.update.ant.task;
+
+import org.apache.depot.common.log.LogConstants;
+import org.apache.depot.common.log.Logger;
+import org.apache.depot.common.util.envsafe.ClassLoaderContext;
+import org.apache.depot.update.protocols.DefaultProtocolOperationsManager;
+import org.apache.depot.version.ant.util.AntLogListener;
+import org.apache.tools.ant.BuildException;
+import org.apache.tools.ant.Project;
+import org.apache.tools.ant.Task;
+
+/**
+ * @author ajack
+ */
+public class EnvironmentToolTask extends Task {
+
+	/*
+	 * (non-Javadoc)
+	 * 
+	 * @see org.apache.tools.ant.Task#execute()
+	 */
+	public void execute() throws BuildException {
+
+		log("Execute RepositoryTool...", Project.MSG_DEBUG);
+
+		// Set logging context, to only errors...
+		Logger logger = Logger.pushContext(new AntLogListener(this));
+	
+		try {			
+			ClassLoaderContext context = new ClassLoaderContext(this);
+
+			// See which (if any) of these are loadable.
+			// Would have to imagine  one (plain JDK) is.	
+			testLoad(context, DefaultProtocolOperationsManager.URL_PROVIDER);
+			testLoad(context, DefaultProtocolOperationsManager.HTTP_CLIENT_PROVIDER);	
+			testLoad(context, DefaultProtocolOperationsManager.VFS_PROVIDER);	
+		}
+		finally {
+			Logger.popContext(logger);
+		}
+	}
+	
+	private void testLoad(ClassLoaderContext context, String clazzName) {
+		try{
+			Object o = context.attemptLoad(clazzName, "test");			
+			Logger.getLogger().info("Loaded [" + clazzName + "] as [" + o + "]");
+		}
+		catch (Throwable t)
+		{
+			Logger.getLogger().info("Failed to load [" + clazzName + "] : ", t);
+		}
+	}
+}

Modified: incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/RepositoryToolTask.java
==============================================================================
--- incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/RepositoryToolTask.java	(original)
+++ incubator/depot/trunk/update/src/java/org/apache/depot/update/ant/task/RepositoryToolTask.java	Mon May 10 15:21:50 2004
@@ -19,6 +19,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import org.apache.depot.common.log.LogConstants;
 import org.apache.depot.common.log.Logger;
 import org.apache.depot.update.UpdateException;
 import org.apache.depot.update.config.UpdateConfig;
@@ -69,8 +70,9 @@
 
 		log("Execute RepositoryTool...", Project.MSG_DEBUG);
 
-		// Set logging context..
-		Logger logger = Logger.pushContext(new AntLogListener(this));
+		// Set logging context, to only errors...
+		Logger logger = Logger.pushContext(LogConstants.ERROR,
+				new AntLogListener(this));
 
 		UpdateConfig.configure();
 
@@ -103,15 +105,23 @@
 						for (Iterator gi = groups.iterator(); gi.hasNext();) {
 							ResourceGroup group = (ResourceGroup) gi.next();
 
-							log(" - Group: " + group);
+							try {
 
-							List specifiers = repo.listSpecifiers(group,
-									AllSelector.getInstance());
+								List specifiers = repo.listSpecifiers(group,
+										AllSelector.getInstance());
 
-							for (Iterator si = specifiers.iterator(); si.hasNext();) {
-								ResourceSpecifier specifier = (ResourceSpecifier) si.next();
+								log(" - Group: " + group + " (Specifiers : "
+										+ specifiers.size() + ")");
 
-								log("  - " + specifier, Project.MSG_VERBOSE);
+								for (Iterator si = specifiers.iterator(); si.hasNext();) {
+									ResourceSpecifier specifier = (ResourceSpecifier) si.next();
+
+									log("  - " + specifier, Project.MSG_VERBOSE);
+								}
+							} catch (UpdateException re) {
+								Logger.getLogger().error(
+										" - Failed to list specifiers in group: "
+												+ group, re);
 							}
 						}
 					} catch (UpdateException re) {
@@ -138,8 +148,8 @@
 				}
 			}
 
-			log(" Artefact Statistics : Parsed=" + statistics.getParsed() + " Failed="
-					+ statistics.getFailed() + " Ignored="
+			log(" Artefact Statistics : Parsed=" + statistics.getParsed()
+					+ " Failed=" + statistics.getFailed() + " Ignored="
 					+ statistics.getIgnored());
 
 			List ignored = statistics.getIgnoredObjects();

Modified: incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/DefaultProtocolOperationsManager.java
==============================================================================
--- incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/DefaultProtocolOperationsManager.java	(original)
+++ incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/DefaultProtocolOperationsManager.java	Mon May 10 15:21:50 2004
@@ -27,9 +27,9 @@
  */
 public class DefaultProtocolOperationsManager extends ProtocolOperationsManager {
 
-	private static final String VFS_PROVIDER = "org.apache.depot.update.protocols.impl.VfsProtocolOperationsProvider";
-	private static final String HTTP_CLIENT_PROVIDER = "org.apache.depot.update.protocols.impl.HttpClientProtocolOperationsProvider";
-	private static final String URL_PROVIDER = "org.apache.depot.update.protocols.impl.BasicProtocolOperationsProvider";
+	public static final String VFS_PROVIDER = "org.apache.depot.update.protocols.impl.VfsProtocolOperationsProvider";
+	public static final String HTTP_CLIENT_PROVIDER = "org.apache.depot.update.protocols.impl.HttpClientProtocolOperationsProvider";
+	public static final String URL_PROVIDER = "org.apache.depot.update.protocols.impl.BasicProtocolOperationsProvider";
 
 	/**
 	 * @param context

Modified: incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/impl/HttpClientProtocolOperationsProvider.java
==============================================================================
--- incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/impl/HttpClientProtocolOperationsProvider.java	(original)
+++ incubator/depot/trunk/update/src/java/org/apache/depot/update/protocols/impl/HttpClientProtocolOperationsProvider.java	Mon May 10 15:21:50 2004
@@ -20,6 +20,7 @@
 import java.io.FileOutputStream;
 import java.util.List;
 
+import org.apache.commons.codec.Encoder;
 import org.apache.commons.httpclient.HttpMethod;
 import org.apache.commons.logging.LogFactory;
 import org.apache.depot.common.util.io.IOUtils;
@@ -47,6 +48,7 @@
 		Class causeAFailedLoadAtConstructionIfGoingToHappen = HttpClientUserAgent.class;
 		Class causeAFailedLoadAtConstructionIfGoingToHappen2 = LogFactory.class;
 		Class causeAFailedLoadAtConstructionIfGoingToHappen3 = HttpMethod.class;
+		Class causeAFailedLoadAtConstructionIfGoingToHappen4 = Encoder.class;
 		}
 
 	public void init(ResourceUpdaterContext context) throws Exception {