sbt / sbt/sbt-eclipse

sbteclipse should manage to generate usable projects for SBT itself!

Open
#145 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Scala
Stars
712
Forks
163
PR merge metrics
No merged PRs in 30d

Description

I wanted to use Eclipse (3.7) with Scala-IDE nightly (it's the recommended setup to work on Scalac) to work on SBT. So, I tried using sbteclipse for this!
I found so many issues (with sbteclipse) that I'd like to say that it just didn't work. If you ever want to tackle this, just try doing it again.
But I'll summarize what I did from memory.

I built SBT, used sbteclipse to generate projects, did the same for SBinary since Eclipse asked for that (that might not be needed any more), and then tried to import existing projects from the SBT directory. Since they are not all in the same folder (unlike scala/scala's src/eclipse), Eclipse found just a few, and I started painstakingly importing each of them. Code generation was still only done through SBT - I probably added the folder with the generated code to the source folders; and of course I needed to disable automatic building. I had to punt on one Precompiled_X project and remove it from dependencies.

Hence, suggestions:

  • allow grouping subprojects in a single folder, as src/eclipse in scala/scala
  • Support SBT code generation and custom build handlers (Eclipse's builder is SBT-based anyway, and it supports pluggable builders; this might require support in Scala-IDE)
  • Simply try it out.

My current Eclipse projects, if you are interested, are here:
https://github.com/Blaisorblade/xsbt/tree/wip/eclipse-projects

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the reported workflow by building SBT and using sbteclipse to import SBT and SBinary into Eclipse. Compare the generated projects with the scala/scala src/eclipse layout, including generated-code handling and the Precompiled_X dependency. Done means SBT's projects import and build as usable Eclipse projects without manual project-by-project fixes.

Written by the indexing model from the issue text.

Assessment

Tech stack
scala
Domain
build-system, developer-experience, tooling
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.