what does this break? this was an august commit -- i've been running on that for a long time (and mostly NOT 5.6) ...
ms
On Aug 13, 2009, at 8:02 PM, Q wrote:
> Do not update to this build.. it breaks something to do with launching apps.
>
> If you updated already and need to reinstall the previous build, you can do so using this update site URL:
> http://webobjects.vstrata.com.au/hudson/job/wolips-35-nightly/16/artifact/wolips/dist/
>
> Alternatively, wait until it's fixed before updating. That is all.
>
> On 14/08/2009, at 5:09 AM, mschra..bjectstyle.org wrote:
>
>> Author: mschrag
>> Date: 2009-08-13 15:09:24 -0400 (Thu, 13 Aug 2009)
>> New Revision: 5918
>>
>> Modified:
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/WOBuildPropertiesInitializer.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseJarFramework.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipsePathFramework.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseProjectFramework.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/IEclipseFramework.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.launching/java/org/objectstyle/wolips/launching/delegates/WOJavaLocalApplicationLaunchConfigurationDelegate.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.variables/java/org/objectstyle/wolips/variables/BuildProperties.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/internal/types/project/ProjectAdapter.java
>> branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/types/project/IProjectAdapter.java
>> Log:
>> bunch of fixes for launching WO 5.6
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/internal/types/project/ProjectAdapter.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/internal/types/project/ProjectAdapter.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/internal/types/project/ProjectAdapter.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -552,7 +552,7 @@
>> */
>> public IPath getWorkingDir() throws CoreException {
>> IPath path = null;
>> - IFolder workingDirFolder = getWorkingDirFolder();
>> + IContainer workingDirFolder = getWorkingDirFolder();
>> if (workingDirFolder != null && workingDirFolder.exists()) {
>> path = workingDirFolder.getLocation();
>> }
>>.. -563,78 +563,90 @@
>> *..eturn null if the project is not an application othewise invokes the
>> * same method on ProjectAdapter
>> */
>> - public IFolder getWorkingDirFolder() throws CoreException {
>> - IFolder workingDirFolder;
>> + public IContainer getWorkingDirFolder() throws CoreException {
>> + IContainer workingDirFolder;
>> IProject project = this.getUnderlyingProject();
>> - if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntApplicationNature)) {
>> - workingDirFolder = this.getUnderlyingProject().getFolder(IBuildAdapter.FILE_NAME_DIST);
>> - } else {
>> - workingDirFolder = this.getUnderlyingProject().getFolder(IBuildAdapter.FILE_NAME_BUILD);
>> + BuildProperties buildProperties = (BuildProperties)project.getAdapter(BuildProperties.class);
>> + if (buildProperties.getMajorVersion() <= 5 && buildProperties.getMinorVersion() < 6) {
>> + workingDirFolder = project;
>> }
>> - if (workingDirFolder != null && workingDirFolder.exists()) {
>> - IFolder woaFolder = null;
>> - IResource[] members = workingDirFolder.members();
>> - for (int i = 0; woaFolder == null && i < members.length; i++) {
>> - IResource member = members[i];
>> - if (member.getType() == IResource.FOLDER && member.getName().endsWith(".woa")) {
>> - woaFolder = (IFolder) member;
>> + else {
>> + if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntApplicationNature)) {
>> + workingDirFolder = this.getUnderlyingProject().getFolder(IBuildAdapter.FILE_NAME_DIST);
>> + } else {
>> + workingDirFolder = this.getUnderlyingProject().getFolder(IBuildAdapter.FILE_NAME_BUILD);
>> + }
>> + if (workingDirFolder != null && workingDirFolder.exists()) {
>> + IFolder woaFolder = null;
>> + IResource[] members = workingDirFolder.members();
>> + for (int i = 0; woaFolder == null && i < members.length; i++) {
>> + IResource member = members[i];
>> + if (member.getType() == IResource.FOLDER && member.getName().endsWith(".woa")) {
>> + woaFolder = (IFolder) member;
>> + }
>> }
>> - }
>> - if (woaFolder != null && woaFolder.exists()) {
>> - workingDirFolder = woaFolder;
>> + if (woaFolder != null && woaFolder.exists()) {
>> + workingDirFolder = woaFolder;
>> + } else {
>> + workingDirFolder = null;
>> + }
>> } else {
>> workingDirFolder = null;
>> }
>> - } else {
>> - workingDirFolder = null;
>> }
>> return workingDirFolder;
>> }
>>
>> public IPath getWOJavaArchive() throws CoreException {
>> - IResource resource = null;
>> IPath path = null;
>> IProject project = this.getUnderlyingProject();
>> - String projectName = project.getName();
>> - // String projectNameLC = projectName.toLowerCase();
>> - // I'd rather use the knowledge from the IncrementalNature, but
>> - // that fragment is not
>> - // visible here (so I can't use the class, I think) [hn3000]
>> - if (this.isFramework()) {
>> - if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntFrameworkNature)) {
>> - resource = getJar("dist/", ".framework/");
>> - if (!resource.exists())
>> - resource = getJar("", ".framework/");
>> - } else if (this.isIncrementalBuilderInstalled()) {
>> - resource = this.getUnderlyingProject().getFolder("build/" + projectName + ".framework/Resources/Java");
>> - }
>> - if (resource != null && resource.exists()) {
>> - path = resource.getLocation();
>> - } else {
>> - IPath externalBuildRoot = VariablesPlugin.getDefault().getProjectVariables(_underlyingProject).getExternalBuildRoot();
>> - if (externalBuildRoot != null) {
>> - path = externalBuildRoot.append(projectName + ".framework/Resources/Java/" + projectName + ".jar");
>> - }
>> - }
>> - } else if (this.isApplication()) { // must be application
>> - IFolder wdFolder = getWorkingDirFolder();
>> - if (wdFolder != null && wdFolder.exists()) {
>> - IFolder javaFolder = wdFolder.getFolder("Contents/Resources/Java");
>> - if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntApplicationNature)) {
>> - resource = javaFolder.findMember(wdFolder.getName().substring(0, wdFolder.getName().length() - 4).toLowerCase() + ".jar");
>> + BuildProperties buildProperties = (BuildProperties)project.getAdapter(BuildProperties.class);
>> + if (buildProperties.getMajorVersion() <= 5 && buildProperties.getMinorVersion() < 6) {
>> + //path = this.getUnderlyingProject().getLocation();
>> + }
>> + else {
>> + IResource resource = null;
>> + String projectName = project.getName();
>> + // String projectNameLC = projectName.toLowerCase();
>> + // I'd rather use the knowledge from the IncrementalNature, but
>> + // that fragment is not
>> + // visible here (so I can't use the class, I think) [hn3000]
>> + if (this.isFramework()) {
>> + if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntFrameworkNature)) {
>> + resource = getJar("dist/", ".framework/");
>> if (!resource.exists())
>> - resource = getJar("", ".woa/Contents/");
>> + resource = getJar("", ".framework/");
>> } else if (this.isIncrementalBuilderInstalled()) {
>> - resource = javaFolder;
>> + resource = this.getUnderlyingProject().getFolder("build/" + projectName + ".framework/Resources/Java");
>> }
>> - }
>> - if (resource != null && (resource.exists())) {
>> - path = resource.getLocation();
>> - } else {
>> - IPath externalBuildRoot = VariablesPlugin.getDefault().getProjectVariables(_underlyingProject).getExternalBuildRoot();
>> - if (externalBuildRoot != null) {
>> - path = externalBuildRoot.append(projectName + ".woa/Contents/Resources/Java/" + projectName + ".jar");
>> + if (resource != null && resource.exists()) {
>> + path = resource.getLocation();
>> + } else {
>> + IPath externalBuildRoot = VariablesPlugin.getDefault().getProjectVariables(_underlyingProject).getExternalBuildRoot();
>> + if (externalBuildRoot != null) {
>> + path = externalBuildRoot.append(projectName + ".framework/Resources/Java/" + projectName + ".jar");
>> + }
>> }
>> + } else if (this.isApplication()) { // must be application
>> + IContainer wdFolder = getWorkingDirFolder();
>> + if (wdFolder != null && wdFolder.exists()) {
>> + IFolder javaFolder = wdFolder.getFolder(new Path("Contents/Resources/Java"));
>> + if (this.isAntBuilderInstalled() || (WOLipsNatureUtils.getNature(project) instanceof AntApplicationNature)) {
>> + resource = javaFolder.findMember(wdFolder.getName().substring(0, wdFolder.getName().length() - 4).toLowerCase() + ".jar");
>> + if (!resource.exists())
>> + resource = getJar("", ".woa/Contents/");
>> + } else if (this.isIncrementalBuilderInstalled()) {
>> + resource = javaFolder;
>> + }
>> + }
>> + if (resource != null && (resource.exists())) {
>> + path = resource.getLocation();
>> + } else {
>> + IPath externalBuildRoot = VariablesPlugin.getDefault().getProjectVariables(_underlyingProject).getExternalBuildRoot();
>> + if (externalBuildRoot != null) {
>> + path = externalBuildRoot.append(projectName + ".woa/Contents/Resources/Java/" + projectName + ".jar");
>> + }
>> + }
>> }
>> }
>> return path;
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/types/project/IProjectAdapter.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/types/project/IProjectAdapter.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips/java/org/objectstyle/wolips/core/resources/types/project/IProjectAdapter.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -55,7 +55,7 @@
>> */
>> package org.objectstyle.wolips.core.resources.types.project;
>>
>> -import org.eclipse.core.resources.IFolder;
>> +import org.eclipse.core.resources.IContainer;
>> import org.eclipse.core.resources.IProject;
>> import org.eclipse.core.runtime.CoreException;
>> import org.eclipse.core.runtime.IPath;
>>.. -69,7 +69,7 @@
>> import org.objectstyle.wolips.variables.BuildProperties;
>>
>> public interface IProjectAdapter extends IResourceType, IPBDotProjectOwner {
>> - public IFolder getWorkingDirFolder() throws CoreException;
>> + public IContainer getWorkingDirFolder() throws CoreException;
>>
>> public IProject getUnderlyingProject();
>>
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/WOBuildPropertiesInitializer.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/WOBuildPropertiesInitializer.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/WOBuildPropertiesInitializer.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -1,7 +1,5 @@
>> package org.objectstyle.wolips.jdt;
>>
>> -import java.util.Map;
>> -
>> import org.eclipse.core.resources.IProject;
>> import org.objectstyle.wolips.core.resources.internal.types.project.ProjectAdapter;
>> import org.objectstyle.wolips.core.resources.types.project.IProjectAdapter;
>>.. -20,25 +18,21 @@
>> try {
>> ProjectFrameworkAdapter projectFrameworkAdaptor = (ProjectFrameworkAdapter) project.getAdapter(ProjectFrameworkAdapter.class);
>> if (projectFrameworkAdaptor != null) {
>> - IEclipseFramework foundationFramework = projectFrameworkAdaptor.getLinkedFrameworkNamed("JavaFoundation");
>> - if (foundationFramework != null) {
>> - Map<String, Object> infoPList = foundationFramework.getInfoPlist();
>> - if (infoPList != null) {
>> - String plistVersion = (String) infoPList.get("CFBundleShortVersionString");
>> - if (plistVersion != null && plistVersion.length() > 0) {
>> - buildProperties.setWOVersionDefault(plistVersion);
>> - }
>> - else {
>> - System.out.println("WOBuildPropertiesInitializer.initialize: blank JavaFoundation version for " + project.getName());
>> - }
>> - }
>> - else {
>> - System.out.println("WOBuildPropertiesInitializer.initialize: no JavaFoundation Info.plist for " + project.getName());
>> - }
>> + IEclipseFramework foundationFramework;
>> + // ... If you have the JavaFoundation source framework and you're actually talking to it right now, well .. we have
>> + // to special case that one. If a JavaFoundation framework falls in the forest, does it make a sound?
>> + if ("JavaFoundation".equals(project.getName())) {
>> + foundationFramework = JdtPlugin.getDefault().getFrameworkModel(project).getFrameworkWithName("JavaFoundation");
>> }
>> else {
>> - System.out.println("WOBuildPropertiesInitializer.initialize: no JavaFoundation link for " + project.getName());
>> + foundationFramework = projectFrameworkAdaptor.getLinkedFrameworkNamed("JavaFoundation");
>> }
>> + if (foundationFramework != null) {
>> + String version = foundationFramework.getVersion();
>> + if (version != null && version.length() > 0) {
>> + buildProperties.setWOVersionDefault(version);
>> + }
>> + }
>> if (projectFrameworkAdaptor.isLinkedToFrameworkNamed("WOOgnl")) {
>> buildProperties.setInlineBindingPrefixDefault("$");
>> buildProperties.setInlineBindingSuffixDefault("");
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseJarFramework.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseJarFramework.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseJarFramework.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -11,6 +11,10 @@
>> public EclipseJarFramework(Root<?> root, File jarFile) {
>> super(root, jarFile);
>> }
>> +
>> + public String getVersion() {
>> + return IEclipseFramework.Utility.getInfoPListVersion(getInfoPlist());
>> + }
>>
>> public List<IClasspathEntry> getClasspathEntries() {
>> return null;
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipsePathFramework.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipsePathFramework.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipsePathFramework.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -76,7 +76,11 @@
>> public EclipsePathFramework(Root root, File frameworkFolder) {
>> super(root, frameworkFolder);
>> }
>> -
>> +
>> + public String getVersion() {
>> + return IEclipseFramework.Utility.getInfoPListVersion(getInfoPlist());
>> + }
>> +
>> public synchronized List<IClasspathEntry> getClasspathEntries() {
>> List<IClasspathEntry> classpathEntries = cachedClasspathEntries;
>>
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseProjectFramework.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseProjectFramework.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/EclipseProjectFramework.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -56,10 +56,17 @@
>> package org.objectstyle.wolips.jdt.classpath.model;
>>
>> import java.io.File;
>> +import java.io.IOException;
>> import java.util.LinkedList;
>> import java.util.List;
>> import java.util.Map;
>>
>> +import javax.xml.parsers.DocumentBuilderFactory;
>> +import javax.xml.parsers.ParserConfigurationException;
>> +import javax.xml.xpath.XPathConstants;
>> +import javax.xml.xpath.XPathExpressionException;
>> +import javax.xml.xpath.XPathFactory;
>> +
>> import org.eclipse.core.resources.IProject;
>> import org.eclipse.core.runtime.IPath;
>> import org.eclipse.jdt.core.IClasspathEntry;
>>.. -73,6 +80,11 @@
>> import org.objectstyle.woenvironment.plist.WOLXMLPropertyListSerialization;
>> import org.objectstyle.wolips.core.resources.internal.types.project.ProjectAdapter;
>> import org.objectstyle.wolips.core.resources.types.project.IProjectAdapter;
>> +import org.objectstyle.wolips.jdt.JdtPlugin;
>> +import org.objectstyle.wolips.variables.BuildProperties;
>> +import org.w3c.dom.Document;
>> +import org.w3c.dom.NodeList;
>> +import org.xml.sax.SAXException;
>>
>> public class EclipseProjectFramework extends Framework implements IEclipseFramework {
>> private IProject project;
>>.. -110,25 +122,67 @@
>> }
>> return classpathEntries;
>> }
>> +
>> + public String getVersion() {
>> + String version = null;
>> + File pomFile = project.getLocation().append("pom.xml").toFile();
>> + if (pomFile.exists()) {
>> + try {
>> + Document pomDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(pomFile);
>> + pomDocument.normalize();
>> + NodeList versionNodes = (NodeList) XPathFactory.newInstance().newXPath().compile("//parent/version").evaluate(pomDocument, XPathConstants.NODESET);
>> + if (versionNodes.getLength() > 0) {
>> + version = versionNodes.item(0).getFirstChild().getNodeValue();
>> + }
>> + } catch (Throwable t) {
>> + JdtPlugin.getDefault().getPluginLogger().log(t);
>> + }
>> + }
>> + else {
>> + version = IEclipseFramework.Utility.getInfoPListVersion(getInfoPlist());
>> + }
>> + return version;
>> + }
>>
>> ..uppressWarnings("unchecked")
>> public Map<String, Object> getInfoPlist() {
>> ProjectAdapter projectAdapter = (ProjectAdapter) this.project.getAdapter(IProjectAdapter.class);
>> - try {
>> - File infoPlist = projectAdapter.getWOJavaArchive().removeLastSegments(1).append("Info.plist").toFile();
>> - Map<String, Object> propertyList;
>> - if (infoPlist.exists()) {
>> - propertyList = (Map<String, Object>) WOLXMLPropertyListSerialization.propertyListWithContentsOfFile(infoPlist, new SimpleParserDataStructureFactory());
>> - } else {
>> + Map<String, Object> propertyList = null;
>> + if (projectAdapter != null) {
>> + try {
>> + File infoPlist;
>> + BuildProperties buildProperties = (BuildProperties)project.getAdapter(BuildProperties.class);
>> + if (buildProperties.getMajorVersion() <= 5 && buildProperties.getMinorVersion() < 6) {
>> + infoPlist = this.project.getLocation().append("Info.plist").toFile();
>> + }
>> + else {
>> + infoPlist = projectAdapter.getWOJavaArchive().removeLastSegments(1).append("Info.plist").toFile();
>> + }
>> + if (infoPlist.exists()) {
>> + propertyList = (Map<String, Object>) WOLXMLPropertyListSerialization.propertyListWithContentsOfFile(infoPlist, new SimpleParserDataStructureFactory());
>> + }
>> + } catch (Throwable t) {
>> + JdtPlugin.getDefault().getPluginLogger().log(t);
>> propertyList = null;
>> }
>> - return propertyList;
>> - } catch (Throwable t) {
>> - throw new RuntimeException("Failed to parse an XML plist from '" + getName() + "'.", t);
>> }
>> + return propertyList;
>> }
>>
>> public static String frameworkNameForProject(IProject project) {
>> return project.getName();
>> }
>> +
>> + public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException, XPathExpressionException {
>> + File pomFile = new File("/Volumes/WebObjects56/JavaFoundation/pom.xml");
>> + Document pomDocument = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(pomFile);
>> + pomDocument.normalize();
>> + NodeList versionNodes = (NodeList) XPathFactory.newInstance().newXPath().compile("//parent/version").evaluate(pomDocument, XPathConstants.NODESET);
>> + if (versionNodes.getLength() > 0) {
>> + String version = versionNodes.item(0).getFirstChild().getNodeValue();
>> + System.out.println("EclipseProjectFramework.main: " + version);
>> + }
>> + System.out.println("EclipseProjectFramework.main: " + versionNodes.getLength());
>> +
>> + }
>> }
>> \ No newline at end of file
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/IEclipseFramework.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/IEclipseFramework.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.jdt/java/org/objectstyle/wolips/jdt/classpath/model/IEclipseFramework.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -58,6 +58,7 @@
>> import java.io.File;
>> import java.util.LinkedList;
>> import java.util.List;
>> +import java.util.Map;
>>
>> import org.eclipse.core.resources.IProject;
>> import org.eclipse.jdt.core.IClasspathEntry;
>>.. -72,9 +73,22 @@
>> import org.objectstyle.wolips.jdt.classpath.WOFrameworkClasspathContainer;
>>
>> public interface IEclipseFramework extends IFramework {
>> + public String getVersion();
>> +
>> public List<IClasspathEntry> getClasspathEntries();
>>
>> public static class Utility {
>> + public static String getInfoPListVersion(Map<String, Object> infoPList) {
>> + String version;
>> + if (infoPList != null) {
>> + version = (String) infoPList.get("CFBundleShortVersionString");
>> + }
>> + else {
>> + version = null;
>> + }
>> + return version;
>> + }
>> +
>> public static void addFrameworksToProject(List<IEclipseFramework> frameworksToAdd, IJavaProject javaProject, boolean reload) throws JavaModelException {
>> IClasspathEntry[] existingEntries;
>> if (reload) {
>>.. -116,7 +130,7 @@
>> }
>> }
>>
>> - public static boolean addProjectToProject(IProject referencedProject, IJavaProject javaProject, List<IClasspathEntry> existingEntries) throws JavaModelException {
>> + public static boolean addProjectToProject(IProject referencedProject, IJavaProject javaProject, List<IClasspathEntry> existingEntries) {
>> boolean addedProject = false;
>>
>> boolean referencedProjectIsFramework = false;
>>.. -141,7 +155,7 @@
>> return addedProject;
>> }
>>
>> - public static boolean addFrameworkToProject(IEclipseFramework frameworkToAdd, IJavaProject javaProject, List<IClasspathEntry> existingEntries) throws JavaModelException {
>> + public static boolean addFrameworkToProject(IEclipseFramework frameworkToAdd, IJavaProject javaProject, List<IClasspathEntry> existingEntries) {
>> boolean addFramework = true;
>> String name = frameworkToAdd.getName();
>> for (IClasspathEntry existingEntry : existingEntries) {
>>.. -204,7 +218,7 @@
>> }
>> }
>>
>> - public static boolean removeFrameworkFromProject(IEclipseFramework frameworkToRemove, IJavaProject javaProject, List<IClasspathEntry> existingEntries) throws JavaModelException {
>> + public static boolean removeFrameworkFromProject(IEclipseFramework frameworkToRemove, IJavaProject javaProject, List<IClasspathEntry> existingEntries) {
>> IClasspathEntry removeEntry = null;
>> String name = frameworkToRemove.getName();
>> for (IClasspathEntry existingEntry : existingEntries) {
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.launching/java/org/objectstyle/wolips/launching/delegates/WOJavaLocalApplicationLaunchConfigurationDelegate.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.launching/java/org/objectstyle/wolips/launching/delegates/WOJavaLocalApplicationLaunchConfigurationDelegate.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.launching/java/org/objectstyle/wolips/launching/delegates/WOJavaLocalApplicationLaunchConfigurationDelegate.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -60,7 +60,7 @@
>> import java.util.HashSet;
>> import java.util.Set;
>>
>> -import org.eclipse.core.resources.IFolder;
>> +import org.eclipse.core.resources.IContainer;
>> import org.eclipse.core.resources.IProject;
>> import org.eclipse.core.resources.ResourcesPlugin;
>> import org.eclipse.core.runtime.CoreException;
>>.. -177,7 +177,7 @@
>> // IPath wd = getWorkingDirectoryPath(configuration);
>> IProjectAdapter projectAdaptor = (IProjectAdapter) theProject.getAdapter(IProjectAdapter.class);
>>
>> - IFolder workingDirectoryFolder = projectAdaptor.getWorkingDirFolder();
>> + IContainer workingDirectoryFolder = projectAdaptor.getWorkingDirFolder();
>> File workingDirectoryFile;
>> if (workingDirectoryFolder == null) {
>> workingDirectoryFile = super.verifyWorkingDirectory(configuration);
>>
>> Modified: branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.variables/java/org/objectstyle/wolips/variables/BuildProperties.java
>> ===================================================================
>> --- branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.variables/java/org/objectstyle/wolips/variables/BuildProperties.java 2009-08-13 19:09:04 UTC (rev 5917)
>> +++ branches/eclipse_3_5/wolips/core/plugins/org.objectstyle.wolips.variables/java/org/objectstyle/wolips/variables/BuildProperties.java 2009-08-13 19:09:24 UTC (rev 5918)
>>.. -362,22 +362,32 @@
>> return isFramework() ? "FMWK" : "APPL";
>> }
>>
>> + protected String[] getVersionComponents() {
>> + String woVersion = getWOVersion();
>> + String[] versionComponents = woVersion.split("[.-]");
>> + return versionComponents;
>> + }
>> +
>> public int getMajorVersion() {
>> - String woVersion = getWOVersion();
>> - String[] versionComponents = woVersion.split("\\.");
>> + String[] versionComponents = getVersionComponents();
>> return versionComponents.length >= 1 ? Integer.parseInt(versionComponents[0]) : 0;
>> }
>>
>> public int getMinorVersion() {
>> - String woVersion = getWOVersion();
>> - String[] versionComponents = woVersion.split("\\.");
>> + String[] versionComponents = getVersionComponents();
>> return versionComponents.length >= 2 ? Integer.parseInt(versionComponents[1]) : 0;
>> }
>>
>> - public int getPatchVersion() {
>> - String woVersion = getWOVersion();
>> - String[] versionComponents = woVersion.split("\\.");
>> - return versionComponents.length >= 3 ? Integer.parseInt(versionComponents[2]) : 0;
>> + public String getPatchVersion() {
>> + String patchVersion;
>> + String[] versionComponents = getVersionComponents();
>> + if (versionComponents.length >= 3) {
>> + patchVersion = versionComponents[2];
>> + }
>> + else {
>> + patchVersion = "0";
>> + }
>> + return patchVersion;
>> }
>>
>> private boolean _defaultsInitialized;
>>
>
>
>
> --
> Seeya...Q
>
> Quinton Dolan - qdola..mail.com
> Gold Coast, QLD, Australia (GMT+10)
> Ph: +61 419 729 806
>
>
>
This archive was generated by hypermail 2.0.0 : Wed Jan 27 2010 - 11:38:13 EST