Straightforward conversion. Still usages left that need deeper
investigation how to be done proper.
Some long time commented code removed as java formatter breaks trailing
whitespaces on save.
Change-Id: If74259bed5735b0d4cc98fc2cfa609c9c53c80c9
Signed-off-by: Alexander Kurtakov <akurtako@redhat.com>
The check-code-cleanliness CI jobs have not been running recently,
so this commit is to the code up to those minor changes
Change-Id: I9fb4b0213dec558f58c5ca718b3d2685564ef456
This language settings provider lets you specify the path to the
compile_commands.json and reuses existing build output parsers to figure out all
the language entries for each file to be used while indexing. With this, there
is no need to do a full build and in fact no need to have a working build
configured in CDT for indexing to work and be fully configured. This is
especially useful for non-CMake build systems that have no existing integration
in CDT but indexing would still works with little effort. The build output
parser (GCC, MSVC, etc) is selectable as part of the configuration of the CDB
provider. There is also an option to exclude any file that is not present in
the CDB. This option is useful for large projects in order to speed up indexing
but also to increase index accuracy (conflicting symbol names, etc).
Change-Id: If21455ec529f9e162cdf3e5aff7a1bca83e362f6
Signed-off-by: Marc-Andre Laperle <malaperle@gmail.com>
- add new checkIfQuotedOption() method to GnuMakefileGenerator
- have ensurePathIsGNUMakeTargetRuleCompatibleSyntax() look to
see if the path is actually an option with path in which case
if it is quoted, do not try to escape white space
Change-Id: I67a286962ba67acb75d1f8c29cac47069ab07353
Problem:
========
Common builder invokes the build on all the referenced projects. For the
markers creation, the project on which build is invoked by user is used,
that is incorrect. Once all the referenced projects are built, the
actual project starts building and removes all the markers associated
with it, hence the markers created previously for referenced projects
are removed and now clicking on error/warning in build console of
referenced projects will not open source file because of missing
markers.
Fix:
====
Always set the correct project being built for markers creation using
setCurrentProject(..) API.
Change-Id: Ief051ac664ea964816fdcbe7f2f54bcf43caa212
Signed-off-by: Umair Sair <umair_sair@hotmail.com>
Problem:
========
filterConfigsToBuild(..) always filters the configs that are once added
to set irrespective if it has been built or not. Consider scenario where
there are three project a, b, c and a depends on b & c and b depends on
c. When a is built, filterConfigsToBuild(..) returns configs of b and c.
Then b starts building and filterConfigsToBuild(..) doesn't return
config of c because its already in set. This is wrong and it should
return config of c because it is not yet built and b depends on it.
Fix:
====
If a referenced config by any project/config is not yet built,
filterConfigsToBuild(..) shouldn't filter it.
Change-Id: I5fbe77789f14ce3114200998070a7461069c98ab
Signed-off-by: Umair Sair <umair_sair@hotmail.com>
The constructor's body and the rest of the class was already using
IToolChain.
Change-Id: I905e15dcedb6c3280c271bf3c47ef6f1e898d3b9
Signed-off-by: Clément Hurlin <clement.hurlin@provenrun.com>
- generateMakefiles() requires similar patch for the top build
directory like regenerateMakefiles().
- need to extend the check in isGeneratedResource for config
directories located in subdirectory of the project root.
Change-Id: Id1809e216aee54524bc6cb072f8883ea5a202b61
Signed-off-by: Dorothea Pilz-Roeder <dorothea.pilz-roeder@advantest.com>
managed build
Allow clients extend GnuMakefileGenerator and allow them to provide a
different top build output directory.
Change-Id: I37dd96089f6f4bed6f4255def4bef193fb27e7e4
Signed-off-by: Dorothea Pilz-Roeder <dorothea.pilz-roeder@advantest.com>
When cloning build config, all its childrens' rebuildState and dirty
state are maintained except for the states of AdditionalInput and
InputOrder.
With this change, we also retain their rebuildState and dirty state,
if it is a clone (that is, copyId is true in the InputType).
Change-Id: I63b2d38d0065e50357887bfccb340d458d2f4441
Signed-off-by: Philip Langer <planger@eclipsesource.com>
The previous alignment of all the warnings/ignores
led to too many warnings that weren't there before. This
commit relaxes them a bit.
The core/org.eclipse.cdt.core/.settings/org.eclipse.jdt.core.prefs
is still the "master" copy, with
releng/scripts/check_code_cleanliness.sh containing the
exceptions that apply to test plug-ins.
Change-Id: Ibd4e31ade0b42b31e7cbe5a94f06c6fc15183a56
Some files which has other cleanups applied meant they needed to be
reformatted again. e.g. the removing of type parameters shortened
some lines of code that meant the wrapping changed.
Change-Id: I68ca09567b9530cc2a085c33923642b6de2ec77b
Command used:
# Remove space at eol in comments
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^(#.*)[ \t]+$/\1/' {} +
# Remove space at eol in blank lines
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/^[ \t]+$//' {} +
# Replace escaped spaces at eol with unicode
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\ $/\1\\u0020/' {} +
# Replace unescaped spaces at eol with unicode
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\]) $/\1\\u0020/' {} +
# Replace escaped tabs at eol with unicode
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\\\t$/\1\\u0009/' {} +
# Replace unescaped tabs at eol with unicode
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/([^\\])\t$/\1\\u0009/' {} +
# Stage all changes
git add -A .
# trim any remaining whitespace and then identify and fixup
# manually
# Only dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/MessagesForDebugVM.properties
# needed this due to missing newline at end of the file
find . ! -path "./.git/*" -type f -name *.properties -exec sed -i -E 's/[ \t]+$//' {} +
Change-Id: I858f16891fe001f4f7e62d5a4f904146e891cd39
These were inserted in the past automatically by Eclipse but
newer tooling makes them redundant.
These were removed by doing a global find/replace on *.java files
using the following regular expression:
\t/\*\n\t \* \(non-Javadoc\)[^/]*/\n
Change-Id: I59d3248020f10934fde1dda5b5a31e20bb188e19
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Remove redundant type arguments
and completing the wizard
Change-Id: Iaecc7010f097b4b1fabd29ccaa34ccb23a716fbf
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Organize Imports
and completing the wizard
Change-Id: Ia7b305a4c967d0e6f4e8fb8c1041e7028b24006c
This was done by selecting all projects in Eclipse then
Source -> Clean Up... -> choosing:
- Format source code
- Remove trailing white spaces on all lines
and completing the wizard
Change-Id: I63685372c6bcc67719bcf145123bcb72e5b00394
The releng/scripts/apply_jdt_prefs_to_all_projects.sh was run to
copy standard settings to all other projects.
Change-Id: I4436c947d7f0142f56b709e661379c3eb54f666b
Just check for the resource being accessible immediately before trying
to delete markers of it.
Change-Id: Ic359dc5a5a865a981847c6da1dd2e8cc312b3bd9
Signed-off-by: Michael Keppler <Michael.Keppler@gmx.de>
Changed GCC build parser to handle simple defines like "-D FOO"
and defines them to 1.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=534454
Change-Id: Ic9065914bc82dafc43d0814f4fed27a26eeeeb28
Signed-off-by: Eric Woestman <woestman@ensoftcorp.com>
The UI is using ManagedBuildManager to build a specified set of
configurations.
Insead of duplicating the logic (since clean does not support argument
transfer from HeadlessBuilder all the way to CommonBuilder), call the
public function for building a set of configurations.
WARNING: This fix is relying on a race condition in
ManagedBuildManager.buildConfigurations() since that method swaps the
"active configuration" while invoking the builder for the clean target.
Change-Id: I422a22e43a0acbef85420c04028475d61ad2ff85
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Execute the pre and post build steps as part of the build when using
the internal builder in parallel mode.
Change-Id: I840da0d7025597dc5b3edc1bb54a5ca45b6e2e86
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Signed-off-by: Samuel Hultgren <samuel.hultgren@st.com>
When building a project with parallel builder using internal builder,
the entire project is rebuilt even if an incremental build was issued.
Store the rebuild state so that next build knows what has already been
compiled.
Change-Id: I1d1836f072bf13b03423fde7b5c427d41e47391e
Signed-off-by: Samuel Hultgren <samuel.hultgren@st.com>
Allow applicabilityCalculator to hide optionCategory items that are
located on the toolchain. Show in the schema that
applicabilityCalculator is a valid attribute for optionCategory.
Change-Id: I6adb22b0af2a2c7fe45ea142049fcc2687d105b9
Signed-off-by: Torbjörn Svensson <torbjorn.svensson@st.com>
Consider the superclass value when setting pre & post build steps, error
parsers, tool commands & tool command line patterns to avoid changing
the .cproject file unnecessary
Change-Id: Ida323982fe5bce7b0dd9b70eb23a6ee778be5403
Signed-off-by: William Riley <william.riley@renesas.com>
Store a flag to indicate if an empty or null list. Existing projects
without flag will be considered as non-empty when loaded to maintain
existing behaviour for them.
Change-Id: I745c887eb2888910c6e76d5bc057d592a3d8fb3a
Signed-off-by: William Riley <william.riley@renesas.com>
- add IOptionalBuildObjectPropertiesContainer interface to use for
objects that supply optional build properties
- add new IOptionalBuildProperties interface that defines
optional build properties donated by external plug-ins
- add new
- change IConfiguration to an IOptionalBuildObjectPropertiesContainer
- change IManagedProject to be an
IOptionalBuildObjectPropertiesContainer
- fix ProcessClosure to ensure that readers are not null before
accessing them
- fix Container launch delegate to look at project optional
build properties for active configuration to fetch connection
and image info and use said info to find a matching
launch or create a new one
- have Container launch delegate use the image name as part of
the launch config name
- have Container launch short-cut also use the project's
optional build properties for the active config to get
connection and image information before any defaulting
- change AutotoolsNewMarkerGenerator to store the command
launcher as an ICommandLauncher
- add new CommandLauncherFactory extension to cdt.core that
allows plug-ins to specify a CommandLauncherFactory that
will return an ICommandLauncher based on the project
- add macros for new extension to CCorePlugin
- add new CommandLauncherManager class that loads
CommandLauncherFactory extensions and is used to give
an ICommandLauncher wrapper that will go through the list
of CommandLauncherFactory extensions until one returns
non-null ICommandLauncher
- add code to RemoteCommandLauncher so it will use the
CommandLauncherManager to get the local launcher
- also change RemoteCommandLauncher to check at execution
time whether the command is local and in that case use
the local command launcher
- add new ICommandLauncherFactory interface
- add new ContainerCommandLauncher to launch
- add new ContainerCommandLauncherFactory class for returning
a ContainerCommandLauncher instance to launch commands
in a Docker Container
- change MakeBuilder to use CommandLauncherManager to get
its ICommandLauncher
- change CommandBuilder to use CommandLauncherManager too
- ditto for Builder and AbstractBuiltinSpecsDetector and
ExternalToolInvoker
- change Configuration to load/store optional build properties
as well as return the properties to get/set
- ditto for MultiConfiguration
- change ManagedProject to implement IOptionalBuildOptionProperties
interface
- ditto for ProjectType
- create new OptionalBuildProperties class to store optional
build properties for a configuration
- bump cdt.docker.launcher to 1.1.0
- use CommandLauncherFactory extension to define
ContainerCommandLauncherFactory
- add optional ContainerPropertyTab which allows the end-user to
optionally choose to build a C/C++ project in a Container
and specify the connection/image to use
- in LanguageSettingsSerializableSettings class, call the
CommandLauncherManager getLanguageSettingEntries method
to get the massaged language setting entries based on the
current list
- in LanguageSettingsProviderSerializer, try and get the
pooled entries using the cfg description so that it will
have the project and can use the CommandLauncherManager
to get entries from image
- in ContainerCommandLauncherFactory move cached headers under
a HEADERS directory in the plug-in area
- create a sub-directory for the connection and a sub-directory
for the image based on cleansed names
- store the real names of the connection and image to use
later in the DockerHeaderPreferencePage
- modify LanguageSettingsEntriesTab to force the horizontal
scroll bar to appear (this is a bug in SWT SashForm support
and the fix here isn't quite correct, but is better)
- add new DockerHeaderPreferencePage that allows user to
remove cached headers from images
- change C/C++ Docker preferences to be titled: Docker Container
- fix LanguageSettingsWorkspaceProvider.getSettingEntries method
to use the CommandLauncherManager so entries will be transformed
to use cached headers
- add BaseDatabindingModel class
- add DataVolumeModel class to model a volume mount
- add ContainerPropertyVolumes model to model volume specification
and selected volumes
- add properties to ContainerCommandLauncher to represent
volumes and selected volumes for a configuration
- add ContainerDataVolumeDialog for specifying a volume
mount by the end-user
- add a null detector for cfgDescription in
LanguageSettingsSerializableProvider
- fix AutotoolsNewMakeGenerator.getWinOSType to not specify "." for
working dir
- fix GCCBuiltinSpecsDetectorCygwin to not map paths to Cygwin if
the current configuration is enabled for container build
- add logic to ContainerCommandLauncher to look for Windows
file formats and change them to unix format and map
any "." working dir to be /tmp
- fix ContainerLauncherConfigurationDelegate similarly
- fix AbstractBuiltinSpecsDetector to pass in the current
configuration description when getting the CommandLauncher
since the current configuration may not be the active
configuration
- change ContainerPropertyTab to add Elf and GNU Elf binary parsers
when build in Container is chosen so that output executables
are treated as Binaries by the CDT project
- add documentationl for the ContainerPropertyTab in Build Settings and
the Data Volume dialog pop-up it brings up
- change CommandBuilder to accept a project as an argument
to its constructor and to pass this as an argument to
the CommandLauncherManager
- have StepBuilder pass project when creating a CommandBuilder
Change-Id: Ia78488b93056e6ec7ca83a6c87b3a9d2b9424943