Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. If not already installed, install the Scala plugin from JetBrains to add SBT and Scala support.

  2. With the Daffodil repository checked out, select

       File > New > Project from Existing Sources...

    and select the Daffodil repository directory.  Note that symlinks seem to cause failures to import, so use a absolute physical path to the daffodil repository directory.


  1. We want to configure the project to use SBT for configuration and building, so select:

       Import project from external model

    and select sbt.

  2. Set the following settings:

    1. Download Library sources: Checked

    2. Download sbt sources: Unchecked

    3. Use sbt shell for imports: Checked

    4. Use sbt shell for builds: Checked

    5. Allow overriding sbt version: Unchecked

    6. Global sbt settings > Maximum heap size: 6144 MB
      
  3. Click Finish.

  4. Exit IntelliJ and restart it, selecting the Daffodil project.

  5. An alert will display stating "sbt projects need to be imported". Select Enable Auto-Import.

  6. After the sync is complete in the Build tab, ensure that the project builds:

       Build > Build Project

  7. To add a configuration to run all JUnit tests, select:

       Run > Edit Configurations > + (plus sign) > JUnit

    and apply the following settings:

    1. Name: All Daffodil Tests

    2. Test Kind: Pattern

    3. Pattern: ^(?!.*TestCLI.*).*$

    4. Search for tests: In whole project
      
  8. Run tests via:

       Run > All Daffodil Tests

To setup to work with Daffodil/XML, you can start with the following:

  1. Go to File > Settings > Editor > File Types
  2. In the Recognized file types box, scroll down to XML , select it and under the Registered patterns box, click the + sign, and add *.dfdl.xsd. Repeat for *.tdml.

To be able to run CLI Tests, you either can try:

  1. IntelliJ Idea Ultimate ensuring the Working Directory is the project root. You can get a free license
    1. if you're an apache committer: https://www.jetbrains.com/community/opensource/#partner
    2. if you're a student/teacher: https://www.jetbrains.com/community/education/#students
    3. if you're part of an open source project: https://www.jetbrains.com/community/opensource/#support
  2. IntelliJ Idea Community as described in this comment (works for some, but not all).

The default formatting settings for Scala must be changed to match our code style too.  You must explicitly check two options that are disabled by default (File→Settings, Editor Scala, Spaces tab):

  • Import braces
  • Around '@' in pattern bindings