Add API to o.e.tools.templates.ui that hooks into the smart import
feature and allows easy implementation of configurators for various
CDT project types.
Project types that have a IGenerator may use this API to offer smart
import functionality by registering their implementation using the
org.eclipse.ui.ide.projectConfigurator extension point.
This change includes project import implementations for Meson and
CMake project types.
For these project types users can use the normal project import
workflow for their existing non-Eclipse CMake projects instead of
using the New Project Wizard. As an additional benefit, users
can now also import more than one project at a time, even nested
projects.
Change also includes SWTBot tests to exercise the feature.
Signed-off-by: Mat Booth <mat.booth@gmail.com>
Change-Id: I96589e86bee561aa200a4a4487549305765d6409
Exclude everything in */meson-private/* when generating meson
projects.
Signed-off-by: Mat Booth <mat.booth@gmail.com>
Change-Id: Id26c8dd695e5d09d158bb747b50e04544df706c9
The class overrode org.eclipse.core.runtime.Platform to
workaround bugs in the platform that have since been fixed.
As 32-bit x86 and PPC support has been removed this
class is no longer needed as all the code is now
unreachable anyway.
Change-Id: I01bb00b9203aa02663ff25ce36c4c14f22dadee5
Signed-off-by: jantje <eclipse@baeyens.it>
- change createBuildConfiguration() method in providers:
MesonBuildConfigurationProvider, CMakeBuildConfigurationProvider,
AutotoolsBuildConfigurationProvider,MakefileBuildConfigurationProvider
to not create a .x config name and instead use the found
IBuildConfiguration so the new CBuildConfiguration will be
overridden in the CBuildConfigurationManager
Change-Id: Ia5f460e879f3412f19a9dec7b88dd392714b54ca
- fix CMakeBuildConfigurationProvider.createBuildConfiguration() to
massage any image name and replace all slashes with underscores
- do the same for MakefileBuildConfigurationProvider and
MesonBuildConfigurationProvider
Change-Id: Ib09ade66059533f089084e50cba95d54e9d40547
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
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
- fix MesonBuildConfiguration to use startBuildProcess instead
of CommandLauncherManager
- change CBuildConfiguration startBuildProcess() method to accept
a build directory and to replace environment variables based
on input parameter
- fix CBuildConfiguration watchProcess routines to ensure that the
ReaderThreads have completed processing output to the console
- change StandardBuildConfiguration and CMakeBuildConfiguration to
pass the working directory to startBuildProcess
Change-Id: Icb4f2d076f0e6bb1513b20f6f198f720eae07e51
- add new NewManualNinjaTest to test the Run ninja context
menu item
- add a check that Project->Clean... works for Meson
projects in NewMesonProjectTest
- fix all tests to substitute the project location instead
of hard-coding it
- fix the build ninja code to use env to run so that
environment variables can be overridden from run ninja dialog
- add new test to AutomatedIntegrationSuite for Meson UI tests
Change-Id: I0e338df6935f343d6ffbce99a83265d252ea37a6
- fix MesonBuildConfiguration to check if any environment variables
have been specified in properties page and if so, to change
the command to run /usr/bin/env ENVVARS /bin/sh -c "meson ..."
- using env will cause the current env to be used (both locally
and in a Container where the env has been set up) and modify it
according to what the user specifies
Change-Id: Ide3997cf78edf65857dea3119f0a9d71679cfe68
- add new ICBuildConfiguration2 to keep API checks happy
- remove refreshScannerInfo method from ICBuildConfiguration and
put it in ICBuildConfiguration2
- make CBuildConfiguration implement ICBuildConfiguration2
- update ContainerPropertyVolumesModel to use new Docker plug-ins
using docker-client 8.9.2.
- fix MesonBuildConfiguration to use a job for each compile line being
processed, then wait until all jobs are done before causing
an reindex to occur (this will maximize parallelism when building
in Containers)
- fix ContainerCommandLauncherFactory to save the project so we
can exclude project directories when copying header files using
the new Docker Tooling interfaces
- fix CoreBuildLaunchBarTracker to use ICBuildConfiguration2
interface to make the call to refreshScannerInfo
Change-Id: I2138f5111614e7821e46c22731397a01035eac0a
- add support for Container build to Meson
- add fixes to MesonBuildConfiguration clean build to use sh -c
like normal meson build
- add new refreshScannerInfo method to MesonBuildConfiguration to
re-process the commands json file so indexing will correctly
switch from local to Container build and vice-versa
- add MESON_PROJECT_ARGUMENTS to IMesonConstants
- in MesonBuildConfigurationProvider getCBuildConfiguration
method, remove checks for toolChainfile and for Container
build, name the configuration based on the image name
Change-Id: Ia8a85c05e0cb9d46d2987ed4d39fcee914302467
- use sh -c to invoke meson and ninja commands so that
the default environment including PATH is set up
- don't bother trying to find the commands locally and
don't bother trying to find local environment (only
use env options from property page or run ninja command)
- add a check after running meson to ensure that
ninja.build file gets created, otherwise issue error
message and stop build
- fix comments for RunNinjaPage
- add future Container support by allowing a special
target OS when checking for isLocal build
Change-Id: Ie8d736c0909b44fe8db14265afbc8b05262b51f3
- Fix issue with Meson and changing toolchains since
Meson is based on CMake plug-ins
- Cleaned up add and remove of toolchain files and handling of when
a toolchain changes for a config
Change-Id: I147a30454c69e3d8d86fc50c561a1667ddfb5df3
- add new RunNinjaCommandHandler, RunNinja,
AbstractMesonCommandHandler, and
RunNinjaPage classes to support running ninja manually
with env variables added and options specified
- add a new build method to MesonBuildConfiguration which
specifies ninja options and environment variables
- add SWTImagesFactory for supplying the meson logo image
- add WizardMessages class for specifying messages for
meson ui wizards
- add new MesonUtils class and move stripEnvVars from
MesonBuildConfiguration to here
- add new constants to IMesonConstants interface
Change-Id: I8d635b2bd96792800bb07f4b3f1730be6e41eb24
- rewrite unconfigure Meson Property page logic to parse the
output of meson --help and form the controls accordingly
- do not add an entry for help option
- add environment variable text entry to unconfigured property
page to allow the user to add things such as CFLAGS=xxxxx
- fix MesonBuildConfiguration to only use the MESON_ENV property
when running meson for the first time and to prepend the
current environment first to ensure local path, etc.. is
still set, otherwise it won't be able to find commands it
needs such as execvp
- parse the environment text string to look for entries that
use single or double quotes so that entries may use the = sign
or spaces
- when building, have ninja use the -v option so that the compile
and link commands are output to the console
Change-Id: I40d04234a7de74417c43f4c39bb2e21c86deb8a2