You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by mc...@apache.org on 2007/09/12 22:01:33 UTC
svn commit: r575055 - in /geronimo/devtools/eclipse-plugin/branches/2.0.0:
eclipse/build.xml
plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java
Author: mcconne
Date: Wed Sep 12 13:01:32 2007
New Revision: 575055
URL: http://svn.apache.org/viewvc?rev=575055&view=rev
Log:
GERONIMODEVTOOLS-202 Fix to correctly detect versions for Geroniom 2.x
Modified:
geronimo/devtools/eclipse-plugin/branches/2.0.0/eclipse/build.xml
geronimo/devtools/eclipse-plugin/branches/2.0.0/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java
Modified: geronimo/devtools/eclipse-plugin/branches/2.0.0/eclipse/build.xml
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/branches/2.0.0/eclipse/build.xml?rev=575055&r1=575054&r2=575055&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/branches/2.0.0/eclipse/build.xml (original)
+++ geronimo/devtools/eclipse-plugin/branches/2.0.0/eclipse/build.xml Wed Sep 12 13:01:32 2007
@@ -22,11 +22,14 @@
<project name="EuropaArtifacts">
<target name="init">
- <property name="europa_download_url" value="http://www.eclipse.org/downloads/download.php?file=/eclipse/downloads/drops/R-3.3-200706251500/"/>
- <property name="dtp_download_url" value="http://www.eclipse.org/downloads/download.php?file=/datatools/downloads/1.5/"/>
- <property name="emf_download_url" value="http://www.eclipse.org/downloads/download.php?file=/modeling/emf/emf/downloads/drops/2.3.0/R200706262000/"/>
- <property name="gef_download_url" value="http://www.eclipse.org/downloads/download.php?file=/tools/gef/downloads/drops/R-3.3-200706281000/"/>
- <property name="wtp_download_url" value="http://www.eclipse.org/downloads/download.php?file=/webtools/downloads/drops/R2.0/R-2.0-200706260303/"/>
+ <property name="base_url" value="http://www.eclipse.org/downloads/download.php?file="/>
+ <property name="europa_win32_url" value="${base_url}/eclipse/downloads/drops/R-3.3-200706251500/"/>
+ <property name="europa_linux_url" value="${base_url}/eclipse/downloads/drops/R-3.3-200706251500/"/>
+ <property name="europa_macos_url" value="${base_url}/eclipse/downloads/drops/R-3.3-200706251500/"/>
+ <property name="dtp_download_url" value="${base_url}/datatools/downloads/1.5/"/>
+ <property name="emf_download_url" value="${base_url}/modeling/emf/emf/downloads/drops/2.3.0/R200706262000/"/>
+ <property name="gef_download_url" value="${base_url}/tools/gef/downloads/drops/R-3.3-200706281000/"/>
+ <property name="wtp_download_url" value="${base_url}/webtools/downloads/drops/R2.0/R-2.0-200706260303/"/>
<property name="europa_jee_win32" value="eclipse-SDK-3.3-win32.zip"/>
<property name="europa_jee_linux" value="eclipse-SDK-3.3-linux-gtk.tar"/>
<property name="europa_jee_macos" value="eclipse-SDK-3.3-macosx-carbon.tar"/>
@@ -36,12 +39,13 @@
<property name="emf_sdo" value="emf-sdo-xsd-SDK-2.3.0.zip"/>
<property name="gef_sdk" value="GEF-SDK-3.3.zip"/>
<property name="wtp_sdk" value="wtp-sdk-R-2.0-200706260303.zip"/>
+ <property name="protocol" value="&r=1&protocol=http"/>
</target>
<target name="win32" depends="init,common" description="Download Windows-specific artifact(s)">
<echo>Downloading ${europa_download_url}${europa_jee_win32}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${europa_download_url}${europa_jee_win32}&r=1&protocol=http"
+ <get src="${europa_win32_url}${europa_jee_win32}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${europa_jee_win32}"
verbose="true"
usetimestamp="true"/>
@@ -54,7 +58,7 @@
<target name="linux" depends="init,common" description="Download Linux-specific artifact(s)">
<echo>Downloading ${europa_download_url}${europa_jee_linux_gz}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${europa_download_url}${europa_jee_linux_gz}&r=1&protocol=http"
+ <get src="${europa_linux_url}${europa_jee_linux_gz}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${europa_jee_linux_gz}"
verbose="true"
usetimestamp="true"/>
@@ -68,7 +72,7 @@
<target name="macos" depends="init,common" description="Download Mac-specific artifact(s)">
<echo>Downloading ${europa_download_url}${europa_jee_macos_gz}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${europa_download_url}${europa_jee_macos_gz}&r=1&protocol=http"
+ <get src="${europa_macos_url}${europa_jee_macos_gz}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${europa_jee_macos_gz}"
verbose="true"
usetimestamp="true"/>
@@ -79,17 +83,17 @@
dest="${LOCAL_M2_REPO}/eclipse"/>
</target>
- <target name="common" description="Download artifacts common to all OS'es">
+ <target name="common" depends="init" description="Download artifacts common to all OS'es">
<antcall target="dtp"/>
<antcall target="emf"/>
<antcall target="gef"/>
<antcall target="wtp"/>
</target>
- <target name="dtp" description="Download Data Tools Platform (DTP) artifact">
+ <target name="dtp" depends="init" description="Download Data Tools Platform (DTP) artifact">
<echo>Downloading ${dtp_download_url}${dtp_sdk}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${dtp_download_url}${dtp_sdk}&r=1&protocol=http"
+ <get src="${dtp_download_url}${dtp_sdk}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${dtp_sdk}"
verbose="true"
usetimestamp="true"/>
@@ -99,10 +103,10 @@
dest="${LOCAL_M2_REPO}/eclipse"/>
</target>
- <target name="emf" description="Download Eclipse Modeling Framework (EMF) artifact">
+ <target name="emf" depends="init" description="Download Eclipse Modeling Framework (EMF) artifact">
<echo>Downloading ${emf_download_url}${emf_sdo}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${emf_download_url}${emf_sdo}&r=1&protocol=http"
+ <get src="${emf_download_url}${emf_sdo}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${emf_sdo}"
verbose="true"
usetimestamp="true"/>
@@ -112,10 +116,10 @@
dest="${LOCAL_M2_REPO}/eclipse"/>
</target>
- <target name="gef" description="Download Graphical Editing Framework (GEF) artifact">
+ <target name="gef" depends="init" description="Download Graphical Editing Framework (GEF) artifact">
<echo>Downloading ${gef_download_url}${gef_sdk}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${gef_download_url}${gef_sdk}&r=1&protocol=http"
+ <get src="${gef_download_url}${gef_sdk}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${gef_sdk}"
verbose="true"
usetimestamp="true"/>
@@ -125,10 +129,10 @@
dest="${LOCAL_M2_REPO}/eclipse"/>
</target>
- <target name="wtp" description="Download Web Tools Platform (WTP) artifact">
+ <target name="wtp" depends="init" description="Download Web Tools Platform (WTP) artifact">
<echo>Downloading ${wtp_download_url}${wtp_sdk}</echo>
<mkdir dir="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3"/>
- <get src="${wtp_download_url}${wtp_sdk}&r=1&protocol=http"
+ <get src="${wtp_download_url}${wtp_sdk}${protocol}"
dest="${LOCAL_M2_REPO}/org/eclipse/eclipse/3.3/${wtp_sdk}"
verbose="true"
usetimestamp="true"/>
Modified: geronimo/devtools/eclipse-plugin/branches/2.0.0/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java
URL: http://svn.apache.org/viewvc/geronimo/devtools/eclipse-plugin/branches/2.0.0/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java?rev=575055&r1=575054&r2=575055&view=diff
==============================================================================
--- geronimo/devtools/eclipse-plugin/branches/2.0.0/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java (original)
+++ geronimo/devtools/eclipse-plugin/branches/2.0.0/plugins/org.apache.geronimo.st.core/src/org/apache/geronimo/st/core/GeronimoRuntimeDelegate.java Wed Sep 12 13:01:32 2007
@@ -21,7 +21,9 @@
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLClassLoader;
+import java.util.ArrayList;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import org.apache.geronimo.st.core.internal.Messages;
@@ -153,10 +155,13 @@
*/
public String detectVersion() {
+ URL systemjarURL = null;
+ //
+ // Check lib directory first
+ //
File libDir = getRuntime().getLocation().append("lib").toFile();
if (libDir.exists()) {
File[] libs = libDir.listFiles();
- URL systemjarURL = null;
for (int i = 0; i < libs.length; i++) {
if (libs[i].getName().startsWith("geronimo-system")) {
try {
@@ -167,15 +172,35 @@
}
}
}
- if (systemjarURL != null) {
- URLClassLoader cl = new URLClassLoader(new URL[] { systemjarURL });
- try {
- Class clazz = cl.loadClass("org.apache.geronimo.system.serverinfo.ServerConstants");
- Method method = clazz.getMethod("getVersion", new Class[] {});
- return (String) method.invoke(null, null);
- } catch (Exception e) {
- e.printStackTrace();
- }
+ }
+ //
+ // Check repository if necessary
+ //
+ if (systemjarURL == null) {
+ File systemDir = getRuntime().getLocation().append("repository/org/apache/geronimo/modules/geronimo-system").toFile();
+ if (systemDir.exists() && systemDir.isDirectory() && systemDir.canRead()) {
+ List<File> dirFiles = scanDirectory(systemDir);
+ for (File jarFile : dirFiles) {
+ if (jarFile.getName().startsWith("geronimo-system") && jarFile.getName().endsWith("jar")) {
+ try {
+ systemjarURL = jarFile.toURL();
+ break;
+ }
+ catch (MalformedURLException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
+ }
+ if (systemjarURL != null) {
+ URLClassLoader cl = new URLClassLoader(new URL[] { systemjarURL });
+ try {
+ Class clazz = cl.loadClass("org.apache.geronimo.system.serverinfo.ServerConstants");
+ Method method = clazz.getMethod("getVersion", new Class[] {});
+ return (String) method.invoke(null, null);
+ } catch (Exception e) {
+ e.printStackTrace();
}
}
return null;
@@ -273,4 +298,23 @@
public boolean isUsingDefaultJRE() {
return getVMInstallTypeId() == null;
}
+
+ private static List<File> scanDirectory(File dir) {
+ List<File> dirFiles = new ArrayList<File>();
+ scanDirectory(dir, dirFiles);
+ return dirFiles;
+ }
+
+ private static void scanDirectory(File dir, List<File> dirFiles) {
+ File[] files = dir.listFiles();
+ for (int ii = 0; ii < files.length; ii++) {
+ if (files[ii].isDirectory()) {
+ scanDirectory(files[ii], dirFiles);
+ }
+ else {
+ dirFiles.add(files[ii]);
+ }
+ }
+ }
+
}