You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by fu...@apache.org on 2005/04/12 21:41:52 UTC

svn commit: r161102 - incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java

Author: fuzzylogic
Date: Tue Apr 12 12:41:51 2005
New Revision: 161102

URL: http://svn.apache.org/viewcvs?view=rev&rev=161102
Log:
DERBY-153: Fix Eclipse plugin version specification

Committed for Rajesh Kartha <ka...@source-zone.org>

Modified:
    incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java

Modified: incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java
URL: http://svn.apache.org/viewcvs/incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java?view=diff&r1=161101&r2=161102
==============================================================================
--- incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java (original)
+++ incubator/derby/code/branches/10.0/java/build/org/apache/derbyBuild/eclipse/DerbyEclipsePlugin.java Tue Apr 12 12:41:51 2005
@@ -1,180 +1,183 @@
-/*
-
-   Derby - Class org.apache.derbyBuild.eclipse.DerbyEclipsePlugin
-
-   Copyright 2002, 2004 The Apache Software Foundation or its licensors, as applicable.
-
-   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.derbyBuild.eclipse;
-
-import java.util.*;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.InputStream;
-import org.apache.derby.iapi.services.info.ProductGenusNames;
-import org.apache.derby.iapi.services.info.PropertyNames;
-
-/**
- * This class provides the functionality to create the build related
- * related properties, which are used for creating the Derby plug-in
- * for Eclipse by the ANT script.
- *
- * - The Eclipse plugin will be called 'Apache Derby Core Plug-in for Eclipse'
- *
- * - The plugin can be build from the main build.xml using 'ant' with the 'plugin'
- *   argument.
- *
- * - The package name for the Derby plug-in will
- *   be: org.apache.derby.core_<major>.<minor>.<interim> (example: org.apache.derby.core_10.1.0).
- *
- * - The plugin.xml in the Derby plug-in will show the actual version of the
- *   the Derby build (example: 10.1.0.0 (111545M) ). This can be viewed from
- *   Help - About Eclipse Platform - Plug-in Details of Eclipse of the Eclipse IDE
- *
- * - The zip file created for the DerbyEclipse under the jars directory will have the name:
- *   derby_core_plugin_<major>.<minor>.<interim>.zip (example:derby_core_plugin_10.1.0.zip)
- *
- * - The current packaging includes derby.jar, derbynet.jar and
- *   derbytools.jar. The locale jars for Derby are not included yet.
- *
- * @author Rajesh Kartha
- */
-public class DerbyEclipsePlugin{
-	/*
-	 * Derby plug-in package property and name
-	 */
-	private static String PLUGIN_PKG="plugin.derby.core";
-	private static String PLUGIN_PKG_NAME="org.apache.derby.core";
-	/*
-	 * Derby plug-in zip file property and name
-	 */
-	private static String PLUGIN_ZIP_FILE="plugin.derby.core.zipfile";
-	private static String PLUGIN_ZIP_FILE_NAME="derby_core_plugin";
-	/*
-	 * Derby plug-in build properties and name
-	 */
-	private static String PLUGIN_VERSION="plugin.derby.version";
-	private static String PLUGIN_VERSION_BUILD_NUMBER="plugin.derby.version.build.number";
-	private static int MAINT_DIV=1000000;
-
-	/*
-	 * plugin.xml file information, split into three parts
-	 */
-	private static String part_1="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
-				      "<?eclipse version=\"3.0\"?> \n"+
-				      "<plugin \n" +
-   				      "\t id=\"org.apache.derby.core\" \n" +
-   				      "\t name=\"Apache Derby Core Plug-in for Eclipse\" \n" +
-   				      "\t version=\"";
-
-	private static String part_2="\n\t provider-name=\"";
-	private static String part_3="\n\t <runtime> \n" +
-      				      "\t\t <library name=\"derby.jar\"> \n" +
-         			      "\t\t\t <export name=\"*\"/> \n" +
-      				      "\t\t </library> \n" +
-      				      "\t\t <library name=\"derbytools.jar\"> \n"+
-         			      "\t\t\t <export name=\"*\"/> \n"+
-      				      "\t\t </library> \n"+
-      				      "\t\t <library name=\"derbynet.jar\"> \n"+
-         			      "\t\t\t <export name=\"*\"/> \n"+
-      				      "\t\t </library> \n"+
-   				      "\t </runtime> \n"+
-   				      "\t <requires> \n"+
-   				      "\t </requires> \n"+
-   				      "</plugin>";
-
-	private String version="";
-	private String tmpPropFile="plugintmp.properties";
-	private static File tmpFileLocation=null;
-	private static Properties tmpProp=new Properties();
-	private String pluginXMLFile="plugin.xml";
-
-	/*
-	 * The public main() method to test the working of this class. A valid destination
-	 * String is all that is needed as an argument for running this class.
-	 * <p>
-	 * example: java DerbyEclipsePlugin <destination>
-	 * <p>
-	 */
-
-	public static void main(String [] args){
-		if(args.length<=0){
-			System.out.println("Incorrect number of arguments.");
-			return;
-		}
-		try{
-			tmpFileLocation=new File(args[0]);
-			DerbyEclipsePlugin dep = new DerbyEclipsePlugin();
-			dep.getProps();
-			dep.createTmpFiles();
-		}catch(Exception e)
-		{
-			e.printStackTrace();
-		}
-
-
-
-
-	}
-	/*
-	 * For internal use only.
-	 * getProps() generates the required Properties from the DBMS.properties file.
-	 *
-	 * @exception	Exception if there is an error
-	 */
-	private void getProps() throws Exception{
-		InputStream versionStream = getClass().getResourceAsStream(ProductGenusNames.DBMS_INFO);
-		Properties prop=new Properties();
-		prop.load(versionStream);
-
-		//create the tmp Prop file
-		tmpProp.put(PLUGIN_PKG,PLUGIN_PKG_NAME);			//package name
-		tmpProp.put(PLUGIN_ZIP_FILE,PLUGIN_ZIP_FILE_NAME);	//zip file name
-		tmpProp.put(PropertyNames.PRODUCT_VENDOR_NAME,prop.getProperty(PropertyNames.PRODUCT_VENDOR_NAME));
-		int maint=Integer.parseInt(prop.getProperty(PropertyNames.PRODUCT_MAINT_VERSION));
-		version=prop.getProperty(PropertyNames.PRODUCT_MAJOR_VERSION)+"."+prop.getProperty(PropertyNames.PRODUCT_MINOR_VERSION)+"."+maint/MAINT_DIV;
-		tmpProp.put(PLUGIN_VERSION,version);
-
-		//initially thought of using
-		//version+="."+maint%MAINT_DIV+"_v"+prop.getProperty(PropertyNames.PRODUCT_BUILD_NUMBER);
-		version+="."+maint%MAINT_DIV+" ("+prop.getProperty(PropertyNames.PRODUCT_BUILD_NUMBER)+")";
-		tmpProp.put(PLUGIN_VERSION_BUILD_NUMBER,version);
-
-		//add info to plugin.xml strings
-		part_1+=version+"\"";
-		part_2+=tmpProp.getProperty(PropertyNames.PRODUCT_VENDOR_NAME)+"\">\n";
-
-	}
-	/*
-	 * For internal use only.
-	 * createTmpFiles() create the temporary files with the build properties at the specified location.
-	 *
-	 * @exception	Exception if there is an error
-	 */
-	private void createTmpFiles() throws Exception{
-		File file=new File(tmpFileLocation.getAbsolutePath()+File.separator+tmpPropFile);
-		FileOutputStream fo=new FileOutputStream(file);
-		tmpProp.store(fo,null);
-		fo.close();
-		file=new File(tmpFileLocation.getAbsolutePath()+File.separator+pluginXMLFile);
-		FileWriter fw=new FileWriter(file);
-		fw.write(part_1+part_2+part_3);
-		fw.close();
-
-	}
-}
-
+/*
+
+   Derby - Class org.apache.derbyBuild.eclipse.DerbyEclipsePlugin
+
+   Copyright 2002, 2004 The Apache Software Foundation or its licensors, as applicable.
+
+   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.derbyBuild.eclipse;
+
+import java.util.*;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.FileWriter;
+import java.io.InputStream;
+import org.apache.derby.iapi.services.info.ProductGenusNames;
+import org.apache.derby.iapi.services.info.PropertyNames;
+
+/**
+ * This class provides the functionality to create the build related
+ * related properties, which are used for creating the Derby plug-in
+ * for Eclipse by the ANT script.
+ *
+ * - The Eclipse plugin will be called 'Apache Derby Core Plug-in for Eclipse'
+ *
+ * - The plugin can be build from the main build.xml using 'ant' with the 'plugin'
+ *   argument.
+ *
+ * - The package name for the Derby plug-in will
+ *   be: org.apache.derby.core_<major>.<minor>.<interim> (example: org.apache.derby.core_10.1.0).
+ *
+ * - The plugin.xml in the Derby plug-in will show the actual version of the
+ *   the Derby build (example: 10.1.0.0 (111545M) ). This can be viewed from
+ *   Help - About Eclipse Platform - Plug-in Details of Eclipse of the Eclipse IDE
+ *
+ * - The zip file created for the DerbyEclipse under the jars directory will have the name:
+ *   derby_core_plugin_<major>.<minor>.<interim>.zip (example:derby_core_plugin_10.1.0.zip)
+ *
+ * - The current packaging includes derby.jar, derbynet.jar and
+ *   derbytools.jar. The locale jars for Derby are not included yet.
+ *
+ * @author Rajesh Kartha
+ */
+public class DerbyEclipsePlugin{
+	/*
+	 * Derby plug-in package property and name
+	 */
+	private static String PLUGIN_PKG="plugin.derby.core";
+	private static String PLUGIN_PKG_NAME="org.apache.derby.core";
+	/*
+	 * Derby plug-in zip file property and name
+	 */
+	private static String PLUGIN_ZIP_FILE="plugin.derby.core.zipfile";
+	private static String PLUGIN_ZIP_FILE_NAME="derby_core_plugin";
+	/*
+	 * Derby plug-in build properties and name
+	 */
+	private static String PLUGIN_VERSION="plugin.derby.version";
+	private static String PLUGIN_VERSION_BUILD_NUMBER="plugin.derby.version.build.number";
+	private static int MAINT_DIV=1000000;
+
+	/*
+	 * plugin.xml file information, split into three parts
+	 */
+	private static String part_1="<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"+
+				      "<?eclipse version=\"3.0\"?> \n"+
+				      "<plugin \n" +
+   				      "\t id=\"org.apache.derby.core\" \n" +
+   				      "\t name=\"Apache Derby Core Plug-in for Eclipse\" \n" +
+   				      "\t version=\"";
+
+	private static String part_2="\n\t provider-name=\"";
+	private static String part_3="\n\t <runtime> \n" +
+      				      "\t\t <library name=\"derby.jar\"> \n" +
+         			      "\t\t\t <export name=\"*\"/> \n" +
+      				      "\t\t </library> \n" +
+      				      "\t\t <library name=\"derbytools.jar\"> \n"+
+         			      "\t\t\t <export name=\"*\"/> \n"+
+      				      "\t\t </library> \n"+
+      				      "\t\t <library name=\"derbynet.jar\"> \n"+
+         			      "\t\t\t <export name=\"*\"/> \n"+
+      				      "\t\t </library> \n"+
+   				      "\t </runtime> \n"+
+   				      "\t <requires> \n"+
+   				      "\t </requires> \n"+
+   				      "</plugin>";
+
+	private String version="";
+	private String tmpPropFile="plugintmp.properties";
+	private static File tmpFileLocation=null;
+	private static Properties tmpProp=new Properties();
+	private String pluginXMLFile="plugin.xml";
+
+	/*
+	 * The public main() method to test the working of this class. A valid destination
+	 * String is all that is needed as an argument for running this class.
+	 * <p>
+	 * example: java DerbyEclipsePlugin <destination>
+	 * <p>
+	 */
+
+	public static void main(String [] args){
+		if(args.length<=0){
+			System.out.println("Incorrect number of arguments.");
+			return;
+		}
+		try{
+			tmpFileLocation=new File(args[0]);
+			DerbyEclipsePlugin dep = new DerbyEclipsePlugin();
+			dep.getProps();
+			dep.createTmpFiles();
+		}catch(Exception e)
+		{
+			e.printStackTrace();
+		}
+
+
+
+
+	}
+	/*
+	 * For internal use only.
+	 * getProps() generates the required Properties from the DBMS.properties file.
+	 *
+	 * @exception	Exception if there is an error
+	 */
+	private void getProps() throws Exception{
+		InputStream versionStream = getClass().getResourceAsStream(ProductGenusNames.DBMS_INFO);
+		Properties prop=new Properties();
+		prop.load(versionStream);
+
+		//create the tmp Prop file
+		tmpProp.put(PLUGIN_PKG,PLUGIN_PKG_NAME);			//package name
+		tmpProp.put(PLUGIN_ZIP_FILE,PLUGIN_ZIP_FILE_NAME);	//zip file name
+		tmpProp.put(PropertyNames.PRODUCT_VENDOR_NAME,prop.getProperty(PropertyNames.PRODUCT_VENDOR_NAME));
+		int maint=Integer.parseInt(prop.getProperty(PropertyNames.PRODUCT_MAINT_VERSION));
+		version=prop.getProperty(PropertyNames.PRODUCT_MAJOR_VERSION)+"."+prop.getProperty(PropertyNames.PRODUCT_MINOR_VERSION)+"."+maint/MAINT_DIV;
+		tmpProp.put(PLUGIN_VERSION,version);
+
+		//With Eclipse 3.1M5a release, adding '(PRODUCT_BUILD_NUMBER)' to the 'version' info in
+		//the plugin.xml creates some issues while loading. It has been removed and only the
+		//MAJOR.Minor.interim.point has been added to the plugin.xml.
+		//The actual Derby build version can be obtained using the 'sysinfo' tool.
+		
+		version+="."+maint%MAINT_DIV;
+		tmpProp.put(PLUGIN_VERSION_BUILD_NUMBER,version+" ("+prop.getProperty(PropertyNames.PRODUCT_BUILD_NUMBER)+")");
+
+		//add info to plugin.xml strings
+		part_1+=version+"\"";
+		part_2+=tmpProp.getProperty(PropertyNames.PRODUCT_VENDOR_NAME)+"\">\n";
+
+	}
+	/*
+	 * For internal use only.
+	 * createTmpFiles() create the temporary files with the build properties at the specified location.
+	 *
+	 * @exception	Exception if there is an error
+	 */
+	private void createTmpFiles() throws Exception{
+		File file=new File(tmpFileLocation.getAbsolutePath()+File.separator+tmpPropFile);
+		FileOutputStream fo=new FileOutputStream(file);
+		tmpProp.store(fo,null);
+		fo.close();
+		file=new File(tmpFileLocation.getAbsolutePath()+File.separator+pluginXMLFile);
+		FileWriter fw=new FileWriter(file);
+		fw.write(part_1+part_2+part_3);
+		fw.close();
+
+	}
+}
+