diff -r 6241017ed9aa api.java/apichanges.xml --- a/api.java/apichanges.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/api.java/apichanges.xml Wed Mar 03 17:56:59 2010 +0100 @@ -73,6 +73,20 @@ + + + Introducing AnnotationProcessingQuery.Result.processorOptions + + + + + +

Adding AnnotationProcessingQuery.Result.processorOptions() to return options passed to annotation processors (-Akey=value). +

+
+ + +
Introducing AnnotationProcessingQuery diff -r 6241017ed9aa api.java/manifest.mf --- a/api.java/manifest.mf Wed Mar 03 14:34:25 2010 +0100 +++ b/api.java/manifest.mf Wed Mar 03 17:56:59 2010 +0100 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.api.java/1 -OpenIDE-Module-Specification-Version: 1.25 +OpenIDE-Module-Specification-Version: 1.26 OpenIDE-Module-Localizing-Bundle: org/netbeans/api/java/queries/Bundle.properties AutoUpdate-Show-In-Client: false diff -r 6241017ed9aa api.java/src/org/netbeans/api/java/queries/AnnotationProcessingQuery.java --- a/api.java/src/org/netbeans/api/java/queries/AnnotationProcessingQuery.java Wed Mar 03 14:34:25 2010 +0100 +++ b/api.java/src/org/netbeans/api/java/queries/AnnotationProcessingQuery.java Wed Mar 03 17:56:59 2010 +0100 @@ -40,6 +40,8 @@ package org.netbeans.api.java.queries; import java.net.URL; +import java.util.Collections; +import java.util.Map; import javax.swing.event.ChangeListener; import org.netbeans.api.annotations.common.CheckForNull; import org.netbeans.api.annotations.common.NonNull; @@ -103,6 +105,13 @@ */ public @CheckForNull URL sourceOutputDirectory(); + /**Returns options passed to annotation processors (-Akey=value) + * + * @return a map of key=value options passed to annotation processors + * @since org.netbeans.api.java/1 1.26 + */ + public @NonNull Map processorOptions(); + /**Add a {@link ChangeListener}. * * @param l the listener @@ -129,6 +138,10 @@ return null; } + public Map processorOptions() { + return Collections.emptyMap(); + } + public void addChangeListener(ChangeListener l) {} public void removeChangeListener(ChangeListener l) {} diff -r 6241017ed9aa apisupport.project/manifest.mf --- a/apisupport.project/manifest.mf Wed Mar 03 14:34:25 2010 +0100 +++ b/apisupport.project/manifest.mf Wed Mar 03 17:56:59 2010 +0100 @@ -6,5 +6,5 @@ org.netbeans.api.javahelp.Help OpenIDE-Module-Layer: org/netbeans/modules/apisupport/project/ui/resources/layer.xml AutoUpdate-Show-In-Client: false -OpenIDE-Module-Specification-Version: 1.39 +OpenIDE-Module-Specification-Version: 1.40 diff -r 6241017ed9aa apisupport.project/nbproject/project.xml --- a/apisupport.project/nbproject/project.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/apisupport.project/nbproject/project.xml Wed Mar 03 17:56:59 2010 +0100 @@ -70,7 +70,7 @@ 1 - 1.25 + 1.26 diff -r 6241017ed9aa apisupport.project/src/org/netbeans/modules/apisupport/project/queries/AnnotationProcessingQueryImpl.java --- a/apisupport.project/src/org/netbeans/modules/apisupport/project/queries/AnnotationProcessingQueryImpl.java Wed Mar 03 14:34:25 2010 +0100 +++ b/apisupport.project/src/org/netbeans/modules/apisupport/project/queries/AnnotationProcessingQueryImpl.java Wed Mar 03 17:56:59 2010 +0100 @@ -40,6 +40,8 @@ package org.netbeans.modules.apisupport.project.queries; import java.net.URL; +import java.util.Collections; +import java.util.Map; import javax.swing.event.ChangeListener; import org.netbeans.api.java.queries.AnnotationProcessingQuery.Result; import org.netbeans.modules.apisupport.project.NbModuleProject; @@ -95,6 +97,11 @@ } @Override + public Map processorOptions() { + return Collections.emptyMap(); + } + + @Override public void addChangeListener(ChangeListener l) {} @Override diff -r 6241017ed9aa java.api.common/manifest.mf --- a/java.api.common/manifest.mf Wed Mar 03 14:34:25 2010 +0100 +++ b/java.api.common/manifest.mf Wed Mar 03 17:56:59 2010 +0100 @@ -1,4 +1,4 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.api.common/0 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/api/common/resources/Bundle.properties -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 diff -r 6241017ed9aa java.api.common/nbproject/project.xml --- a/java.api.common/nbproject/project.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/java.api.common/nbproject/project.xml Wed Mar 03 17:56:59 2010 +0100 @@ -20,7 +20,7 @@ 1 - 1.18 + 1.26 diff -r 6241017ed9aa java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectProperties.java --- a/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectProperties.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.api.common/src/org/netbeans/modules/java/api/common/project/ProjectProperties.java Wed Mar 03 17:56:59 2010 +0100 @@ -73,6 +73,10 @@ * @since org.netbeans.modules.java.api.common/0 1.14 */ public static final String ANNOTATION_PROCESSING_SOURCE_OUTPUT = "annotation.processing.source.output"; //NOI18N + /** + * @since org.netbeans.modules.java.api.common/0 1.15 + */ + public static final String ANNOTATION_PROCESSING_PROCESSOR_OPTIONS = "annotation.processing.processor.options"; //NOI18N public static final String JAVAC_CLASSPATH = "javac.classpath"; //NOI18N /** * @since org.netbeans.modules.java.api.common/0 1.14 diff -r 6241017ed9aa java.api.common/src/org/netbeans/modules/java/api/common/queries/AnnotationProcessingQueryImpl.java --- a/java.api.common/src/org/netbeans/modules/java/api/common/queries/AnnotationProcessingQueryImpl.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.api.common/src/org/netbeans/modules/java/api/common/queries/AnnotationProcessingQueryImpl.java Wed Mar 03 17:56:59 2010 +0100 @@ -47,7 +47,10 @@ import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; +import java.util.Collections; import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.Map; import java.util.Set; import java.util.logging.Level; import java.util.logging.Logger; @@ -74,16 +77,18 @@ private final String annotationProcessorsProperty; private final Set properties; private final String sourceOutputProperty; + private final String processorOptionsProperty; - public AnnotationProcessingQueryImpl(AntProjectHelper helper, PropertyEvaluator evaluator, String annotationProcessingEnabledProperty, String annotationProcessingEnabledInEditorProperty, String runAllAnnotationProcessorsProperty, String annotationProcessorsProperty, String sourceOutputProperty) { + public AnnotationProcessingQueryImpl(AntProjectHelper helper, PropertyEvaluator evaluator, String annotationProcessingEnabledProperty, String annotationProcessingEnabledInEditorProperty, String runAllAnnotationProcessorsProperty, String annotationProcessorsProperty, String sourceOutputProperty, String processorOptionsProperty) { this.helper = helper; this.evaluator = evaluator; this.annotationProcessingEnabledProperty = annotationProcessingEnabledProperty; this.annotationProcessingEnabledInEditorProperty = annotationProcessingEnabledInEditorProperty; this.runAllAnnotationProcessorsProperty = runAllAnnotationProcessorsProperty; this.annotationProcessorsProperty = annotationProcessorsProperty; - this.properties = new HashSet(Arrays.asList(annotationProcessingEnabledProperty, annotationProcessingEnabledInEditorProperty, runAllAnnotationProcessorsProperty, annotationProcessorsProperty, sourceOutputProperty)); + this.properties = new HashSet(Arrays.asList(annotationProcessingEnabledProperty, annotationProcessingEnabledInEditorProperty, runAllAnnotationProcessorsProperty, annotationProcessorsProperty, sourceOutputProperty, processorOptionsProperty)); this.sourceOutputProperty = sourceOutputProperty; + this.processorOptionsProperty = processorOptionsProperty; } private Reference cache; @@ -146,6 +151,29 @@ return null; } + @Override + public Map processorOptions() { + Map options = new LinkedHashMap(); + String prop = evaluator.getProperty(processorOptionsProperty); + if (prop != null) { + for (String option : prop.split("\\s")) { //NOI18N + if (option.startsWith("-A") && option.length() > 2) { //NOI18N + int sepIndex = option.indexOf('='); //NOI18N + String key = null; + String value = null; + if (sepIndex == -1) + key = option.substring(2); + else if (sepIndex >= 3) { + key = option.substring(2, sepIndex); + value = (sepIndex < option.length() - 1) ? option.substring(sepIndex + 1) : null; + } + options.put(key, value); + } + } + } + return options; + } + public void addChangeListener(ChangeListener l) { cs.addChangeListener(l); } diff -r 6241017ed9aa java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java --- a/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.api.common/src/org/netbeans/modules/java/api/common/queries/QuerySupport.java Wed Mar 03 17:56:59 2010 +0100 @@ -293,11 +293,12 @@ * @param runAllAnnotationProcessorsProperty when true, {@link Result#annotationProcessorsToRun()} will return null * @param annotationProcessorsProperty should contain comma separated list of annotation processors to run (will be returned from {@link Result#annotationProcessorsToRun()}) * @param sourceOutputProperty directory to which the annotation processors generate source files (will be returned from {@link Result#sourceOutputProperty()}) + * @param processorOptionsProperty options passed to the annotation processors (-Akey=value) * @return a {@link AnnotationProcessingQueryImplementation} to provide annotation processing configuration data for this project. * @since org.netbeans.modules.java.api.common/0 1.14 */ public static AnnotationProcessingQueryImplementation createAnnotationProcessingQuery(AntProjectHelper helper, PropertyEvaluator evaluator, - String annotationProcessingEnabledProperty, String annotationProcessingEnabledInEditorProperty, String runAllAnnotationProcessorsProperty, String annotationProcessorsProperty, String sourceOutputProperty) { - return new AnnotationProcessingQueryImpl(helper, evaluator, annotationProcessingEnabledProperty, annotationProcessingEnabledInEditorProperty, runAllAnnotationProcessorsProperty, annotationProcessorsProperty, sourceOutputProperty); + String annotationProcessingEnabledProperty, String annotationProcessingEnabledInEditorProperty, String runAllAnnotationProcessorsProperty, String annotationProcessorsProperty, String sourceOutputProperty, String processorOptionsProperty) { + return new AnnotationProcessingQueryImpl(helper, evaluator, annotationProcessingEnabledProperty, annotationProcessingEnabledInEditorProperty, runAllAnnotationProcessorsProperty, annotationProcessorsProperty, sourceOutputProperty, processorOptionsProperty); } } diff -r 6241017ed9aa java.freeform/manifest.mf --- a/java.freeform/manifest.mf Wed Mar 03 14:34:25 2010 +0100 +++ b/java.freeform/manifest.mf Wed Mar 03 17:56:59 2010 +0100 @@ -1,6 +1,6 @@ Manifest-Version: 1.0 OpenIDE-Module: org.netbeans.modules.java.freeform/1 -OpenIDE-Module-Specification-Version: 1.14 +OpenIDE-Module-Specification-Version: 1.15 OpenIDE-Module-Localizing-Bundle: org/netbeans/modules/java/freeform/Bundle.properties OpenIDE-Module-Layer: org/netbeans/modules/java/freeform/resources/layer.xml AutoUpdate-Show-In-Client: false diff -r 6241017ed9aa java.freeform/nbproject/project.xml --- a/java.freeform/nbproject/project.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/java.freeform/nbproject/project.xml Wed Mar 03 17:56:59 2010 +0100 @@ -61,7 +61,7 @@ 1 - 1.25 + 1.26 diff -r 6241017ed9aa java.freeform/src/org/netbeans/modules/java/freeform/AnnotationProcessingQueryImpl.java --- a/java.freeform/src/org/netbeans/modules/java/freeform/AnnotationProcessingQueryImpl.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.freeform/src/org/netbeans/modules/java/freeform/AnnotationProcessingQueryImpl.java Wed Mar 03 17:56:59 2010 +0100 @@ -40,6 +40,8 @@ package org.netbeans.modules.java.freeform; import java.net.URL; +import java.util.Collections; +import java.util.Map; import javax.swing.event.ChangeListener; import org.netbeans.api.java.queries.AnnotationProcessingQuery.Result; import org.netbeans.spi.java.queries.AnnotationProcessingQueryImplementation; @@ -63,8 +65,12 @@ public @Override URL sourceOutputDirectory() { return null; } + public @Override Map processorOptions() { + return Collections.emptyMap(); + } public @Override void addChangeListener(ChangeListener l) {} public @Override void removeChangeListener(ChangeListener l) {} + }; } diff -r 6241017ed9aa java.j2seproject/nbproject/project.properties --- a/java.j2seproject/nbproject/project.properties Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/nbproject/project.properties Wed Mar 03 17:56:59 2010 +0100 @@ -39,7 +39,7 @@ javac.compilerargs=-Xlint -Xlint:-serial javac.source=1.6 -spec.version.base=1.35.0 +spec.version.base=1.36.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff -r 6241017ed9aa java.j2seproject/nbproject/project.xml --- a/java.j2seproject/nbproject/project.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/nbproject/project.xml Wed Mar 03 17:56:59 2010 +0100 @@ -70,7 +70,7 @@ 1 - 1.25 + 1.26 @@ -131,7 +131,7 @@ 0-1 - 1.14 + 1.15 diff -r 6241017ed9aa java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java --- a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProject.java Wed Mar 03 17:56:59 2010 +0100 @@ -361,7 +361,7 @@ ExtraSourceJavadocSupport.createExtraJavadocQueryImplementation(this, helper, eval), LookupMergerSupport.createJFBLookupMerger(), QuerySupport.createBinaryForSourceQueryImplementation(this.sourceRoots, this.testRoots, this.helper, this.eval), //Does not use APH to get/put properties/cfgdata - QuerySupport.createAnnotationProcessingQuery(this.helper, this.eval, ProjectProperties.ANNOTATION_PROCESSING_ENABLED, ProjectProperties.ANNOTATION_PROCESSING_ENABLED_IN_EDITOR, ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT) + QuerySupport.createAnnotationProcessingQuery(this.helper, this.eval, ProjectProperties.ANNOTATION_PROCESSING_ENABLED, ProjectProperties.ANNOTATION_PROCESSING_ENABLED_IN_EDITOR, ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT, ProjectProperties.ANNOTATION_PROCESSING_PROCESSOR_OPTIONS) ); lookup = base; // in case LookupProvider's call Project.getLookup return LookupProviderSupport.createCompositeLookup(base, "Projects/org-netbeans-modules-java-j2seproject/Lookup"); //NOI18N diff -r 6241017ed9aa java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java --- a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/src/org/netbeans/modules/java/j2seproject/J2SEProjectGenerator.java Wed Mar 03 17:56:59 2010 +0100 @@ -252,6 +252,7 @@ ep.setProperty(ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, "true"); // NOI18N ep.setProperty(ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ""); // NOI18N ep.setProperty(ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT, "${build.generated.sources.dir}/ap-source-output"); // NOI18N + ep.setProperty(ProjectProperties.ANNOTATION_PROCESSING_PROCESSOR_OPTIONS, ""); // NOI18N ep.setProperty("dist.dir", "dist"); // NOI18N ep.setComment("dist.dir", new String[] {"# " + NbBundle.getMessage(J2SEProjectGenerator.class, "COMMENT_dist.dir")}, false); // NOI18N ep.setProperty("dist.jar", "${dist.dir}/" + validatePropertyValue(name) + ".jar"); // NOI18N diff -r 6241017ed9aa java.j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateProjectImpl.java --- a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateProjectImpl.java Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/src/org/netbeans/modules/java/j2seproject/UpdateProjectImpl.java Wed Mar 03 17:56:59 2010 +0100 @@ -192,6 +192,7 @@ ensureValueExists(cachedProperties, ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, "true"); //NOI18N ensureValueExists(cachedProperties, ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ""); //NOI18N ensureValueExists(cachedProperties, ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT, "${build.generated.sources.dir}/ap-source-output"); //NOI18N + ensureValueExists(cachedProperties, ProjectProperties.ANNOTATION_PROCESSING_PROCESSOR_OPTIONS, ""); //NOI18N ensureValueExists(cachedProperties, ProjectProperties.JAVAC_PROCESSORPATH,"${" + ProjectProperties.JAVAC_CLASSPATH + "}"); //NOI18N ensureValueExists(cachedProperties, "javac.test.processorpath","${" + ProjectProperties.JAVAC_TEST_CLASSPATH + "}"); //NOI18N return cachedProperties; diff -r 6241017ed9aa java.j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl --- a/java.j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl Wed Mar 03 14:34:25 2010 +0100 +++ b/java.j2seproject/src/org/netbeans/modules/java/j2seproject/resources/build-impl.xsl Wed Mar 03 17:56:59 2010 +0100 @@ -432,6 +432,7 @@ + @@ -854,6 +855,7 @@ + diff -r 6241017ed9aa web.project/nbproject/project.xml --- a/web.project/nbproject/project.xml Wed Mar 03 14:34:25 2010 +0100 +++ b/web.project/nbproject/project.xml Wed Mar 03 17:56:59 2010 +0100 @@ -86,7 +86,7 @@ 1 - 1.18 + 1.26 @@ -236,7 +236,7 @@ 0-1 - 1.7 + 1.15 diff -r 6241017ed9aa web.project/src/org/netbeans/modules/web/project/WebProject.java --- a/web.project/src/org/netbeans/modules/web/project/WebProject.java Wed Mar 03 14:34:25 2010 +0100 +++ b/web.project/src/org/netbeans/modules/web/project/WebProject.java Wed Mar 03 17:56:59 2010 +0100 @@ -536,7 +536,7 @@ QuerySupport.createCompiledSourceForBinaryQuery(helper, evaluator(), getSourceRoots(), getTestSourceRoots(), new String[]{"build.classes.dir", "dist.war"}, new String[]{"build.test.classes.dir"}), QuerySupport.createJavadocForBinaryQuery(helper, evaluator(), new String[]{"build.classes.dir", "dist.war"}), - QuerySupport.createAnnotationProcessingQuery(helper, eval, ProjectProperties.ANNOTATION_PROCESSING_ENABLED, ProjectProperties.ANNOTATION_PROCESSING_ENABLED_IN_EDITOR, ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT), + QuerySupport.createAnnotationProcessingQuery(helper, eval, ProjectProperties.ANNOTATION_PROCESSING_ENABLED, ProjectProperties.ANNOTATION_PROCESSING_ENABLED_IN_EDITOR, ProjectProperties.ANNOTATION_PROCESSING_RUN_ALL_PROCESSORS, ProjectProperties.ANNOTATION_PROCESSING_PROCESSORS_LIST, ProjectProperties.ANNOTATION_PROCESSING_SOURCE_OUTPUT, ProjectProperties.ANNOTATION_PROCESSING_PROCESSOR_OPTIONS), new AntArtifactProviderImpl(), new ProjectXmlSavedHookImpl(), UILookupMergerSupport.createProjectOpenHookMerger(new ProjectOpenedHookImpl()),