From 8a0b8b9760d18af2e826c00f41e0edc2d0773092 Mon Sep 17 00:00:00 2001 From: Igor Fedorenko Date: Tue, 13 Aug 2013 19:22:18 +0400 Subject: 414989 persist IClasspathEntryDescriptor#optionalDependency Signed-off-by: Igor Fedorenko --- .../src/org/eclipse/m2e/jdt/IClasspathManager.java | 8 ++++++++ .../org/eclipse/m2e/jdt/internal/ClasspathEntryDescriptor.java | 3 +++ 2 files changed, 11 insertions(+) diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/IClasspathManager.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/IClasspathManager.java index fd6062c0..4478b57e 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/IClasspathManager.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/IClasspathManager.java @@ -60,6 +60,14 @@ public interface IClasspathManager { */ public static final String POMDERIVED_ATTRIBUTE = "maven.pomderived"; //$NON-NLS-1$ + /** + * Name of IClasspathEntry attribute that is set to {@code true} for entries that correspond to optional Maven + * dependency. + * + * @since 1.5 + */ + public static final String OPTIONALDEPENDENCY_ATTRIBUTE = "maven.optionaldependency"; //$NON-NLS-1$ + /** * Maven dependency resolution scope constant indicating test scope. */ diff --git a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/ClasspathEntryDescriptor.java b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/ClasspathEntryDescriptor.java index ff33c691..77dbb569 100644 --- a/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/ClasspathEntryDescriptor.java +++ b/org.eclipse.m2e.jdt/src/org/eclipse/m2e/jdt/internal/ClasspathEntryDescriptor.java @@ -89,6 +89,9 @@ public class ClasspathEntryDescriptor implements IClasspathEntryDescriptor { if(scope != null) { attributes.put(IClasspathManager.SCOPE_ATTRIBUTE, scope); } + if(optionalDependency) { + attributes.put(IClasspathManager.OPTIONALDEPENDENCY_ATTRIBUTE, Boolean.toString(true)); + } IClasspathAttribute[] attributesArray = new IClasspathAttribute[attributes.size()]; int attributeIndex = 0; -- cgit v1.2.3