[581691] Allow missing version natures to be ignored
https://bugs.eclipse.org/bugs/show_bug.cgi?id=581691
diff --git a/features/org.eclipse.oomph.all-feature/feature.xml b/features/org.eclipse.oomph.all-feature/feature.xml
index 2dd54a9..1f52dd5 100644
--- a/features/org.eclipse.oomph.all-feature/feature.xml
+++ b/features/org.eclipse.oomph.all-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.all"
label="%featureName"
- version="2.1.0.qualifier"
+ version="2.2.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.all-feature/pom.xml b/features/org.eclipse.oomph.all-feature/pom.xml
index b4c9573..af369b5 100644
--- a/features/org.eclipse.oomph.all-feature/pom.xml
+++ b/features/org.eclipse.oomph.all-feature/pom.xml
@@ -22,7 +22,7 @@
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.all</artifactId>
- <version>2.1.0-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.oomph.version-feature/feature.xml b/features/org.eclipse.oomph.version-feature/feature.xml
index a8380dc..9979157 100644
--- a/features/org.eclipse.oomph.version-feature/feature.xml
+++ b/features/org.eclipse.oomph.version-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.version"
label="%featureName"
- version="1.17.0.qualifier"
+ version="1.18.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.version-feature/pom.xml b/features/org.eclipse.oomph.version-feature/pom.xml
index 2cbd989..3033180 100644
--- a/features/org.eclipse.oomph.version-feature/pom.xml
+++ b/features/org.eclipse.oomph.version-feature/pom.xml
@@ -20,6 +20,6 @@
</parent>
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.version</artifactId>
- <version>1.17.0-SNAPSHOT</version>
+ <version>1.18.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/features/org.eclipse.oomph.version.headless-feature/feature.xml b/features/org.eclipse.oomph.version.headless-feature/feature.xml
index 308f813..90e51b2 100644
--- a/features/org.eclipse.oomph.version.headless-feature/feature.xml
+++ b/features/org.eclipse.oomph.version.headless-feature/feature.xml
@@ -12,7 +12,7 @@
<feature
id="org.eclipse.oomph.version.headless"
label="%featureName"
- version="1.15.0.qualifier"
+ version="1.16.0.qualifier"
provider-name="%providerName"
license-feature="org.eclipse.oomph.license"
license-feature-version="0.0.0">
diff --git a/features/org.eclipse.oomph.version.headless-feature/pom.xml b/features/org.eclipse.oomph.version.headless-feature/pom.xml
index c16df62..32aaf96 100644
--- a/features/org.eclipse.oomph.version.headless-feature/pom.xml
+++ b/features/org.eclipse.oomph.version.headless-feature/pom.xml
@@ -20,6 +20,6 @@
</parent>
<groupId>org.eclipse.oomph.features</groupId>
<artifactId>org.eclipse.oomph.version.headless</artifactId>
- <version>1.15.0-SNAPSHOT</version>
+ <version>1.16.0-SNAPSHOT</version>
<packaging>eclipse-feature</packaging>
</project>
diff --git a/plugins/org.eclipse.oomph.version.ui/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.version.ui/META-INF/MANIFEST.MF
index f9eb90e..e8b74f2 100644
--- a/plugins/org.eclipse.oomph.version.ui/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.version.ui/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.oomph.version.ui;singleton:=true
-Bundle-Version: 1.14.0.qualifier
+Bundle-Version: 1.15.0.qualifier
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -15,15 +15,15 @@
org.eclipse.jface.text;bundle-version="[3.5.0,4.0.0)",
org.eclipse.ui;bundle-version="[3.5.0,4.0.0)",
org.eclipse.ui.ide;bundle-version="[3.5.0,4.0.0)",
- org.eclipse.oomph.ui;bundle-version="[1.16.0,2.0.0)",
- org.eclipse.oomph.version;bundle-version="[1.12.0,2.0.0)";visibility:=reexport,
+ org.eclipse.oomph.ui;bundle-version="[1.18.0,2.0.0)",
+ org.eclipse.oomph.version;bundle-version="[1.14.0,2.0.0)";visibility:=reexport,
org.eclipse.pde.core;bundle-version="[3.5.0,4.0.0)",
org.eclipse.pde.api.tools;bundle-version="[1.0.0,2.0.0)";resolution:=optional
-Export-Package: org.eclipse.oomph.version.ui;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.version.ui.actions;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.version.ui.dialogs;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.version.ui.preferences;version="1.14.0";x-internal:=true,
- org.eclipse.oomph.version.ui.quickfixes;version="1.14.0";x-friends:="org.eclipse.oomph.version.tests",
- org.eclipse.oomph.version.ui.views;version="1.14.0";x-internal:=true
+Export-Package: org.eclipse.oomph.version.ui;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.version.ui.actions;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.version.ui.dialogs;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.version.ui.preferences;version="1.15.0";x-internal:=true,
+ org.eclipse.oomph.version.ui.quickfixes;version="1.15.0";x-friends:="org.eclipse.oomph.version.tests",
+ org.eclipse.oomph.version.ui.views;version="1.15.0";x-internal:=true
Eclipse-BuddyPolicy: dependent
Automatic-Module-Name: org.eclipse.oomph.version.ui
diff --git a/plugins/org.eclipse.oomph.version.ui/pom.xml b/plugins/org.eclipse.oomph.version.ui/pom.xml
index af960a4..1e48d81 100644
--- a/plugins/org.eclipse.oomph.version.ui/pom.xml
+++ b/plugins/org.eclipse.oomph.version.ui/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.version.ui</artifactId>
- <version>1.14.0-SNAPSHOT</version>
+ <version>1.15.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ConfigurationDialog.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ConfigurationDialog.java
index 2397bcb..b009a79 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ConfigurationDialog.java
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ConfigurationDialog.java
@@ -64,6 +64,8 @@
private Button ignoreFeatureContentRedundancyButton;
+ private Button ignoreMissingNatureButton;
+
private Button checkFeatureClosureCompletenessButton;
private Button checkFeatureClosureContentButton;
@@ -174,6 +176,11 @@
ignoreFeatureContentRedundancyButton.setSelection(values.isIgnoreFeatureContentRedundancy());
ignoreFeatureContentRedundancyButton.addSelectionListener(buttonListener);
+ ignoreMissingNatureButton = new Button(composite, SWT.CHECK);
+ ignoreMissingNatureButton.setText(Messages.ConfigurationDialog_IgnoreMissingNature);
+ ignoreMissingNatureButton.setSelection(values.isIgnoreMissingVersionNature());
+ ignoreMissingNatureButton.addSelectionListener(buttonListener);
+
checkFeatureClosureCompletenessButton = new Button(composite, SWT.CHECK);
checkFeatureClosureCompletenessButton.setText(Messages.ConfigurationDialog_checkFeatureClosureCompletenessButton_text);
checkFeatureClosureCompletenessButton.setSelection(values.isCheckFeatureClosureCompleteness());
@@ -226,6 +233,7 @@
values.setIgnoreMissingExportVersions(ignoreMissingExportVersionsButton.getSelection());
values.setIgnoreFeatureContentChanges(ignoreFeatureContentChangesButton.getSelection());
values.setIgnoreFeatureContentRedundancy(ignoreFeatureContentRedundancyButton.getSelection());
+ values.setIgnoreMissingVersionNature(ignoreMissingNatureButton.getSelection());
values.setCheckFeatureClosureCompleteness(checkFeatureClosureCompletenessButton.getSelection());
values.setCheckFeatureClosureContent(checkFeatureClosureContentButton.getSelection());
values.setCheckMavenPom(checkMavenPomButton.getSelection());
@@ -305,6 +313,12 @@
}
@Override
+ public boolean isIgnoreMissingVersionNature()
+ {
+ return values.isIgnoreMissingVersionNature();
+ }
+
+ @Override
public boolean isCheckFeatureClosureCompleteness()
{
return values.isCheckFeatureClosureCompleteness();
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ExtendedConfigurationDialog.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ExtendedConfigurationDialog.java
index d5c6cf4..fc82698 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ExtendedConfigurationDialog.java
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/ExtendedConfigurationDialog.java
@@ -59,6 +59,7 @@
Messages.ExtendedConfigurationDialog_column_ignoreMissingPackageExportVersions),
new ColumnHandler(IVersionBuilderArguments.IGNORE_CONTENT_CHANGES_ARGUMENT, Messages.ExtendedConfigurationDialog_column_ignoreFeatureChanges),
new ColumnHandler(IVersionBuilderArguments.IGNORE_CONTENT_REDUNDANCY_ARGUMENT, Messages.ExtendedConfigurationDialog_column_ignoreFeatureRedundancy),
+ new ColumnHandler(IVersionBuilderArguments.IGNORE_MISSING_NATURE_ARGUMENT, Messages.ExtendedConfigurationDialog_IgnoreMissingVersionNature),
new ColumnHandler(IVersionBuilderArguments.CHECK_CLOSURE_COMPLETENESS_ARGUMENT,
Messages.ExtendedConfigurationDialog_column_checkFeatureClosureCompleteness),
new ColumnHandler(IVersionBuilderArguments.CHECK_CLOSURE_CONTENT_ARGUMENT, Messages.ExtendedConfigurationDialog_column_checkFeatureClosureContent),
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/Messages.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/Messages.java
index dce9b57..ee67d8d 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/Messages.java
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/Messages.java
@@ -49,6 +49,8 @@
public static String ConfigurationDialog_error_cantDoRedundancyAndCompletenessChecksAtSameTime;
+ public static String ConfigurationDialog_IgnoreMissingNature;
+
public static String ExtendedConfigurationDialog_title;
public static String ExtendedConfigurationDialog_message;
@@ -79,6 +81,8 @@
public static String ExtendedConfigurationDialog_column_project;
+ public static String ExtendedConfigurationDialog_IgnoreMissingVersionNature;
+
static
{
NLS.initializeMessages(BUNDLE_NAME, Messages.class);
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/messages.properties b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/messages.properties
index 179c008..ab41824 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/messages.properties
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/dialogs/messages.properties
@@ -23,6 +23,7 @@
ConfigurationDialog_checkFeatureClosureContentButton_text=Check feature closure content
ConfigurationDialog_checkMavenPomButton_text=Check Maven POM
ConfigurationDialog_error_cantDoRedundancyAndCompletenessChecksAtSameTime=Redundancy and completeness checks cannot be done at the same time.
+ConfigurationDialog_IgnoreMissingNature=Ignore missing version nature
ExtendedConfigurationDialog_title=Extended Version Builder Configuration
ExtendedConfigurationDialog_message=Select a release specification file and check additional settings.
@@ -39,3 +40,4 @@
ExtendedConfigurationDialog_column_checkFeatureClosureContent=Check feature closure content
ExtendedConfigurationDialog_column_checkMavenPom=Check Maven POM
ExtendedConfigurationDialog_column_project=Project
+ExtendedConfigurationDialog_IgnoreMissingVersionNature=Ignore missing version nature
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/IgnoreMissingVersionNatureResolution.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/IgnoreMissingVersionNatureResolution.java
new file mode 100644
index 0000000..a38a3b4
--- /dev/null
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/IgnoreMissingVersionNatureResolution.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (c) 2023 Eclipse contributors and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v20.html
+ */
+package org.eclipse.oomph.version.ui.quickfixes;
+
+import org.eclipse.oomph.internal.version.VersionBuilderArguments;
+import org.eclipse.oomph.internal.version.VersionNature;
+import org.eclipse.oomph.version.Markers;
+import org.eclipse.oomph.version.ui.Activator;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.resources.IProject;
+
+/**
+ * @author Ed Merks
+ */
+public class IgnoreMissingVersionNatureResolution extends AbstractResolution
+{
+ public IgnoreMissingVersionNatureResolution(IMarker marker)
+ {
+ super(marker, Messages.IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_label, Activator.CORRECTION_CONFIGURE_GIF);
+ }
+
+ @Override
+ protected boolean isApplicable(IMarker marker)
+ {
+ String requiredNature = Markers.getQuickFixNature(marker);
+ return VersionNature.NATURE_ID.equals(requiredNature);
+ }
+
+ @Override
+ public String getDescription()
+ {
+ return Messages.IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_description;
+ }
+
+ @Override
+ protected void apply(IMarker marker) throws Exception
+ {
+ IProject project = marker.getResource().getProject();
+ VersionBuilderArguments arguments = new VersionBuilderArguments(project);
+ arguments.setIgnoreMissingVersionNature(true);
+ arguments.applyTo(project);
+ }
+}
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/Messages.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/Messages.java
index 8876a86..af9ce30 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/Messages.java
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/Messages.java
@@ -21,6 +21,10 @@
public static String ConfigureResolution_label;
+ public static String IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_description;
+
+ public static String IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_label;
+
public static String IgnoreRootProjectsResolution_label;
public static String IgnoreRootProjectsResolution_description;
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/VersionResolutionGenerator.java b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/VersionResolutionGenerator.java
index a71f9b6..8916a71 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/VersionResolutionGenerator.java
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/VersionResolutionGenerator.java
@@ -92,6 +92,7 @@
if (nature != null)
{
resolutions.add(new AddNatureResolution(marker, nature));
+ resolutions.add(new IgnoreMissingVersionNatureResolution(marker));
}
return resolutions.toArray(new IMarkerResolution[resolutions.size()]);
diff --git a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/messages.properties b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/messages.properties
index 59a0645..f2abf5f 100644
--- a/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/messages.properties
+++ b/plugins/org.eclipse.oomph.version.ui/src/org/eclipse/oomph/version/ui/quickfixes/messages.properties
@@ -12,6 +12,8 @@
ConfigureResolution_label=Configure the project to ignore the problem
+IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_description=Configure the project to ignore references to projects missing the version management nature
+IgnoreMissingVersionNatureResolution_IgnoreMissingVersionNature_label=Ignore missing version nature
IgnoreRootProjectsResolution_label=Ignore root components for release
IgnoreRootProjectsResolution_description=Configure ''{0}'' to stop checking that non-root elements are referenced by a root element. To re-enable this checking, use the Preferences dialog to manage the release check mode.
diff --git a/plugins/org.eclipse.oomph.version/META-INF/MANIFEST.MF b/plugins/org.eclipse.oomph.version/META-INF/MANIFEST.MF
index d06baa7..19b6073 100644
--- a/plugins/org.eclipse.oomph.version/META-INF/MANIFEST.MF
+++ b/plugins/org.eclipse.oomph.version/META-INF/MANIFEST.MF
@@ -1,7 +1,7 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-SymbolicName: org.eclipse.oomph.version;singleton:=true
-Bundle-Version: 1.13.0.qualifier
+Bundle-Version: 1.14.0.qualifier
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -13,8 +13,8 @@
org.eclipse.core.resources;bundle-version="[3.5.0,4.0.0)",
org.eclipse.pde.core;bundle-version="[3.5.0,4.0.0)",
org.eclipse.oomph.util;bundle-version="[1.20.0,2.0.0)";visibility:=reexport
-Export-Package: org.eclipse.oomph.internal.version;version="1.13.0";x-friends:="org.eclipse.oomph.version.ui",
- org.eclipse.oomph.version;version="1.13.0"
+Export-Package: org.eclipse.oomph.internal.version;version="1.14.0";x-friends:="org.eclipse.oomph.version.ui",
+ org.eclipse.oomph.version;version="1.14.0"
Eclipse-RegisterBuddy: org.eclipse.oomph.util
Eclipse-BuddyPolicy: dependent
Automatic-Module-Name: org.eclipse.oomph.version
diff --git a/plugins/org.eclipse.oomph.version/pom.xml b/plugins/org.eclipse.oomph.version/pom.xml
index 3d4315e..69d9e09 100644
--- a/plugins/org.eclipse.oomph.version/pom.xml
+++ b/plugins/org.eclipse.oomph.version/pom.xml
@@ -20,7 +20,7 @@
</parent>
<groupId>org.eclipse.oomph</groupId>
<artifactId>org.eclipse.oomph.version</artifactId>
- <version>1.13.0-SNAPSHOT</version>
+ <version>1.14.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
<build>
diff --git a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/IVersionBuilderArguments.java b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/IVersionBuilderArguments.java
index 9d169c9..faa4c5d 100644
--- a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/IVersionBuilderArguments.java
+++ b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/IVersionBuilderArguments.java
@@ -46,6 +46,8 @@
public static final String IGNORE_CONTENT_REDUNDANCY_ARGUMENT = "ignore.feature.content.redundancy"; //$NON-NLS-1$
+ public static final String IGNORE_MISSING_NATURE_ARGUMENT = "ignore.missing.nature"; //$NON-NLS-1$
+
public static final String CHECK_CLOSURE_COMPLETENESS_ARGUMENT = "check.feature.closure.completeness"; //$NON-NLS-1$
public static final String CHECK_CLOSURE_CONTENT_ARGUMENT = "check.feature.closure.content"; //$NON-NLS-1$
@@ -76,6 +78,8 @@
public boolean isIgnoreFeatureContentRedundancy();
+ public boolean isIgnoreMissingVersionNature();
+
public boolean isCheckFeatureClosureCompleteness();
public boolean isCheckFeatureClosureContent();
diff --git a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilder.java b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilder.java
index 992e2b8..5c634f9 100644
--- a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilder.java
+++ b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilder.java
@@ -544,26 +544,29 @@
}
Markers.deleteAllMarkers(componentModelFile, Markers.VERSION_NATURE_PROBLEM);
- for (IElement child : element.getChildren())
+ if (!arguments.isIgnoreMissingVersionNature())
{
- IModel childComponentModel = ReleaseManager.INSTANCE.getComponentModel(child);
- if (childComponentModel != null)
+ for (IElement child : element.getChildren())
{
- IResource childComponentModelFile = childComponentModel.getUnderlyingResource();
- if (childComponentModelFile != null)
+ IModel childComponentModel = ReleaseManager.INSTANCE.getComponentModel(child);
+ if (childComponentModel != null)
{
- IProject childProject = childComponentModelFile.getProject();
- if (!childProject.hasNature(VersionNature.NATURE_ID))
+ IResource childComponentModelFile = childComponentModel.getUnderlyingResource();
+ if (childComponentModelFile != null)
{
- Type childType = child.getType();
- String name = child.getName();
- String label = childType.toString();
- String tag = childType.getTag();
- String msg = NLS.bind(Messages.VersionBuilder_MissingVersionBuilder_message, label, name);
- IMarker marker = addFeatureChildMarker(componentModelFile, Markers.VERSION_NATURE_PROBLEM, tag, name, msg, child.isLicenseFeature(), false,
- null, IMarker.SEVERITY_ERROR);
- marker.setAttribute(Markers.QUICK_FIX_NATURE, VersionNature.NATURE_ID);
- marker.setAttribute(Markers.QUICK_FIX_PROJECT, childProject.getName());
+ IProject childProject = childComponentModelFile.getProject();
+ if (!childProject.hasNature(VersionNature.NATURE_ID))
+ {
+ Type childType = child.getType();
+ String name = child.getName();
+ String label = childType.toString();
+ String tag = childType.getTag();
+ String msg = NLS.bind(Messages.VersionBuilder_MissingVersionBuilder_message, label, name);
+ IMarker marker = addFeatureChildMarker(componentModelFile, Markers.VERSION_NATURE_PROBLEM, tag, name, msg, child.isLicenseFeature(), false,
+ null, IMarker.SEVERITY_ERROR);
+ marker.setAttribute(Markers.QUICK_FIX_NATURE, VersionNature.NATURE_ID);
+ marker.setAttribute(Markers.QUICK_FIX_PROJECT, childProject.getName());
+ }
}
}
}
diff --git a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilderArguments.java b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilderArguments.java
index 93bb169..20c13b8 100644
--- a/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilderArguments.java
+++ b/plugins/org.eclipse.oomph.version/src/org/eclipse/oomph/internal/version/VersionBuilderArguments.java
@@ -183,6 +183,17 @@
return "true".equals(get(IVersionBuilderArguments.IGNORE_CONTENT_REDUNDANCY_ARGUMENT)); //$NON-NLS-1$
}
+ public void setIgnoreMissingVersionNature(boolean value)
+ {
+ setBoolean(IVersionBuilderArguments.IGNORE_MISSING_NATURE_ARGUMENT, value);
+ }
+
+ @Override
+ public boolean isIgnoreMissingVersionNature()
+ {
+ return "true".equals(get(IVersionBuilderArguments.IGNORE_MISSING_NATURE_ARGUMENT)); //$NON-NLS-1$
+ }
+
public void setIgnoreFeatureContentRedundancy(boolean value)
{
setBoolean(IVersionBuilderArguments.IGNORE_CONTENT_REDUNDANCY_ARGUMENT, value);