Categories


opensource software

SBT

Products: IntelliJ IDEA, Android Studio

Vendor: Esko Luontola

Email: N/A

Website: http://github.com/orfjackal/idea-sbt-plugin

License: http://github.com/orfjac...n/raw/master/LICENSE.txt

Bugtracker page

Description:

Integrates with Simple Build Tool (SBT) to enable building Scala projects easily and quickly.

Offers a console where SBT commands can be entered interactively, and a Before Run task to delegate project compilation to SBT, as an alternative to the built in IntelliJ Make.

Documentation, Screenshots

Downloads: 68447
Rating:
Participated in rating: 6
Version Since Build Until Build File/URL Size (Kb) Date Details
1.5.0. 122.327. . Download 1460.41 2012-09-24 00:58:10 details
1.4.0. 103.255. . Download 1459 2012-09-24 00:56:40 details
1.1.0. 95.66. . Download 484.66 2010-12-02 22:07:12 details
. .
4 updates are hidden show all updates

Recent change notes:

The first IntelliJ 12 (Leda) compatible release of idea-sbt-plugin. Includes all the usability improvements from version 1.4.0.

General usage instructions:

Go to the "Before launch" options of a Run Configuration, uncheck "Make" and choose "Run SBT Action / test-compile" to compile the project with SBT.

This plugin does not generate or synchronize your IDEA project structure from the SBT build configuration. The sbt-idea-plugin (http://github.com/mpeltonen/sbt-idea-plugin), a plugin for SBT, rather than for IDEA, serves this purpose. These two projects are complementary, and do not conflict with each other.

Alternatively you can rely on IDEA's Maven integration, so that both SBT and IDEA find the dependencies from Maven's POM files. But beware that SBT/Ivy does not support the relativePath element for parent POMs (https://issues.apache.org/jira/browse/IVY-1173), which can cause issues with multi-module projects.

Comments:

12>
retronymster
Rated: noRate
2012-09-24 18:22:44
virgo47: Please try the latest plugin update (1.4.0). The SBT console won't pop up when you load the project. It is still available in non-Scala projects, as SBT isn't just a build tool for Scala.
.
virgo47
Rated:
2012-09-19 09:48:43
Would it be possible to hide SBT Console panel button in non-Scala projects?
.
brunovernay
Rated:
2012-01-04 17:38:55
.
ORFJackal
Rated: noRate
2011-04-22 00:00:51
The history can be accessed with Alt+Up
.
ORFJackal
Rated: noRate
2011-02-23 11:59:49
The history is not accessible.
.
Anonymous
Rated:
2011-02-23 05:27:34
How do you access your sbt history, what you would do by pressing up-arrow in a normal terminal in the SBT Plugin's Console?
.
philip142au
Rated:
2010-10-11 08:07:10
.
Anonymous
Rated:
2010-08-03 13:58:45
I had trouble with scala 2.8.0 and found one simple way to fix it:

- replace the scala plugin lib with the newest 2.8.0.final ones. On my machine this is in "C:\Documents and Settings\mylogin\.IntelliJIdea90\config\plugins\Scala\lib"

- then simply add a dependency on the scala 2.8.0.final lib in the "module settings", and it's just fine! (with "export" unticked, "compile" mode)

Hope it helps,

JL
.
ORFJackal
Rated: noRate
2010-07-28 00:00:14
The SBT project files are needed, because otherwise the plugin can't run. The SBT plugin doesn't need the POM file, but if you want to have the dependencies configured in IDEA, you will either need to do it manually or use IDEA's Maven plugin which needs the POM file.
.
ittayd
Rated: noRate
2010-07-27 12:09:20
So in order to use the plugin I need both an SBT project and a POM file?
.
ORFJackal
Rated: noRate
2010-07-23 23:36:22
Yes, the plugin always launches SBT in the IDEA project's base directory, so the SBT project needs to be there. If you want to improve the plugin, the method where SBT's working directory is chosen is in net.orfjackal.sbt.plugin.SbtRunnerComponent#startIfNotStarted

For me the show stopper for using SBT in multi-module projects is that SBT relies on Ivy's POM file parsing, and Ivy does not recognize the relativePath element in the POM's parent element. As a result SBT cannot compile multi-module Maven projects.

There are two solutions, but for neither of which I have the time:

1. Fix Ivy to recognize the relativePath element

2. Improve this SBT plugin to import dependencies from SBT into IDEA

Option 1 is probably easier.
.
Anonymous
Rated: noRate
2010-07-23 22:49:27
I think I see the problem that I was having with tests, as well as the general problem I was experiencing with the plugin where it would act like SBT had not been run yet.

Basically, I have a project with multiple modules, like so:
Scala
--- App1
--- App2

App1 had been set up originally with sbt from the command line. For App1 I have a Run Configuration set such that the main class is Main, the working directory is \someplace\Scala\App1, and the classpath is App1, with the Run SBT before launch action of course.

The plugin, when I tell it to compile App1, first apparently looks to see if there is a SBT project declared at the Scala level. This seems like a bug to me and is a show stopper. For now I guess I'll continue to use sbt at the command line.

Best regards,


Steve Thompson
--
.
Anonymous
Rated: noRate
2010-07-23 21:40:47
Is it possible to run ScalaTest tests?

I've created a test under src/test/scala, and though SBT from the command line can see it, in IntelliJ the SBT Action messages report that there are no tests to run. Do I need to do something special?

Let me know and best regards,


Steve Thompson
--
.
Anonymous
Rated:
2010-07-23 20:30:02
Okay, resolved my issues by setting up a POM file. Would be great if the plugin could eventually use an SBT build file for dependencies, but I know that's not in the works.

Nice job and best regards,


Steve Thompson
--
.
Anonymous
Rated: noRate
2010-07-23 19:42:13
I've got a sbt project that I'm trying to use with IntelliJ, but using your plugin, I'm not having any success. Here is some information on my setup:

build.properties
---
project.organization=com.someplace
project.name=MyProject
sbt.version=0.7.4
project.version=1.0
build.scala.versions=2.8.0
project.initialize=false

In my run configuration, I have unchecked 'Make' and set "Run SBT Action 'test-compile'" as advised in the documentation.

From the command line, I can run SBT just fine in my project directory.

From IntelliJ, when I run I get the following message from the SBT Action

'Project does not exist, create new project?'

Obviously, the plugin is unable to recognize that the SBT structure is already in place.

My questions then are as follows:
1) How do I rectify this problem?
2) Does your plugin direct IntelliJ to use the dependencies that I've defined in my project/build/Project.scala file?

Let me know and best regards,


Steve Thompson
--
.
12>