Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java')
-rw-r--r--org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java13
1 files changed, 10 insertions, 3 deletions
diff --git a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java
index 8aba5a768e..4933b24e42 100644
--- a/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java
+++ b/org.eclipse.jdt.apt.core/src/org/eclipse/jdt/apt/core/internal/generatedfile/GeneratedSourceFolderManager.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2007 BEA Systems, Inc.
+ * Copyright (c) 2005, 2012 BEA Systems, Inc. and others
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -7,6 +7,7 @@
*
* Contributors:
* wharley@bea.com - initial API and implementation
+ * IBM Corporation - modified to fix https://bugs.eclipse.org/bugs/show_bug.cgi?id=185601
*******************************************************************************/
package org.eclipse.jdt.apt.core.internal.generatedfile;
@@ -51,6 +52,10 @@ import org.eclipse.jdt.core.JavaModelException;
* the enabled/disabled state or the folder name change. These changes are
* discovered via the preferenceChanged() method.
* <p>
+ * We attempt to update the classpath with an entry for the generated source
+ * folder if APT is enabled and there is no entry for this folder present
+ * on the classpath.
+ * <p>
* GeneratedSourceFolderManager is responsible only for the folder itself, not
* its contents. Contents are managed by @see GeneratedFileManager.
*
@@ -161,7 +166,9 @@ public class GeneratedSourceFolderManager {
/**
* Creates the generated source folder if necessary. This should be called just
* before doing a build.
- * No changes to the classpath will be made.
+ *
+ * Classpath will be updated with an entry for the generated source folder
+ * if it is not already added to the classpath. See bug 185601.
*/
public void ensureFolderExists(){
// If APT is disabled, do nothing.
@@ -182,7 +189,7 @@ public class GeneratedSourceFolderManager {
}
if (createOnDisk(srcFolder)) {
- if (isOnClasspath(srcFolder)) {
+ if (addToClasspath(srcFolder)) {
synchronized (this) {
// Only set _generatedSourceFolder if folder is on disk and on classpath.
_generatedSourceFolder = srcFolder;

Back to the top