From 583462c178a431b1330a071552f0b2cf970b6023 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 28 Nov 2025 09:55:19 +0100 Subject: [PATCH 1/8] Add DEVELOPER.md for developer notes (#25) --- DEVELOPER.md | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 DEVELOPER.md diff --git a/DEVELOPER.md b/DEVELOPER.md new file mode 100644 index 0000000..36a01e6 --- /dev/null +++ b/DEVELOPER.md @@ -0,0 +1,34 @@ + +# Developer notes + +## Development + +### installing tools needed + +### build + +command + +### run tests locally + +command + +### testing plugin in eclipse + + +## release process + +### git tag and github release + +create a tag in the repo +create a release in github + +### updating files + +download artifact "cppcheclipse-repository" from the github action "Java CI" +unzip the artifact and upload files to https://files.cppchecksolutions.com/cppcheclipse/ folder + +### publish plugin in marketplace + +to make sure that proper version info etc is shown in marketplace.. + From e240dac95643b8346196e6d40f89ebd6540252ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Marjam=C3=A4ki?= Date: Fri, 28 Nov 2025 17:43:49 +0100 Subject: [PATCH 2/8] Tweak DEVELOPER.md (#26) --- DEVELOPER.md | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/DEVELOPER.md b/DEVELOPER.md index 36a01e6..850d5bb 100644 --- a/DEVELOPER.md +++ b/DEVELOPER.md @@ -5,23 +5,28 @@ ### installing tools needed +TODO some commands/packages + ### build -command +TODO command ### run tests locally -command +TODO command ### testing plugin in eclipse +TODO write description ## release process -### git tag and github release +### version -create a tag in the repo -create a release in github + * Update version in the files see f260c53 + TODO right now this is done manually can it be done more automated? + * create a tag in the repo + * create a release in github ### updating files @@ -30,5 +35,9 @@ unzip the artifact and upload files to https://files.cppchecksolutions.com/cppch ### publish plugin in marketplace -to make sure that proper version info etc is shown in marketplace.. - +to make sure that proper version info etc is shown in marketplace. +https://marketplace.eclipse.org +login +goto cppcheclipse plugin +click on "Edit" button at the top +Add version From d60df59dd2db79e1b346e9c3a3e88e03c79e2a30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20Ramner=C3=B6?= Date: Tue, 13 Jan 2026 19:06:03 +0100 Subject: [PATCH 3/8] fix #18 / cppcheck init fail (#28) --- .../com/googlecode/cppcheclipse/ui/ToolchainSettings.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java index 461edb7..34550f8 100644 --- a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java +++ b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java @@ -179,7 +179,12 @@ protected Collection getIncludes(boolean onlyUserDefined) { if (includePathSetting instanceof ACPathEntry) { // let CDT do the resolution for all ACPathEntries which should cover all include settings ACPathEntry includePathEntry = (ACPathEntry) includePathSetting; - includePath = includePathEntry.getLocation().toFile(); + IPath location = includePathEntry.getLocation(); + if (location == null) { + continue; + } + + includePath = location.toFile(); } else { // make path absolute From 76c7906acd250f442b6905c01d7f99005131974b Mon Sep 17 00:00:00 2001 From: davidramnero Date: Thu, 2 Jul 2026 15:41:02 +0200 Subject: [PATCH 4/8] Added missing import of IPath for previous fail to init fix --- com.googlecode.cppcheclipse.parent/pom.xml | 5 +++++ .../com/googlecode/cppcheclipse/ui/ToolchainSettings.java | 1 + 2 files changed, 6 insertions(+) diff --git a/com.googlecode.cppcheclipse.parent/pom.xml b/com.googlecode.cppcheclipse.parent/pom.xml index 37967c3..165ee73 100644 --- a/com.googlecode.cppcheclipse.parent/pom.xml +++ b/com.googlecode.cppcheclipse.parent/pom.xml @@ -108,6 +108,11 @@ cocoa x86_64 + + macosx + cocoa + aarch64 + diff --git a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java index 34550f8..d96e11b 100644 --- a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java +++ b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java @@ -20,6 +20,7 @@ import org.eclipse.core.resources.IProject; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; +import org.eclipse.core.runtime.IPath; import com.googlecode.cppcheclipse.core.CppcheclipsePlugin; import com.googlecode.cppcheclipse.core.IToolchainSettings; From d6e226d7f19854b53b5cf405b29a78a164a0cb3b Mon Sep 17 00:00:00 2001 From: davidramnero Date: Mon, 20 Jul 2026 12:30:57 +0200 Subject: [PATCH 5/8] Read include paths from both C and C++ language settings --- .../cppcheclipse/ui/ToolchainSettings.java | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java index d96e11b..6705343 100644 --- a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java +++ b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java @@ -3,6 +3,7 @@ import java.io.File; import java.net.URI; import java.util.Collection; +import java.util.LinkedHashSet; import java.util.LinkedList; import java.util.List; @@ -36,11 +37,12 @@ * */ public class ToolchainSettings implements IToolchainSettings { - private static final String EXTENSION_CPP = "cpp"; private final List languageSettings; private final ICConfigurationDescription activeConfiguration; private final IProject project; private final IWorkspaceRoot root; + private static final String GCC_LANGUAGE_ID = "org.eclipse.cdt.core.gcc"; + private static final String GPP_LANGUAGE_ID = "org.eclipse.cdt.core.g++"; public ToolchainSettings(IProject project) throws IllegalStateException { languageSettings = new LinkedList(); @@ -67,13 +69,10 @@ public ToolchainSettings(IProject project) throws IllegalStateException { ICLanguageSetting[] allLanguageSettings = folderDescription .getLanguageSettings(); - // fetch the include settings from the first tool which supports c - for (ICLanguageSetting languageSetting : allLanguageSettings) { - String extensions[] = languageSetting.getSourceExtensions(); - for (String extension : extensions) { - if (EXTENSION_CPP.equalsIgnoreCase(extension)) { //$NON-NLS-1$ - languageSettings.add(languageSetting); - } + for (ICLanguageSetting ls : allLanguageSettings) { + String id = ls.getLanguageId(); + if (GCC_LANGUAGE_ID.equals(id) || GPP_LANGUAGE_ID.equals(id)) { + languageSettings.add(ls); } } @@ -161,7 +160,7 @@ protected Collection resolveIncludePath(File includePath) * @return all include folders in a list */ protected Collection getIncludes(boolean onlyUserDefined) { - Collection paths = new LinkedList(); + Collection paths = new LinkedHashSet(); IWorkspaceRoot workspaceRoot = project.getWorkspace().getRoot(); URI workspaceUri = workspaceRoot.getLocationURI(); From 4fb455797d18221a74d05ea178db356248c5ebde Mon Sep 17 00:00:00 2001 From: davidramnero Date: Tue, 4 Aug 2026 12:38:02 +0200 Subject: [PATCH 6/8] look at source extensions instead --- .../cppcheclipse/ui/ToolchainSettings.java | 34 ++++++++++++++++--- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java index 6705343..0fca7f0 100644 --- a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java +++ b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java @@ -41,8 +41,10 @@ public class ToolchainSettings implements IToolchainSettings { private final ICConfigurationDescription activeConfiguration; private final IProject project; private final IWorkspaceRoot root; - private static final String GCC_LANGUAGE_ID = "org.eclipse.cdt.core.gcc"; - private static final String GPP_LANGUAGE_ID = "org.eclipse.cdt.core.g++"; + private static final String[] C_EXTENSIONS = { "c" }; + private static final String[] CPP_EXTENSIONS = { + "cpp", "cxx", "cc", "c++", "ccm", "cxxm", "c++m" + }; public ToolchainSettings(IProject project) throws IllegalStateException { languageSettings = new LinkedList(); @@ -70,9 +72,13 @@ public ToolchainSettings(IProject project) throws IllegalStateException { .getLanguageSettings(); for (ICLanguageSetting ls : allLanguageSettings) { - String id = ls.getLanguageId(); - if (GCC_LANGUAGE_ID.equals(id) || GPP_LANGUAGE_ID.equals(id)) { - languageSettings.add(ls); + String[] exts = ls.getSourceExtensions(); + for (String ext : exts) { + if (containsIgnoreCase(C_EXTENSIONS, ext) + || containsIgnoreCase(CPP_EXTENSIONS, ext)) { + languageSettings.add(ls); + break; + } } } @@ -237,4 +243,22 @@ protected Collection getSymbols(boolean onlyUserDefined) { } return symbols; } + + /** + * Helper function to check if array of strings contain a given string, ignoring case. + * + * @param values + * Array of strings to check + * @param value + * String to check against + * @return whether values contains value (ignoring case) + */ + private static boolean containsIgnoreCase(String[] values, String value) { + for (String s : values) { + if (s.equalsIgnoreCase(value)) { + return true; + } + } + return false; + } } From 49fe18c51316574624e6ede72f22397ce88f79eb Mon Sep 17 00:00:00 2001 From: davidramnero Date: Tue, 4 Aug 2026 13:16:02 +0200 Subject: [PATCH 7/8] updated extensions to match what is used in cppcheck source code --- .../src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java index 0fca7f0..39b04c2 100644 --- a/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java +++ b/com.googlecode.cppcheclipse.ui/src/com/googlecode/cppcheclipse/ui/ToolchainSettings.java @@ -41,9 +41,9 @@ public class ToolchainSettings implements IToolchainSettings { private final ICConfigurationDescription activeConfiguration; private final IProject project; private final IWorkspaceRoot root; - private static final String[] C_EXTENSIONS = { "c" }; + private static final String[] C_EXTENSIONS = { ".c", ".cl" }; private static final String[] CPP_EXTENSIONS = { - "cpp", "cxx", "cc", "c++", "ccm", "cxxm", "c++m" + ".cpp", ".cxx", ".cc", ".c++", ".tpp", ".txx", ".ipp", ".ixx" }; public ToolchainSettings(IProject project) throws IllegalStateException { From c4fcbfac4aa6af126f98b63127b0ef853a1a694f Mon Sep 17 00:00:00 2001 From: davidramnero Date: Tue, 11 Aug 2026 11:25:04 +0200 Subject: [PATCH 8/8] maintenance / update version to 1.2.4 --- .../META-INF/MANIFEST.MF | 2 +- .../pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- com.googlecode.cppcheclipse.core/pom.xml | 2 +- .../feature.xml | 32 ++++--------------- com.googlecode.cppcheclipse.feature/pom.xml | 2 +- com.googlecode.cppcheclipse.parent/pom.xml | 2 +- .../category.xml | 2 +- .../pom.xml | 2 +- com.googlecode.cppcheclipse.target/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- com.googlecode.cppcheclipse.ui.tests/pom.xml | 2 +- .../META-INF/MANIFEST.MF | 2 +- com.googlecode.cppcheclipse.ui/pom.xml | 2 +- 14 files changed, 20 insertions(+), 38 deletions(-) diff --git a/com.googlecode.cppcheclipse.core.tests/META-INF/MANIFEST.MF b/com.googlecode.cppcheclipse.core.tests/META-INF/MANIFEST.MF index 59d3fb2..2af1062 100644 --- a/com.googlecode.cppcheclipse.core.tests/META-INF/MANIFEST.MF +++ b/com.googlecode.cppcheclipse.core.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: cppcheclipse Core Tests Bundle-SymbolicName: com.googlecode.cppcheclipse.core.tests -Bundle-Version: 1.2.3.qualifier +Bundle-Version: 1.2.4.qualifier Bundle-Vendor: Konrad Windszus Fragment-Host: com.googlecode.cppcheclipse.core;bundle-version="0.9.8" Bundle-RequiredExecutionEnvironment: JavaSE-1.6 diff --git a/com.googlecode.cppcheclipse.core.tests/pom.xml b/com.googlecode.cppcheclipse.core.tests/pom.xml index 551fc71..65d8417 100644 --- a/com.googlecode.cppcheclipse.core.tests/pom.xml +++ b/com.googlecode.cppcheclipse.core.tests/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.core.tests diff --git a/com.googlecode.cppcheclipse.core/META-INF/MANIFEST.MF b/com.googlecode.cppcheclipse.core/META-INF/MANIFEST.MF index dc64ded..cea0b27 100644 --- a/com.googlecode.cppcheclipse.core/META-INF/MANIFEST.MF +++ b/com.googlecode.cppcheclipse.core/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: cppcheclipse Core Bundle-SymbolicName: com.googlecode.cppcheclipse.core;singleton:=true -Bundle-Version: 1.2.3.qualifier +Bundle-Version: 1.2.4.qualifier Bundle-Activator: com.googlecode.cppcheclipse.core.CppcheclipsePlugin Require-Bundle: org.eclipse.core.runtime;bundle-version="3.5.0", org.eclipse.ui;bundle-version="3.5.0", diff --git a/com.googlecode.cppcheclipse.core/pom.xml b/com.googlecode.cppcheclipse.core/pom.xml index 06832bb..7cbc138 100644 --- a/com.googlecode.cppcheclipse.core/pom.xml +++ b/com.googlecode.cppcheclipse.core/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.core diff --git a/com.googlecode.cppcheclipse.feature/feature.xml b/com.googlecode.cppcheclipse.feature/feature.xml index ad4cb3c..2cdd4c5 100644 --- a/com.googlecode.cppcheclipse.feature/feature.xml +++ b/com.googlecode.cppcheclipse.feature/feature.xml @@ -2,7 +2,7 @@ @@ -233,44 +233,26 @@ litigation. + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> + version="0.0.0"/> diff --git a/com.googlecode.cppcheclipse.feature/pom.xml b/com.googlecode.cppcheclipse.feature/pom.xml index 50b18d9..359aeae 100644 --- a/com.googlecode.cppcheclipse.feature/pom.xml +++ b/com.googlecode.cppcheclipse.feature/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.feature diff --git a/com.googlecode.cppcheclipse.parent/pom.xml b/com.googlecode.cppcheclipse.parent/pom.xml index 165ee73..53ed8c2 100644 --- a/com.googlecode.cppcheclipse.parent/pom.xml +++ b/com.googlecode.cppcheclipse.parent/pom.xml @@ -5,7 +5,7 @@ 4.0.0 com.googlecode.cppcheclipse com.googlecode.cppcheclipse.parent - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT pom diff --git a/com.googlecode.cppcheclipse.repository/category.xml b/com.googlecode.cppcheclipse.repository/category.xml index 71180e0..a8f2847 100644 --- a/com.googlecode.cppcheclipse.repository/category.xml +++ b/com.googlecode.cppcheclipse.repository/category.xml @@ -1,6 +1,6 @@ - + diff --git a/com.googlecode.cppcheclipse.repository/pom.xml b/com.googlecode.cppcheclipse.repository/pom.xml index 1ef8d31..00e23cc 100644 --- a/com.googlecode.cppcheclipse.repository/pom.xml +++ b/com.googlecode.cppcheclipse.repository/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.repository diff --git a/com.googlecode.cppcheclipse.target/pom.xml b/com.googlecode.cppcheclipse.target/pom.xml index cd2f57d..6eba49b 100644 --- a/com.googlecode.cppcheclipse.target/pom.xml +++ b/com.googlecode.cppcheclipse.target/pom.xml @@ -5,7 +5,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml diff --git a/com.googlecode.cppcheclipse.ui.tests/META-INF/MANIFEST.MF b/com.googlecode.cppcheclipse.ui.tests/META-INF/MANIFEST.MF index 39813ff..cd1e73a 100644 --- a/com.googlecode.cppcheclipse.ui.tests/META-INF/MANIFEST.MF +++ b/com.googlecode.cppcheclipse.ui.tests/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: cppcheclipse UI Tests Bundle-SymbolicName: com.googlecode.cppcheclipse.ui.tests -Bundle-Version: 1.2.3.qualifier +Bundle-Version: 1.2.4.qualifier Bundle-Vendor: Konrad Windszus Fragment-Host: com.googlecode.cppcheclipse.ui;bundle-version="0.9.8" Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/com.googlecode.cppcheclipse.ui.tests/pom.xml b/com.googlecode.cppcheclipse.ui.tests/pom.xml index 58dd472..c7980c3 100644 --- a/com.googlecode.cppcheclipse.ui.tests/pom.xml +++ b/com.googlecode.cppcheclipse.ui.tests/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.ui.tests diff --git a/com.googlecode.cppcheclipse.ui/META-INF/MANIFEST.MF b/com.googlecode.cppcheclipse.ui/META-INF/MANIFEST.MF index ce2ace4..d1e8258 100644 --- a/com.googlecode.cppcheclipse.ui/META-INF/MANIFEST.MF +++ b/com.googlecode.cppcheclipse.ui/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: cppcheclipse UI Bundle-SymbolicName: com.googlecode.cppcheclipse.ui;singleton:=true -Bundle-Version: 1.2.3.qualifier +Bundle-Version: 1.2.4.qualifier Bundle-Activator: com.googlecode.cppcheclipse.ui.Activator Bundle-Vendor: Konrad Windszus Require-Bundle: org.eclipse.ui;bundle-version="3.4.0", diff --git a/com.googlecode.cppcheclipse.ui/pom.xml b/com.googlecode.cppcheclipse.ui/pom.xml index 60c6201..e231388 100644 --- a/com.googlecode.cppcheclipse.ui/pom.xml +++ b/com.googlecode.cppcheclipse.ui/pom.xml @@ -6,7 +6,7 @@ com.googlecode.cppcheclipse.parent com.googlecode.cppcheclipse - 1.2.3-SNAPSHOT + 1.2.4-SNAPSHOT ../com.googlecode.cppcheclipse.parent/pom.xml com.googlecode.cppcheclipse.ui