CDT Summit at EclipseCon 2012
We have a day scheduled at EclipseCon 2012 in Reston, VA on the Tuesday. To help plan for this meeting, please sign up and add any agenda items you'd like to see discussed.
EclipseCon information is here: http://www.eclipsecon.org/2012/
Time: 10:30 a.m. to 3:45 p.m. Room: Reston Suites A
All are invited, even if you didn't sign up :).
Attendees and Interests
- Doug Schaefer (QNX/RIM): build & usability: make it easier for new users to create projects
- Bill Swanson (Tilera): Integration into package, and Visualization (Talk: Wed Afternoon with Marc)
- Marc Khouzam (Ericsson): Debugging, Multicore (Visualizer talk Wed @ 5pm). Problem: how to get feedback, what the user wants ?
- Sergey Prigogin (Google): Support of C++ developers at Google; Make C++ better; Refactorings ([http://www.eclipsecon.org/2012/sessions/c-refactoring-now-real Refactoring Talk: Thu 3pm)
- Chris Recoskie (IBM): Rational Dev for Power / RDT; Static Analysis
- Leo Treggiari (Intel): Compiler and Debugger integrations for Fortran and C++; would integrate more but doesn't happen. Keep up.
- Elena Laskavaia (QNX/RIM): IDE's / Freetime on CODAN (CODAN Talk: Thu 11.45 - will give away a PLAYBOOK)
- Martin Oberhuber (Wind River): Non-Managed-Build; Usability; Remote/TM; Multicore Debug
- Vladimir Prus (Mentor Graphics / Code Sourcery): Build, Debug, gdb
- Benjamin ??? (Qualcomm): ARM / DSP Integration; Static Analysis
- Patrick Tassé (Ericsson): Tracing, Target Management
- Jason Litton (Sage): CDT for BIOS programming
- Mohamed Hussein (Mentor Graphics / Code Sourcery): RCP's on top of Eclipse+CDT;
- Dmitry Kozlov (Mentor / Code Sourcery): Build system for Mentor Toolchains; Debugger; Configurations; Parser
- Beth Tibbitts (IBM): PTP, Static Analysis for API's (especially HPC, ...) : Interested in fresh, new User Experiences; Remote
- Jeff Johnston (Red Hat): Linuxtools, Autotools, CDT/Mylyn bridge
- Andrew Overholt (Red Hat):
- Anna Dushistova (MontaVista): Build and TM integrations
- Greg Watson (IBM): HPC, Photran, Linuxtools, Automatic Remote Synchronization with git (Talk tomorrow); USABILITY !
- Martijn Rutten (Vector Fabrics)
- Jesper Eskilson (IAR Systems)
- Couple more guys showed interest by signing up but could not make it in the end:
- Jonas Jonsson (Ericsson)
- Eric Cloninger (Motorola) or Julia Perdigueiro
- Alex Ruiz (Google)
- 10:30 - General Topics
- Release update, Test Coverage, Bugzilla, Git/Gerrit
- Platform - 4.2, Documentation, Tutorials
- Usability: Out-of-box, Launching
- Consume-ability, Working with the community
- 12:00 - Lunch
- 1:30 - Debug
- Debug Visualization
- Multicore Debugging - current status and way forward
- 2:15 - Codan C++11
- C++11, C11 support
- Attributes (C++11 7.6) in AST and the future of Codan.
- External tool checkers in Codan.
- 3:00 - Project and Build and Remote
- New New New Project Wizard
- Scanner Discovery (Andrew G)
- Remote development - there are a number of solutions supporting remote projects, builds, and debug. Do they meet the community needs?
- Build System usability
- Linux Tools, PTP, and CDT - how do we work closer
- Other topics - moved out to BOF (see Action Items)
Juno Release Update
- Package is on 4.2 - 1.5 Mio Downloads !
- Builds still on 3.8 (parent POM) this year, but next year there might not be a 3.9
- Emacs Key Binding for Debugging - fixed in M6
- CDT 8.1 - No API breakage, binary compatibility
- Next release is Kepler - Planning in September (tentatively schedule a CDT summit)
- Avoid 4.3 dependency ? - Maybe not in e4/UI, but will certainly need Platform/Debug enhancements ... and since there won't be a 3.9...
- Will the Community support 3.x moving forward? - Doug believes that hopping on 4.x will be easier than backporting.
- Java 7 ? - Not this year, maybe talk again in Sept.
Working with the Community
- Marc: Quality / Usability on Windows - Need testers / users especially on Windows for Debug
- Doug: Contributions come from vested interest.
- Git/Gerrit: Decide whether can commit directly to git or whether everybody has to go through Gerrit ?
- Kevin Savicky demoed Gerrit later in the session - Doug to ask for Gerrit for CDT
- IRC, Stackoverflow
- Bugs: How to get more contributions / more committers?
- Stable at 1100-1500 bugs for years. This shows we fix as many bugs as the number of new bugs.
- Would help having people in the community triage bugs ... idea giving "editbugs" privilege to contributors
- Resolution: After some discussion, group agrees that having editbugs privilege for community would be OK (suppose it's a self-healing system like Wiki ... in case something is done wrongly, submitter would likely rectify)
- Marc/Bill (Tilera) - Multicore Visualizer - see also his Visualizer talk Wed @ 5pm
- Need feedback from users: Is it helpful ? What visualizations are needed ?
- This is NEW area, "research", not like traditional debugging
- Greg: PTP tooling for massively parallel debug ?
C++11, Codan and Editor
- Current state of C++ support in CDT: https://bugs.eclipse.org/bugs/showdependencytree.cgi?id=327297&hide_resolved=0
- Sergey working on Refactoring fixes for C++
- BOOST parsing (headers in different contexts) now much improved thanks to Markus
- bug 368160 treatment of dependent projects and symbol references improved recently (Contribution)
- Sergey: Attributes should be added to declarations in AST. This is needed for Codan (bug 316076) and for name resolution (bug 330635).
- Breakpoints - having to choose breakpoint type is awkward
- Marc thinks there was a contribution recently to resolve at least JDT vs C/C++ breakpoints
Usability: New Project Wizard
- Doug: IDE for Blackberry: In usability, CDT is up against Xcode and Visual Studio
- Martin: Usability: Essential steps getting up and running: import source, build, debug
- Essential steps must be intuitive - if we are serious improving usability, these should come before docs and tutorials
- Doug's New New New Project Wizard
- Beth: Please don't call it New New New in the user's guide
- 2 major workflows: (1) New project without source (with template) / (2) Import source
- Templates: Lots of choices to make in a huge matrix
- Martin would like to set a global context on a higher level eg toolchain, target platform+arch, ...
- Maybe leverage defaults in Wizard, with stepwise disclosure/revealing of options from the matrix
- Project Location: Would want "default new project location" different than workspace (for CM systems)
- Elena: Wizard can remember default in DialogSettings
Remote Build and Launch
- Jeff Johnston: bug 373601 Framework using RDT for remote profiling
- File Access Proxy, Command Proxy; RDT supports Path <-> URI conversion
- New hello2 autotools C project : RSE browser doesn't put project name in
- Data structures don't need to change
- MIssing: Getting environment variables from remote; Includes currently from local instead of remote;
- Q:File Paths - SMB / NFS sharing / git-remote-sync / rsync vs EFS remote resources (Performance of Indexer!)
- Synchronized Project support would need to be done in the Proxy
- Advantage: User just creates "Autotools project" and not "Remote Autotools Project" or "Synchronized Autotools Project"
- Q:Pluggable Remote Handler ?
- Greg: Take PTP Remote API and push up into CDT! (ptp.remote) including file browsers, widgets, ...
- PTP: Adapt IProject into IRemoteProject
- Q: All paths as IPath - local or remote - isn't there a risk mixing up things ?
- Chris R: As long as paths can be resolved into relative to some root it's ok ... but running into limitations eg with the Debugger ... paths being "local" is too deeply embedded
- Resolution: Jeff's approach seems to be generally accepted, but would prefer using PTP/RDT's API and push that into CDT rather than inventing new API
- Jeff is fine with using different API, he cares about the concept of having pluggable proxy in CDT and single project type with local/remote/synchronized just a property
Managed Build vs User-Defined Build
- Vladimir: Moving forward with Managed Build
- Martin: Focus on Non-Managed Build and make it more flexible
- Finds most users with larger source bases to have their own build system anyways ... people want builds to be commandline-driven when overrides etc get more complex
- Sergey: Makefile Generator is pluggable already now (but not quite flexible enough)
- cmake, qmake, nmake; Sergey: Chromium JSON driven build
- Vladimir concerned that cmake structure is also complex ... impossible to parse generic commandline-based builds properly
- Martin: It's not about driving every aspect of commandline-build (commandline users can live with not having full UI control) - it's about making incremental improvements in usability and integration for commandline builds (eg better scanner discovery where possible; editor; easy to add build targets, switch build configurations)
- Leo: Agrees that "dumpers" and data storage should to be more flexible .. Need to sit down and architect the changes... what does CDT need to tell the build, and vice versa
- Martin: Focus on Non-Managed Build and make it more flexible
- Resolution: Managed Build will likely continue to stay around since it's good enough for small projects, particularly for bare metal where compiler switches are important
- Makes sense to invest in Non-Managed Build in parallel and incrementally ... better cater to large source bases with existing build
- Vladimir + Team likely continue to contribute fixes for Managed Build / UI, how quick could they become committers ?
- bug 290631 - New Scanner Discovery - in work by Andrew G
Ideas and Action Items
- Idea: Quick demos on Monthly Calls about things ongoing, and record them
- AI Doug ask Denis whether bugzilla "editbugs" privilege for everyone is possible
- AI Doug get Gerrit set up for CDT
- AI Marc reference bug for breakpoint disambiguation JDT vs CDT
- AI Martin reference Platform bug for maintaining "default new project location" separate from workspace root
- AI Elena reference bug for remembering default new project location in CDT wizard (10-liner fix)
- AI Martin set up E4/Scripting/bofecon12: Wed 7.30-8.30pm, Regency Ballroom B - Nokia; CS; TI;
- AI Martin set up TCF/bofecon12: Wed 8.30-9.30pm, Regency Ballroom B - TCF and Target Explorer