Extend CONTRIBUTING.md and adapt some Eclipse project settings to simplify getting started#176
Conversation
|
Hello @jdneo, Besides, I had some questions left:
|
a335576 to
0f40d70
Compare
|
Thank you, sorry for the confusion we have. I guess we do have some gaps here for the contribution.
This is a good point. TBH, I usually just using the running platform to makes sure the launched debug session is similar to a real eclipse instance. But when it comes to debug a test case, I will switch to target-terminal.target because I use a newer Eclipse version. (There is a bundle namespace change between old eclipse and new eclipse for the terminal bundle, that's why we have two of them.) But I admit that this setup is wired, I'm just not able to find some time organize them systematically.
Because I usually use running platform as the target platform, so when I launch a debug session, I enabled all the plugins. Maybe this is not the best practice? Any suggestions? |
|
Hi @jdneo,
No problem. Concerning the target platform definitions: I think, developers not familiar with copilot-for-eclipse should preferably use one of the target definition files. I tried
The target platforms are also used in their CI/CD workflows.
I'd prefer using one of the target platform definition files instead. Otherwise, you cannot be sure that your code would compile or run with the target platforms, too. But it can help to also check the latest Eclipse version, too. TM4E does that with their latest target definition. Usually, I'm using different launch configs for different OSs (or only for one OS) if there are platform-dependent bundles. I usually do not start any test bundles in my launch configs and I either select all or only a small sub-set of required plug-ins from the target platform (I select the required plug-ins from the Eclipse workspace and then add required plug-ins from the target platform using the "Select Required" button. Sometimes I also add some plug-ins explicitly, e.g. for Eclipse themes). In the first case I have a full Eclipse IDE, in the second case I have a lightweight IDE with short launch times. Both cases work well for me and both have their pros and cons. I'm not sure if my approach is best practice. In any case, maintaining multiple launch configs quickly becomes tedious, since developers are usually using exactly one OS and thus are maintaining only the one launch config that they are using themselves. |
There was a problem hiding this comment.
Pull request overview
This PR expands contributor onboarding documentation and adds Eclipse workspace metadata (.project/.classpath/.settings) for several Tycho modules to make importing and launching the plug-ins from Eclipse easier.
Changes:
- Extended
CONTRIBUTING.mdwith step-by-step Eclipse import, target platform activation, and Checkstyle setup instructions. - Added Eclipse project metadata files for feature/repository/branding and platform agent bundles to streamline “Existing projects into Workspace” import.
- Updated
.gitignoreto exclude some Eclipse build output directories.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 13 comments.
Show a summary per file
| File | Description |
|---|---|
| CONTRIBUTING.md | Adds Eclipse import/launch + Checkstyle setup instructions. |
| com.microsoft.copilot.eclipse.repository/.settings/org.eclipse.m2e.core.prefs | Enables workspace project resolution in m2e for the repository module. |
| com.microsoft.copilot.eclipse.repository/.project | Adds Eclipse project descriptor for the repository module. |
| com.microsoft.copilot.eclipse.feature/.settings/org.eclipse.m2e.core.prefs | Enables workspace project resolution in m2e for the feature module. |
| com.microsoft.copilot.eclipse.feature/.project | Adds Eclipse project descriptor for the feature module. |
| com.microsoft.copilot.eclipse.core.agent.win32/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the Windows agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.win32/.settings/org.eclipse.jdt.core.prefs | Sets Java compiler prefs for the Windows agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.win32/.project | Adds Eclipse project descriptor for the Windows agent bundle. |
| com.microsoft.copilot.eclipse.core.agent.win32/.classpath | Adds Eclipse classpath for the Windows agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.x64/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the macOS x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.x64/.settings/org.eclipse.jdt.core.prefs | Sets Java compiler prefs for the macOS x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.x64/.project | Adds Eclipse project descriptor for the macOS x64 agent bundle. |
| com.microsoft.copilot.eclipse.core.agent.macosx.x64/.classpath | Adds Eclipse classpath for the macOS x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the macOS aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/.settings/org.eclipse.jdt.core.prefs | Sets Java compiler prefs for the macOS aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/.project | Adds Eclipse project descriptor for the macOS aarch64 agent bundle. |
| com.microsoft.copilot.eclipse.core.agent.macosx.aarch64/.classpath | Adds Eclipse classpath for the macOS aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.x64/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the Linux x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.x64/.settings/org.eclipse.jdt.core.prefs | Sets Java compiler prefs for the Linux x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.x64/.project | Adds Eclipse project descriptor for the Linux x64 agent bundle. |
| com.microsoft.copilot.eclipse.core.agent.linux.x64/.classpath | Adds Eclipse classpath for the Linux x64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.aarch64/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the Linux aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.aarch64/.settings/org.eclipse.jdt.core.prefs | Sets Java compiler prefs for the Linux aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.core.agent.linux.aarch64/.project | Adds Eclipse project descriptor for the Linux aarch64 agent bundle. |
| com.microsoft.copilot.eclipse.core.agent.linux.aarch64/.classpath | Adds Eclipse classpath for the Linux aarch64 agent bundle project. |
| com.microsoft.copilot.eclipse.branding/.settings/org.eclipse.m2e.core.prefs | Adds m2e preferences for the branding project. |
| com.microsoft.copilot.eclipse.branding/.project | Adds Eclipse project descriptor for the branding project. |
| com.microsoft.copilot.eclipse.branding/.classpath | Adds Eclipse classpath for the branding project. |
| .gitignore | Ignores selected Eclipse bin/ output directories. |
35d6148 to
18086db
Compare
18086db to
cde8e4f
Compare
Describe how to import projects and how to run them in Eclipse
Make all projects importable via File > Import... > General > Existing Projects into Workspace, no need to use the Maven project import wizard.
cde8e4f to
35b9932
Compare
jdneo
left a comment
There was a problem hiding this comment.
LGTM, thank you for your contribution.
This PR
.projectfiles and Eclipse settings to simplify Eclipse project import for new developers