Project configuration explained

Although the work on new Scala project configuration is still in progress, a brief clarification may come in handy.

  • A module that requires compiling with Scalac should have a Scala facet attached.
  • Facet refers to “Compiler library” which is used to instantiate Scalac inside JVM (the library provides “compiler classpath” that is completely separated from “project classpath”)
    Compiler library (usually) should include scala-compiler*.jar and scala-library*.jar.
    For special purposes, compiler library may include directories (like “/build/classes/”, etc), in that case, no library validation is performed.
  • Facet holds custom compiler options and a list of Scalac plugins (relative paths allowed).
  • As usual, modules that use Scala standard library should include it in module dependencies.
  • Both compiler library and standard library may be created using build-in wizard (from Scala distribution).
  • Plugins doesn’t include bundled Scalac anymore.
  • Maven projects can be imported automatically.

To create a new project that uses Scala:

  1. In “New Project” wizard check “Scala” in technologies list.
  2. Provide a path to Scala installation (if not detected)

To add a new module that uses Scala into existing project:

  1. In “Add Module” wizard check “Scala” in technologies list.
  2. Provide a path to Scala installation (if not detected)

To add Scala support to existing module:

  1. Right-click the module in Project View, choose “Add Framework Support…”
  2. Check “Scala” in technologies list (unavailable if module has Scala facet attached)
  3. Provide a path to Scala installation (if not detected)

To manually configure existing module:

  1. Create library “scala-compiler”:
    Classes: scala-compiler.jar; scala-library.jar
  2. Create library “scala-library”:
    Classes: scala-dbc.jar; scala-library.jar; scala-swing.jar
    Sources: scala-dbc-src.jar; library-src.jar; swing-src.jar
    Docs: /doc/scala-devel-docs/api/
    (if you downloaded Scala as an archive, you need to get separate API docs archive and extract it so that <scala home>\doc\scala-devel-docs\api exist; if you installed Scala using LzPack, then API docs are already there)
  3. Add Scala facet to the module, select “scala-compiler” library as compiler library
  4. Add “scala-library” to module dependencies.

Hints:

  • Don’t add Scala compiler library to module dependencies (unless you really need Scala compiler classes in your code)
  • Don’t forget to attach “scala-library*.jar” to Scala compiler library, it’s a dependency of “scala-compiler*.jar” itself.

Screenshots

Scala support for existing module:

Wizard (on new project, on new module, after “Add Framework Support…”):

Libraries:

Standard library:

Compiler library:

Module dependencies:

Facet settings:

Advanced facet settings:

Autocompletion (Scala standard library):

Documentation lookup (Scala standard library API docs):

Definition lookup (Scala standard library sources):

About Pavel Fatin

Programming enthusiast, technology advocate. IntelliJ Scala plugin developer at JetBrains, https://pavelfatin.com
This entry was posted in Uncategorized. Bookmark the permalink.

49 Responses to Project configuration explained

  1. Alain O'Dea says:

    The Maven import is easily the best way to get a project started for the Scala Plugin IMHO.

    For those not using Maven, this is useful. I followed these directions and successfully got an existing large-scale multi-module Java project to work with the plugin.

    The project settings are also portable, which makes team development much easier. Kudos :)

  2. Adrian says:

    Extremely useful. Thanks.

  3. Moritz says:

    Thanks for the writeup! Very helpful! The manual configuration/creation of the scala-compiler library was not that intuitive

  4. melgart says:

    these directions are still good for getting Intellij 10.5 and scala 2.9.2 working. thank you OP.

  5. Vlad Patryshev says:

    what am I doing wrong?
    I have scala-compiler.jar, scala-library.jar in one library, but the compiler does not see it

    intellij 123.123

  6. Arsalan says:

    Thanks for this article. I was really searching for this thing.

  7. Kelley says:

    Alright Say I Want to Sign Up, What do I Have to Do.

    Well since this is a review I’ll give you a short list of all
    the good things about Points2Shop, I may leave some things out but this is an article not a book:.
    In recent times, QR codes are displayed on pamphlets,
    billboards, business cards and even t-shirts.
    m researching daily, in order to teach others (and myself, of course) what the best methods, tips and tricks
    are, in creating a passive income for yourself with the help of the internet.
    100% useful (but only qualify about 60% of the
    time).

  8. Lorenzo says:

    I’m thee person my friends go to when they need to know the name of a show with a particular theme song or what the name of
    that character was who looked like Shaggy from Scooby Doo but worked
    on a car (the answer, FYI, is Tinker and the show was Speed
    Buggy, which was one of the many ‘mysteries inc’ cartoon imitators of
    the 60s and 70s). In the bes traditions of the series will play not only for
    hitters, but for the defenders. Here is an analogy; The ZTE Blade is a blank canvass of
    pure 2.

  9. Sherri says:

    Desde mayo de de dos mil once se ha informado de que las
    comunicaciones mediante WhatsApp no están encriptadas y los datos se
    reciben en texto plano, lo que significa que los mensajes pueden leerse de forma fácil
    si se dispone de los paquetes enviados.

  10. Leia says:

    Hi there, yup this paragraph is truly good and I have learned lot
    of things from it regarding blogging. thanks.

  11. Exceptional post however , I was wanting to
    kknow if you could write a litte more on this subject?
    I’d be veery thankful if you could elaborate a little bit more.
    Cheers!

  12. What’s up, I would like to subscribe for this blog to get hottest
    updates, thus where can i do it please help out.

  13. I aam curiious too find out what blog system yyou
    are working with? I’m having some small security
    issues with my latest blog and I would like to find
    something more risk-free. Do you have any recommendations?

  14. nfl picks says:

    I do not know whether it’s just me or if everybody else experiencing problems with your website.
    It appears like some of the text on your content
    are running off the screen. Can somebody else please comment and let me know if
    this is happening to them too? This might be a problem with my browser because I’ve had this happen previously.
    Thanks

  15. I don’t know if it’s just me or if perhaps everyone else
    experiencing problems with your site. It appears as though some of the written text in your content are running off the screen. Can somebody else please provide feedback and let me know if this is happening to them too?
    This could be a problem with my browser because I’ve
    had this happen previously. Many thanks

  16. tolvajbanda says:

    It’s really very difficult in this full of activity life
    to listen news on TV, therefore I only use web for that reason,
    and take the most up-to-date news.

  17. rogán antal says:

    I don’t know if it’s just me or if everyone else encountering issues with
    your site. It appears as if some of the text in your posts are running
    off the screen. Can somebody else please provide feedback and let me know if this is
    happening to them as well? This may be a issue with my web browser because I’ve had this happen before.
    Cheers

  18. fuck says:

    Thankfulness to my father who informed me regarding this webpage,
    this web site is in fact awesome.

  19. al3ab coat says:

    At this time I am going to do my breakfast, once having my breakfast coming over
    again to read more news.

  20. No matter if some one searches for his vital thing, so he/she wishes to be available that in detail, thus that thing is maintained oer here.

    Also vsit my web site: donate your car for money

  21. The same year, he wrote the soundtrack to the film Les choristes
    by Christophe Barratier, which subsequently became an international hit.

  22. Actually no matter if someone doesn’t understand afterward
    its up to other people that they will help, so here it occurs.

  23. Unlock Pdf says:

    Thank you for the good writeup. It in fact used to
    be a leisure account it. Glance complex to more delivered agreeable from you!
    By the way, how could we keep in touch?

  24. Chad says:

    Search and research all the keywords that have an interest
    in your site theme. A person’s email address is also one
    of the most commonly required personal information in government forms,
    applications and surveys. The game begins to develop throughout popularity through This summer regarding
    1986 it really is hard-wired to the Apple 2 and also Commodore 64.

    Here is my site … trucos para monster legends,
    Chad,

  25. Howdy! This post couldn’t be written any better! Reading through this article
    reminds me of my previous roommate! He always kept talking
    about this. I will send this information to him.
    Pretty sure he’ll have a good read. Thanks for sharing!

  26. At this time I am going away to do my breakfast, afterward having my breakfast coming over again to read other news.

  27. This is the right blog for anybody who hopes to
    find out about this topic. You understand so much its almost hard to argue with you (not that I actually will need to…HaHa).
    You certainly put a fresh spin on a topic that’s been written about for years.
    Wonderful stuff, just great!

  28. On this part of the Costume Quest 2 walkthrough, we head to the French Quarter of Backwater Bayou.

  29. webpage says:

    My brother recommended I might like this blog.

    He was totally right. This publish actually made my day. You can not
    imagine just how much time I had spent for this
    info! Thanks!

  30. Hey There. I found your weblog the usage of msn. This
    is a really well written article. I’ll make sure to bookmark it and come back to read more of your helpful info.
    Thanks for the post. I’ll certainly return.

  31. tkomart.com says:

    Link exchange is nothing else however it is simply placing the other person’s website link on your page at appropriate place and other person will also
    do similar in support of you.

  32. Amelia says:

    Once again, you may not get rich by doing the surveys,
    but sometimes it is nice just to see money coming in that can help.
    There are many different roles for other people who
    are looking to work from home, it is just a matter of finding them.
    If sounds like this you then I’d start exploring using this.

  33. Cadogu Blog says:

    I’m gone to convey my little brother, that he should also go to
    see this blog on regular basis to get updated from newest information.

  34. Sue says:

    Excellent beat ! I would like to apprentice whilst
    you amend your site, how could i subscribe for a weblog site?
    The account helped me a applicable deal.

    I have been tiny bit acquainted of this your broadcast provided brighht clear concept

    Look iinto my web blog :: Sue

  35. I always spent my half an hour to read this blog’s articles every
    day along with a mug of coffee.

  36. I think the admin of this web site is truly working hard for
    his web page, because here every material is quality
    based information.

  37. Saya mengunjungi beberapa blog tapi audio berkualitas untuk lagu audio yang ada ini situs adalah benar luar biasa.

  38. These are truly fantastic ideas in concerning blogging.
    Youu have touched some nice points here. Any way keep up wrinting.

  39. Everything is very open with a very clear explanation oof the challenges.
    It was definitey informative. Your website is very useful.
    Many thanks for sharing!

  40. If some one needs expert view on the topic of blogging and site-building after that i advise him/her to go to see this website,
    Keep up the good work.

  41. vong bi says:

    This is a contemporary concept and has brought remarkable change in the societies.
    Get proper sleep and take some supplements which help in raising
    the testosterone levels. When you begin to shed excess pounds,
    you will begin to reclaim your mental health and increase sex
    drive.

  42. Thanks for the marvelous posting! I truly enjoyed reading it,
    you might be a great author. I will remember to bookmark your blog
    and will eventually come back very soon. I want to encourage one to continue your
    great posts, have a nice afternoon!

  43. iphone says:

    But what the image you favor is a scene from DVD movies, you need to
    take snapshot from DVD movies and convert to JPG, BMP format which is supported by most of the
    portable devices, then Mac – X DVD Ripper Free Edition would help you get favorite pictures from movies, which
    can be set as wallpaplers. See our Authors box below for more exciting news and great information of where to get the best
    deals on i – Phones. Now you can keep your friends, family and co-workers connected to your healthy
    life.

  44. When your living alone you will want to take extra precautions to
    stay safe. Before signing the lease, read it
    over, and make sure you understand all the conditions of the lease.

    Remember that dealing with a neighbor can be difficult.

  45. You’re an extremely practical internet site; could not make it without ya!

  46. hcg drops says:

    Wonderful post! We are linking to this particularly great content
    on our website. Keep up the great writing.

  47. The portability of a mobile phone means you are not limited
    to when and where you can play at the phone casino.
    he spends most of his days waiting around by the stage.
    The main objective of many of the casinos behind the concept of casino bonus is to motivate the players to play more and for new people to come and start playing.

Leave a Reply

Your email address will not be published. Required fields are marked *