Revision: 90
http://svn.sourceforge.net/ant-contrib/?rev=90&view=rev
Author: mattinger
Date: 2007-03-06 08:40:22 -0800 (Tue, 06 Mar 2007)
Log Message:
-----------
Modified Paths:
--------------
trunk/ant-contrib/src/java/net/sf/antcontrib/net/URLImportTask.java
Modified: trunk/ant-contrib/src/java/net/sf/antcontrib/net/URLImportTask.java
===================================================================
--- trunk/ant-contrib/src/java/net/sf/antcontrib/net/URLImportTask.java 2007-03-05 19:38:23 UTC (rev 89)
+++ trunk/ant-contrib/src/java/net/sf/antcontrib/net/URLImportTask.java 2007-03-06 16:40:22 UTC (rev 90)
@@ -17,7 +17,6 @@
import java.io.File;
import java.io.IOException;
-import java.net.MalformedURLException;
import java.net.URL;
import java.text.ParseException;
import java.util.Date;
@@ -25,36 +24,23 @@
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
-import org.apache.tools.ant.Task;
import org.apache.tools.ant.taskdefs.Expand;
import org.apache.tools.ant.taskdefs.ImportTask;
import fr.jayasoft.ivy.Artifact;
-import fr.jayasoft.ivy.DefaultDependencyDescriptor;
-import fr.jayasoft.ivy.DefaultModuleDescriptor;
-import fr.jayasoft.ivy.DependencyDescriptor;
import fr.jayasoft.ivy.DependencyResolver;
import fr.jayasoft.ivy.Ivy;
import fr.jayasoft.ivy.IvyContext;
-import fr.jayasoft.ivy.MDArtifact;
import fr.jayasoft.ivy.ModuleDescriptor;
import fr.jayasoft.ivy.ModuleId;
import fr.jayasoft.ivy.ModuleRevisionId;
-import fr.jayasoft.ivy.ResolveData;
-import fr.jayasoft.ivy.ResolvedModuleRevision;
-import fr.jayasoft.ivy.ant.IvyConfigure;
import fr.jayasoft.ivy.filter.FilterHelper;
-import fr.jayasoft.ivy.latest.LatestRevisionStrategy;
-import fr.jayasoft.ivy.report.ArtifactDownloadReport;
-import fr.jayasoft.ivy.report.ConfigurationResolveReport;
-import fr.jayasoft.ivy.report.DownloadStatus;
import fr.jayasoft.ivy.report.ResolveReport;
import fr.jayasoft.ivy.repository.Repository;
import fr.jayasoft.ivy.resolver.FileSystemResolver;
import fr.jayasoft.ivy.resolver.IvyRepResolver;
import fr.jayasoft.ivy.resolver.URLResolver;
import fr.jayasoft.ivy.util.MessageImpl;
-import fr.jayasoft.ivy.version.LatestVersionMatcher;
/***
* Task to import a build file from a url. The build file can be a build.xml,
@@ -64,7 +50,7 @@
*
*/
public class URLImportTask
- extends Task {
+ extends ImportTask {
private String org;
private String module;
@@ -122,10 +108,20 @@
public void setResource(String resource) {
this.resource = resource;
}
+
+ public void setOptional(boolean optional) {
+ throw new BuildException("'optional' property not accessed for ImportURL.");
+ }
+ public void setFile(String file) {
+ throw new BuildException("'file' property not accessed for ImportURL.");
+ }
+
public void execute()
throws BuildException {
+ MessageImpl oldMsgImpl = IvyContext.getContext().getMessageImpl();
+
if (! verbose) {
IvyContext.getContext().setMessageImpl(
new MessageImpl() {
@@ -245,11 +241,14 @@
"zip".equalsIgnoreCase(type)) {
File dir = new File(file.getParentFile(),
file.getName() + ".extracted");
- dir.mkdir();
- Expand expand = (Expand)getProject().createTask("unjar");
- expand.setSrc(file);
- expand.setDest(dir);
- expand.perform();
+ if (! dir.exists() ||
+ dir.lastModified() < file.lastModified()) {
+ dir.mkdir();
+ Expand expand = (Expand)getProject().createTask("unjar");
+ expand.setSrc(file);
+ expand.setDest(dir);
+ expand.perform();
+ }
importFile = new File(dir, resource);
if (! importFile.exists()) {
throw new BuildException("Cannot find a '" + resource + "' file in " +
@@ -260,12 +259,8 @@
throw new BuildException("Don't know what to do with type: " + type);
}
- ImportTask importTask = new ImportTask();
- importTask.setProject(getProject());
- importTask.setOwningTarget(getOwningTarget());
- importTask.setLocation(getLocation());
- importTask.setFile(importFile.getAbsolutePath());
- importTask.perform();
+ super.setFile(importFile.getAbsolutePath());
+ super.execute();
log("Import complete.", Project.MSG_INFO);
}
catch (ParseException e) {
@@ -274,5 +269,8 @@
catch (IOException e) {
throw new BuildException(e);
}
+ finally {
+ IvyContext.getContext().setMessageImpl(oldMsgImpl);
+ }
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.