Skip to content

Contribution guide

Vojtech Polivka edited this page Apr 13, 2020 · 5 revisions

Contribution guide

Language

The project uses Kotlin unless using Java is absolutely necessary.

Code style

The project uses custom code style, currently only available for IntelliJ:

<code_scheme name="GraphQL Java Tools Code Style" version="173">
  <option name="AUTODETECT_INDENTS" value="false" />
  <option name="OTHER_INDENT_OPTIONS">
    <value>
      <option name="INDENT_SIZE" value="4" />
      <option name="TAB_SIZE" value="4" />
    </value>
  </option>
  <option name="RIGHT_MARGIN" value="125" />
  <option name="FORMATTER_TAGS_ENABLED" value="true" />
  <JSON>
    <option name="OBJECT_WRAPPING" value="5" />
    <option name="ARRAY_WRAPPING" value="5" />
  </JSON>
  <JavaCodeStyleSettings>
    <option name="DO_NOT_WRAP_AFTER_SINGLE_ANNOTATION" value="true" />
    <option name="NAMES_COUNT_TO_USE_IMPORT_ON_DEMAND" value="5" />
  </JavaCodeStyleSettings>
  <codeStyleSettings language="GraphQL">
    <indentOptions>
      <option name="INDENT_SIZE" value="2" />
    </indentOptions>
  </codeStyleSettings>
  <codeStyleSettings language="JAVA">
    <option name="KEEP_LINE_BREAKS" value="false" />
    <option name="KEEP_FIRST_COLUMN_COMMENT" value="false" />
    <option name="BLANK_LINES_AFTER_CLASS_HEADER" value="1" />
    <option name="METHOD_PARAMETERS_WRAP" value="5" />
    <option name="METHOD_PARAMETERS_LPAREN_ON_NEXT_LINE" value="true" />
    <option name="METHOD_PARAMETERS_RPAREN_ON_NEXT_LINE" value="true" />
    <option name="METHOD_CALL_CHAIN_WRAP" value="5" />
    <option name="KEEP_SIMPLE_METHODS_IN_ONE_LINE" value="true" />
    <option name="KEEP_SIMPLE_LAMBDAS_IN_ONE_LINE" value="true" />
    <option name="KEEP_SIMPLE_CLASSES_IN_ONE_LINE" value="true" />
    <option name="WRAP_COMMENTS" value="true" />
    <option name="IF_BRACE_FORCE" value="3" />
    <option name="DOWHILE_BRACE_FORCE" value="3" />
    <option name="WHILE_BRACE_FORCE" value="3" />
    <option name="FOR_BRACE_FORCE" value="3" />
    <indentOptions>
      <option name="CONTINUATION_INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
  <codeStyleSettings language="JSON">
    <option name="KEEP_LINE_BREAKS" value="false" />
  </codeStyleSettings>
  <codeStyleSettings language="kotlin">
    <indentOptions>
      <option name="CONTINUATION_INDENT_SIZE" value="4" />
    </indentOptions>
  </codeStyleSettings>
</code_scheme>
Clone this wiki locally