Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The active Launch Target is now saved in the ICBuildConfiguration #1076

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

betamaxbandit
Copy link
Contributor

In addition to the active launch mode and toolchain, the active Launch Target is now used to determine the Core Build Configuration (ICBuildConfiguration).

The build output folder name now ends with the name of the Launch Target (eg: cmake.debug.win32.x86_64.Local)

Addresses Issue: CDT CMake Improvements #1000, IDE-82683-REQ-016 Launch Targets used in ICBuildConfiguration

Copy link

github-actions bot commented Feb 4, 2025

Test Results

   635 files  +   35     635 suites  +35   36m 35s ⏱️ + 23m 9s
11 427 tests +1 220  11 284 ✅ +1 100  143 💤 +120  0 ❌ ±0 
11 442 runs  +1 197  11 301 ✅ +1 079  141 💤 +118  0 ❌ ±0 

Results for commit c718fb0. ± Comparison against base commit f0c74ed.

♻️ This comment has been updated with latest results.

jonahgraham

This comment was marked as resolved.

@betamaxbandit

This comment was marked as resolved.

@jonahgraham

This comment was marked as resolved.

@betamaxbandit

This comment was marked as resolved.

jonahgraham

This comment was marked as resolved.

@betamaxbandit
Copy link
Contributor Author

betamaxbandit commented Feb 6, 2025

TODO:

  • Complete ## API Changes in CDT 12.0. section of CHANGELOG-API.md
  • Design an api to get the ICBuildConfiguration name, generated in ICBuildConfigurationProvider.createBuildConfiguration, which is duplicated in the following classes, almost identically:
    • CMakeBuildConfigurationProvider
    • AutotoolsBuildConfigurationProvider
    • MakefileBuildConfigurationProvider
    • MesonBuildConfigurationProvider
  • Complete CBuildConfigurationManagerTests

jonahgraham

This comment was marked as resolved.

Copy link
Contributor Author

@betamaxbandit betamaxbandit left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

still some work todo.

In addition to the active launch mode and toolchain, the active Launch
Target is now used to determine the Core Build Configuration
(ICBuildConfiguration).

The build output folder name now ends with the name of the Launch Target
(eg: cmake.debug.win32.x86_64.Local)

Additionally, API added to allow the ISV to configure the build output
folder name.

The ICBuildConfigurationProvider implementations, shown below, have been
tidied up to use common code.

  CMakeBuildConfigurationProvider
  AutotoolsBuildConfigurationProvider
  MakefileBuildConfigurationProvider
  MesonBuildConfigurationProvider

Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-016 Launch
Targets used in ICBuildConfiguration
Addresses Issue: CDT CMake Improvements eclipse-cdt#1000, IDE-82683-REQ-018 Build
output folder name
@betamaxbandit
Copy link
Contributor Author

DONE:

  • Complete ## API Changes in CDT 12.0. section of CHANGELOG-API.md
  • Design an api to get the ICBuildConfiguration name, generated in ICBuildConfigurationProvider.createBuildConfiguration, which is duplicated in the following classes, almost identically:
    CMakeBuildConfigurationProvider
    AutotoolsBuildConfigurationProvider
    MakefileBuildConfigurationProvider
    MesonBuildConfigurationProvider
  • Complete CBuildConfigurationManagerTests
  • Added ICBuildConfigurationProviderTests

TODO:

  • To investigate:
    In a Make project, changing the launch target to a new value causes this exception.
    Does not happen when the project is CMake or Meson.
!ENTRY org.eclipse.cdt.build.gcc.core 4 0 2025-02-11 13:56:03.234
!MESSAGE C:\Users\a5107948\cdt-main20250110b\runtime-cdtruntime2\make\build\make.run.win32.x86_64.gen2\.sc15162304364447728639.cpp
!STACK 0
java.nio.file.NoSuchFileException: C:\Users\a5107948\cdt-main20250110b\runtime-cdtruntime2\make\build\make.run.win32.x86_64.gen2\.sc15162304364447728639.cpp
	at java.base/sun.nio.fs.WindowsException.translateToIOException(WindowsException.java:85)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:103)
	at java.base/sun.nio.fs.WindowsException.rethrowAsIOException(WindowsException.java:108)
	at java.base/sun.nio.fs.WindowsFileSystemProvider.newByteChannel(WindowsFileSystemProvider.java:234)
	at java.base/java.nio.file.Files.newByteChannel(Files.java:379)
	at java.base/java.nio.file.Files.createFile(Files.java:657)
	at java.base/java.nio.file.TempFileHelper.create(TempFileHelper.java:136)
	at java.base/java.nio.file.TempFileHelper.createTempFile(TempFileHelper.java:159)
	at java.base/java.nio.file.Files.createTempFile(Files.java:878)
	at org.eclipse.cdt.build.gcc.core.GCCToolChain.getDefaultScannerInfo(GCCToolChain.java:459)
	at org.eclipse.cdt.core.build.CBuildConfiguration.getScannerInformation(CBuildConfiguration.java:787)
	at org.eclipse.cdt.internal.core.model.TranslationUnit.getScannerInfo(TranslationUnit.java:1070)
	at org.eclipse.cdt.internal.core.pdom.indexer.ProjectIndexerInputAdapter.getBuildConfiguration(ProjectIndexerInputAdapter.java:160)
	at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.getScannerInfo(AbstractIndexerTask.java:1030)
	at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.parseLinkage(AbstractIndexerTask.java:909)
	at org.eclipse.cdt.internal.core.pdom.AbstractIndexerTask.runTask(AbstractIndexerTask.java:572)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMIndexerTask.run(PDOMIndexerTask.java:164)
	at org.eclipse.cdt.internal.core.pdom.indexer.PDOMRebuildTask.run(PDOMRebuildTask.java:94)
	at org.eclipse.cdt.internal.core.pdom.PDOMIndexerJob.run(PDOMIndexerJob.java:160)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants