--- groovy.grailsproject/src/org/netbeans/modules/groovy/grailsproject/classpath/ProjectClassPathImplementation.java +++ groovy.grailsproject/src/org/netbeans/modules/groovy/grailsproject/classpath/ProjectClassPathImplementation.java @@ -126,10 +126,14 @@ private List getPath() { assert Thread.holdsLock(this); + BuildConfig buildConfig = ((GrailsProject) projectConfig.getProject()).getBuildConfig(); + buildConfig.reload(); List result = new ArrayList(); // lib directory from project root addLibs(projectRoot, result); + List compileDeps = buildConfig.getCompileDependencies(); + addJars(compileDeps.toArray(new File[compileDeps.size()]),result,false); // FIXME move this to plugin specific support // http://grails.org/GWT+Plugin @@ -162,7 +166,7 @@ } // in-place plugins - List localPlugins = ((GrailsProject) projectConfig.getProject()).getBuildConfig().getLocalPlugins(); + List localPlugins = buildConfig.getLocalPlugins(); for (GrailsPlugin plugin : localPlugins) { if (plugin.getPath() != null) { addLibs(plugin.getPath(), result); @@ -172,7 +176,7 @@ // project plugins File oldPluginsDir = pluginsDir; - File currentPluginsDir = ((GrailsProject) projectConfig.getProject()).getBuildConfig().getProjectPluginsDir(); + File currentPluginsDir = buildConfig.getProjectPluginsDir(); if (pluginsDir == null || !pluginsDir.equals(currentPluginsDir)) { LOGGER.log(Level.FINE, "Project plugins dir changed from {0} to {1}", @@ -187,7 +191,7 @@ // global plugins // TODO philosophical question: Is the global plugin boot or compile classpath? File oldGlobalPluginsDir = globalPluginsDir; - File currentGlobalPluginsDir = ((GrailsProject) projectConfig.getProject()).getBuildConfig().getGlobalPluginsDir(); + File currentGlobalPluginsDir = buildConfig.getGlobalPluginsDir(); if (globalPluginsDir == null || !globalPluginsDir.equals(currentGlobalPluginsDir)) { LOGGER.log(Level.FINE, "Project plugins dir changed from {0} to {1}", new Object[] {pluginsDir, currentPluginsDir}); @@ -211,6 +215,7 @@ // global plugins listener updateListener(listenerPluginsLib, oldGlobalPluginsDir, currentGlobalPluginsDir); + return Collections.unmodifiableList(result); } @@ -250,6 +255,10 @@ private static void addJars(File dir, List result, boolean recurse) { File[] jars = dir.listFiles(); + addJars(jars,result,recurse); + } + + private static void addJars(File[] jars, List result, boolean recurse) { if (jars != null) { for (File f : jars) { try {