<liclass="toctree-l3"><aclass="reference internal"href="#run-configurations-are-missing">Run configurations are missing</a></li>
<liclass="toctree-l3"><aclass="reference internal"href="#if-intellij-complains-about-lack-of-an-sdk">If IntelliJ complains about lack of an SDK</a></li>
<h3>Run configurations are missing<aclass="headerlink"href="#run-configurations-are-missing"title="Permalink to this headline">¶</a></h3>
<p>If you opened the Corda project using “Import” from the IntelliJ splash screen rather than using “Open” and then
importing the Gradle build system from the popup bubble, then a bug in IntelliJ will cause it to wipe and recreate
the <codeclass="docutils literal"><spanclass="pre">.idea</span></code> directory where the run configurations are stored. The fix is simple and doesn’t require you to
re-import the project: just undelete the files! You can do that by either:</p>
<olclass="arabic simple">
<li>Running <codeclass="docutils literal"><spanclass="pre">git</span><spanclass="pre">checkout</span><spanclass="pre">.idea/runConfigurations</span></code> to restore that part of the tree to its normal state.</li>
<li>Using the “Version Control” pane in IntelliJ to undelete the files via the GUI.</li>
<h3>If IntelliJ complains about lack of an SDK<aclass="headerlink"href="#if-intellij-complains-about-lack-of-an-sdk"title="Permalink to this headline">¶</a></h3>
<p>If on attempting to open the project (including importing Gradle project), IntelliJ refuses because an SDK was not selected,
you may need to fix the project structure. Do this by following <aclass="reference external"href="https://www.jetbrains.com/help/idea/2016.2/configuring-global-project-and-module-sdks.html">these instructions</a>. The correct JDK is often found at a path such as <codeclass="docutils literal"><spanclass="pre">jdk1.8.0_xx…/Contents/Home</span></code></p>
<p>Ensure that you have the Project language level set at as 8. If you are having trouble selecting the correct JDK, the
<h2>Kotlin issues<aclass="headerlink"href="#kotlin-issues"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="installation">
<h3>Installation<aclass="headerlink"href="#installation"title="Permalink to this headline">¶</a></h3>
<p>There are two ways to configure Kotlin from IntelliJ. One way is via the initial project opening screen in which you will
need to use the <codeclass="docutils literal"><spanclass="pre">Configure</span><spanclass="pre">></span><spanclass="pre">Plugins</span></code> tab. The other way is when you are in an open project, then you will need to
configure it via (on Mac) <codeclass="docutils literal"><spanclass="pre">IntelliJ</span><spanclass="pre">-></span><spanclass="pre">Preferences</span><spanclass="pre">...</span></code>, whereas on PC it is <codeclass="docutils literal"><spanclass="pre">File</span><spanclass="pre">-></span><spanclass="pre">Settings</span></code>. Select the plugins
bar, confirm that Kotlin is installed and up to date.</p>
<p>If you are having trouble installing Kotlin, first try upgrading the Kotlin plugin. At the time of writing, you can
confirm what is the latest version of the Kotlin plugin on <aclass="reference external"href="https://plugins.jetbrains.com/plugin/6954">this page</a>.</p>
</div>
</div>
<divclass="section"id="gradle-issues">
<h2>Gradle issues<aclass="headerlink"href="#gradle-issues"title="Permalink to this headline">¶</a></h2>
<divclass="section"id="gradle-within-intellij">
<h3>Gradle within IntelliJ<aclass="headerlink"href="#gradle-within-intellij"title="Permalink to this headline">¶</a></h3>
<p>After you have updated your code to the latest version from git, ensure that the gradle project is imported. Although
gradle is used via the command line, it is also integrated with IntelliJ in order for IntelliJ to determine dependencies
and index the project correctly.</p>
<p>When opening a project for the first time, you should see the “Unlinked Gradle project?” pop-up window in the IntelliJ top
right corner or in a popup alert window. If you miss this, it will also appear in the “Event Log” windows which can be
opened by clicking on “Event Log” at the bottom right of the IntelliJ window. Either way, click on “Import Gradle Project”.</p>
<p>Wait for it to think and download the dependencies. After that you might have another popup titled “Unindexed remote maven repositories found.” This is a general IntelliJ question and doesn’t affect Corda, therefore you can decided to index them or not. Next click on the “green arrow” next to “All tests” pop-up on the top toolbar.</p>
<p>The code should build, the unit tests should show as all green.</p>
<p>If still have problems, the JetBrains website has more information on <aclass="reference external"href="https://www.jetbrains.com/help/idea/2016.2/working-with-gradle-projects.html">gradle here</a>.</p>
<p>Gradle commands can also be run from the command line - further details of command line gradle can be found <aclass="reference external"href="https://docs.gradle.org/current/userguide/gradle_command_line.html">here</a>.</p>
<h2>Doing it without IntelliJ<aclass="headerlink"href="#doing-it-without-intellij"title="Permalink to this headline">¶</a></h2>
<p>If you don’t want to explore or modify the code in a local IDE, you can also just use the command line and a text editor:</p>
<ulclass="simple">
<li>First run <codeclass="docutils literal"><spanclass="pre">git</span><spanclass="pre">clone</span><spanclass="pre">https://github.com/corda/corda</span></code> to download Corda core source code</li>
<li>Next ensure that you are in correct directory <codeclass="docutils literal"><spanclass="pre">cd</span><spanclass="pre">corda</span></code></li>
<li>Then you can run <codeclass="docutils literal"><spanclass="pre">./gradlew</span><spanclass="pre">test</span></code> to run the unit tests.</li>
<li>Finally remember to run <codeclass="docutils literal"><spanclass="pre">git</span><spanclass="pre">pull</span></code> occasionally to upgrade the source code to the latest revision</li>
Built with <ahref="http://sphinx-doc.org/">Sphinx</a> using a <ahref="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <ahref="https://readthedocs.org">Read the Docs</a>.