You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2007/09/12 01:15:18 UTC
svn commit: r574725 - in /geronimo/server/trunk: configs/pom.xml
modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
Author: djencks
Date: Tue Sep 11 16:15:17 2007
New Revision: 574725
URL: http://svn.apache.org/viewvc?rev=574725&view=rev
Log:
tweak plugin snapshot resolution
Modified:
geronimo/server/trunk/configs/pom.xml
geronimo/server/trunk/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
Modified: geronimo/server/trunk/configs/pom.xml
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/configs/pom.xml?rev=574725&r1=574724&r2=574725&view=diff
==============================================================================
--- geronimo/server/trunk/configs/pom.xml (original)
+++ geronimo/server/trunk/configs/pom.xml Tue Sep 11 16:15:17 2007
@@ -114,8 +114,8 @@
<geronimo-version>${geronimoVersion}</geronimo-version>
<jvm-version>1.5</jvm-version>
<!--<source-repository>http://www.geronimoplugins.com/repository/geronimo-2.1</source-repository>-->
- <!--<source-repository>http://repo1.maven.org/maven2/</source-repository>-->
<source-repository>~/.m2/repository/</source-repository>
+ <source-repository>http://repo1.maven.org/maven2/</source-repository>
</plugin-artifact>
</commonInstance>
</configuration>
Modified: geronimo/server/trunk/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java?rev=574725&r1=574724&r2=574725&view=diff
==============================================================================
--- geronimo/server/trunk/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java (original)
+++ geronimo/server/trunk/modules/geronimo-system/src/main/java/org/apache/geronimo/system/plugin/PluginInstallerGBean.java Tue Sep 11 16:15:17 2007
@@ -30,7 +30,6 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
-import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -94,13 +93,13 @@
import org.apache.geronimo.system.plugin.model.CopyFileType;
import org.apache.geronimo.system.plugin.model.DependencyType;
import org.apache.geronimo.system.plugin.model.HashType;
+import org.apache.geronimo.system.plugin.model.LicenseType;
import org.apache.geronimo.system.plugin.model.ObjectFactory;
import org.apache.geronimo.system.plugin.model.PluginArtifactType;
import org.apache.geronimo.system.plugin.model.PluginListType;
import org.apache.geronimo.system.plugin.model.PluginType;
import org.apache.geronimo.system.plugin.model.PrerequisiteType;
import org.apache.geronimo.system.plugin.model.PropertyType;
-import org.apache.geronimo.system.plugin.model.LicenseType;
import org.apache.geronimo.system.resolver.AliasedArtifactResolver;
import org.apache.geronimo.system.serverinfo.ServerInfo;
import org.apache.geronimo.system.threads.ThreadPool;
@@ -1215,21 +1214,20 @@
throw new MissingDependencyException(
"No support yet for dependencies missing more than a version: " + query);
}
- Artifact result = null;
for (String repo : repos) {
try {
URL repoUrl = PluginRepositoryDownloader.resolveRepository(repo);
if (repoUrl != null) {
- result = findArtifact(query, repoUrl, username, password, monitor);
+ Artifact result = findArtifact(query, repoUrl, username, password, monitor);
+ if (result != null) {
+ return result;
+ }
} else {
log.warn("could not resolve repo: " + repo);
}
} catch (Exception e) {
log.warn("Unable to read from " + repo, e);
}
- if (result != null) {
- return result;
- }
}
log.error("No repository has a valid artifact for " + query);
throw new MissingDependencyException("No repository has a valid artifact for " + query);
@@ -1240,6 +1238,9 @@
* have wildcards in the ID.
*/
private static Artifact findArtifact(Artifact query, URL url, String username, String password, ResultsFileWriteMonitor monitor) throws IOException, FailedLoginException, ParserConfigurationException, SAXException {
+ if (query.isResolved() && testArtifact(query, url, username, password, monitor)) {
+ return query;
+ }
monitor.getResults().setCurrentMessage("Searching for " + query + " at " + url);
String base = query.getGroupId().replace('.', '/') + "/" + query.getArtifactId();
String path = base + "/maven-metadata.xml";
@@ -1313,21 +1314,27 @@
// look for the artifact in the maven repo
Artifact verifiedArtifact = new Artifact(query.getGroupId(), query.getArtifactId(), version,
query.getType());
- URL test = getURL(verifiedArtifact, url);
- InputStream testStream = connect(test, username, password, monitor, "HEAD");
- if (testStream == null) {
- log.debug(
- "Maven repository " + url + " listed artifact " + query + " version " + version + " but I couldn't find it at " + test);
+ if (!testArtifact(verifiedArtifact, url, username, password, monitor)) {
+ log.debug("Maven repository " + url + " listed artifact " + query + " version " + version + " but I couldn't find it at " + getURL(verifiedArtifact, url));
continue;
}
- testStream.close();
- log.debug("Found artifact at " + test);
+ log.debug("Found artifact at " + getURL(verifiedArtifact, url));
return verifiedArtifact;
}
log.error("Could not find an acceptable version of artifact=" + query + " from Maven repository=" + url);
return null;
}
+ private static boolean testArtifact(Artifact artifact, URL repo, String username, String password, ResultsFileWriteMonitor monitor) throws IOException, FailedLoginException {
+ URL test = getURL(artifact, repo);
+ InputStream testStream = connect(test, username, password, monitor, "HEAD");
+ if (testStream != null) {
+ testStream.close();
+ }
+ return testStream != null;
+
+ }
+
/**
* Puts the name and ID of a plugin into the argument map of plugins,
* by reading the values out of the provided plugin descriptor file.
@@ -1516,6 +1523,7 @@
}
}
}
+
/**
* Loads the list of all available plugins from the specified stream
* (representing geronimo-plugins.xml at the specified repository).
@@ -1728,10 +1736,10 @@
if (license != null) {
if (license.size() != that.license.size()) return false;
int i = 0;
- for (LicenseType licenseType: license) {
+ for (LicenseType licenseType : license) {
LicenseType otherLicense = that.license.get(i++);
if (licenseType.isOsiApproved() != otherLicense.isOsiApproved()) return false;
- if (licenseType.getValue() != null? !licenseType.getValue().equals(otherLicense.getValue()) : otherLicense.getValue() != null) return false;
+ if (licenseType.getValue() != null ? !licenseType.getValue().equals(otherLicense.getValue()) : otherLicense.getValue() != null) return false;
}
}