Author: pkluegl Date: Tue Oct 27 08:37:02 2015 New Revision: 1710743 URL: http://svn.apache.org/viewvc?rev=1710743&view=rev Log: UIMA-4659 - support resource paths in old IDE projects again
Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaBuilder.java uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaProjectUtils.java Modified: uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java?rev=1710743&r1=1710742&r2=1710743&view=diff ============================================================================== --- uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java (original) +++ uima/ruta/trunk/ruta-core/src/main/java/org/apache/uima/ruta/descriptor/RutaDescriptorBuilder.java Tue Oct 27 08:37:02 2015 @@ -314,7 +314,7 @@ public class RutaDescriptorBuilder { } public void build(RutaDescriptorInformation desc, String typeSystemOutput, String engineOutput, - RutaBuildOptions options, String[] scriptPaths, String[] enginePaths) + RutaBuildOptions options, String[] scriptPaths, String[] enginePaths, String[] resourcePaths) throws SAXException, InvalidXMLException, IOException, ResourceInitializationException, URISyntaxException { @@ -323,7 +323,7 @@ public class RutaDescriptorBuilder { AnalysisEngineDescription analysisEngineDescription = createAnalysisEngineDescription(desc, typeSystemDescription, typeSystemOutput, engineOutput, options, scriptPaths, - enginePaths, null); + enginePaths, resourcePaths); File analysisEngineFile = getFile(engineOutput); File typeSystemFile = getFile(typeSystemOutput); Modified: uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaBuilder.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaBuilder.java?rev=1710743&r1=1710742&r2=1710743&view=diff ============================================================================== --- uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaBuilder.java (original) +++ uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaBuilder.java Tue Oct 27 08:37:02 2015 @@ -167,6 +167,7 @@ public class RutaBuilder extends Abstrac String scriptWithPackagePath = RutaProjectUtils.getScriptWithPackage(pathToModule, project); List<String> scriptPathList = new ArrayList<String>(); List<String> descriptorPathList = new ArrayList<String>(); + List<String> resourcePathList = new ArrayList<String>(); // add all folders try { @@ -182,9 +183,18 @@ public class RutaBuilder extends Abstrac } catch (Exception e) { RutaIdeCorePlugin.error(e); } + + try { + List<IFolder> allResourceFolders = RutaProjectUtils.getAllResourceFolders(project); + resourcePathList.addAll(RutaProjectUtils.getFolderLocations(allResourceFolders)); + } catch (Exception e) { + RutaIdeCorePlugin.error(e); + } String[] descriptorPaths = descriptorPathList.toArray(new String[0]); String[] scriptPaths = scriptPathList.toArray(new String[0]); + String[] resourcePaths = resourcePathList.toArray(new String[0]); + String mainScript = scriptWithPackagePath; mainScript = mainScript.replaceAll("/", "."); if (mainScript.endsWith(RutaEngine.SCRIPT_FILE_EXTENSION)) { @@ -203,7 +213,7 @@ public class RutaBuilder extends Abstrac counter++; } ClassLoader classloader = new URLClassLoader(urls); - build(basicTS, basicE, typeSystem, engine, sm, scriptPaths, descriptorPaths, classloader); + build(basicTS, basicE, typeSystem, engine, sm, scriptPaths, descriptorPaths, resourcePaths, classloader); IPath tsPath = Path.fromPortableString(typeSystem); IPath ePath = Path.fromPortableString(engine); @@ -215,7 +225,7 @@ public class RutaBuilder extends Abstrac private void build(String basicTypesystem, String basicEngine, String typeSystemDest, String engineDest, RutaDescriptorInformation sm, String[] scriptPaths, - String[] enginePaths, ClassLoader classloader) { + String[] enginePaths, String[] resourcePaths, ClassLoader classloader) { RutaDescriptorBuilder builder = null; try { URL tsUrl = new File(basicTypesystem).toURI().toURL(); @@ -280,7 +290,7 @@ public class RutaBuilder extends Abstrac option.setImportByName(store.getBoolean(RutaCorePreferences.BUILDER_IMPORT_BY_NAME)); option.setResolveImports(store.getBoolean(RutaCorePreferences.BUILDER_RESOLVE_IMPORTS)); option.setClassLoader(classloader); - builder.build(sm, typeSystemDest, engineDest, option, scriptPaths, enginePaths); + builder.build(sm, typeSystemDest, engineDest, option, scriptPaths, enginePaths, resourcePaths); } catch (Exception e) { DLTKCore.error(e.getMessage(), e); if (DLTKCore.DEBUG_PARSER) { Modified: uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaProjectUtils.java URL: http://svn.apache.org/viewvc/uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaProjectUtils.java?rev=1710743&r1=1710742&r2=1710743&view=diff ============================================================================== --- uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaProjectUtils.java (original) +++ uima/ruta/trunk/ruta-ep-ide/src/main/java/org/apache/uima/ruta/ide/core/builder/RutaProjectUtils.java Tue Oct 27 08:37:02 2015 @@ -266,6 +266,13 @@ public class RutaProjectUtils { result.addAll(getReferencedDescriptorFolders(proj)); return result; } + + public static List<IFolder> getAllResourceFolders(IProject proj) throws CoreException { + List<IFolder> result = new ArrayList<IFolder>(); + result.addAll(getResourceFolders(proj)); + result.addAll(getReferencedResourceFolders(proj)); + return result; + } public static List<IFolder> getReferencedDescriptorFolders(IProject proj) throws CoreException { return getReferencedDescriptorFolders(proj, new HashSet<IProject>()); @@ -283,6 +290,24 @@ public class RutaProjectUtils { } } return result; + } + + public static List<IFolder> getReferencedResourceFolders(IProject proj) throws CoreException { + return getReferencedDescriptorFolders(proj, new HashSet<IProject>()); + } + + public static List<IFolder> getReferencedResourceFolders(IProject proj, + Collection<IProject> visited) throws CoreException { + List<IFolder> result = new ArrayList<IFolder>(); + Collection<IProject> referencedProjects = getReferencedProjects(proj, new HashSet<IProject>()); + for (IProject eachProject : referencedProjects) { + if (!visited.contains(eachProject)) { + result.addAll(RutaProjectUtils.getResourceFolders(eachProject)); + visited.add(eachProject); + result.addAll(getReferencedResourceFolders(eachProject, visited)); + } + } + return result; } public static Collection<IProject> getReferencedProjects(IProject proj,