Add config files
Headless CI Tests / build (push) Has been cancelled
Run LinkedWarrantTest / build (push) Has been cancelled
Run Separate Tests / build (push) Has been cancelled
Static Analysis Java25 / build (push) Has been cancelled
Static Analysis / build (push) Has been cancelled
Typescript Check / tsc (push) Has been cancelled
Windows Java25 CI Tests / build (push) Has been cancelled
Windows CI Tests / build (push) Has been cancelled
Headless CI Tests / build (push) Has been cancelled
Run LinkedWarrantTest / build (push) Has been cancelled
Run Separate Tests / build (push) Has been cancelled
Static Analysis Java25 / build (push) Has been cancelled
Static Analysis / build (push) Has been cancelled
Typescript Check / tsc (push) Has been cancelled
Windows Java25 CI Tests / build (push) Has been cancelled
Windows CI Tests / build (push) Has been cancelled
This commit is contained in:
+11
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<fileset-config file-format-version="1.2.0" simple-config="true" sync-formatter="false">
|
||||||
|
<local-check-config name="JMRI" location="checkstyle.xml" type="project" description="">
|
||||||
|
<additional-data name="protect-config-file" value="false"/>
|
||||||
|
</local-check-config>
|
||||||
|
<fileset name="all" enabled="true" check-config-name="JMRI" local="true">
|
||||||
|
<file-match-pattern match-pattern="." include-pattern="true"/>
|
||||||
|
</fileset>
|
||||||
|
<filter name="DerivedFiles" enabled="true"/>
|
||||||
|
</fileset-config>
|
||||||
+75
@@ -0,0 +1,75 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<classpath>
|
||||||
|
<classpathentry including="**/*.java" kind="src" output="target/classes" path="java/src">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry including="**/*.java" kind="src" output="target/test-classes" path="java/test">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**/Thumbs.db" kind="src" path="resources"/>
|
||||||
|
<classpathentry kind="src" path="target/generated-sources/jjtree">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="ignore_optional_problems" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path="target/generated-sources/javacc">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="ignore_optional_problems" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path=".apt_generated">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path=".apt_generated_tests">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="module" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry excluding="**" kind="src" output="target/classes" path="java/template">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="java/acceptancetest/step_definitions">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
<attribute name="maven.pomderived" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" path="target/generated-sources/annotations">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry kind="src" output="target/test-classes" path="target/generated-test-sources/test-annotations">
|
||||||
|
<attributes>
|
||||||
|
<attribute name="test" value="true"/>
|
||||||
|
<attribute name="optional" value="true"/>
|
||||||
|
</attributes>
|
||||||
|
</classpathentry>
|
||||||
|
<classpathentry exported="true" kind="lib" path="lib/jlfgr-1_0.jar"/>
|
||||||
|
<classpathentry kind="output" path="target/classes"/>
|
||||||
|
</classpath>
|
||||||
@@ -0,0 +1,38 @@
|
|||||||
|
version: "2" # CodeClimate API version is a string, not a number
|
||||||
|
checks:
|
||||||
|
argument-count:
|
||||||
|
config:
|
||||||
|
threshold: 5 # CodeClimate default
|
||||||
|
complex-logic:
|
||||||
|
config:
|
||||||
|
threshold: 5 # CodeClimate default
|
||||||
|
file-lines:
|
||||||
|
config:
|
||||||
|
threshold: 300 # CodeClimate default
|
||||||
|
method-complexity:
|
||||||
|
config:
|
||||||
|
threshold: 20 # AKA Cognitive Complexity. 5 is CodeClimate default
|
||||||
|
method-count:
|
||||||
|
config:
|
||||||
|
threshold: 20 # CodeClimate default
|
||||||
|
method-lines:
|
||||||
|
config:
|
||||||
|
threshold: 25 # CodeClimate default
|
||||||
|
nested-control-flow:
|
||||||
|
config:
|
||||||
|
threshold: 6 # CodeClimate default
|
||||||
|
return-statements:
|
||||||
|
config:
|
||||||
|
threshold: 6 # CodeClimate default
|
||||||
|
similar-code:
|
||||||
|
config:
|
||||||
|
threshold: 40 # language-specific defaults. an override will affect all languages.
|
||||||
|
# Java default is documented at 40, but seems smaller
|
||||||
|
exclude_patterns:
|
||||||
|
- "**/Bundle.java"
|
||||||
|
identical-code:
|
||||||
|
config:
|
||||||
|
threshold: 40 # language-specific defaults. an override will affect all languages.
|
||||||
|
# Java default is documented at 40, but seems smaller
|
||||||
|
exclude_patterns:
|
||||||
|
- "**/Bundle.java"
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
# Common Git rules for JMRI/JMRI repository
|
||||||
|
#
|
||||||
|
# See also the JMRI/website repository file of the same name
|
||||||
|
#
|
||||||
|
# Initially from https://github.com/Danimoth/gitattributes/blob/master/Java.gitattributes
|
||||||
|
# see also http://adaptivepatchwork.com/2012/03/01/mind-the-end-of-your-line/
|
||||||
|
|
||||||
|
# Handle line endings automatically for files detected as text
|
||||||
|
# and leave all files detected as binary untouched.
|
||||||
|
* text=auto
|
||||||
|
|
||||||
|
#
|
||||||
|
# The above will handle all files NOT found below
|
||||||
|
#
|
||||||
|
# These files are text and should be normalized (Convert crlf => lf)
|
||||||
|
# This list should be kept consistent with the one in the build.xml ant "fixlineends" target
|
||||||
|
#
|
||||||
|
*.csh text
|
||||||
|
*.css text
|
||||||
|
*.df text
|
||||||
|
*.dtd text
|
||||||
|
*.htm text
|
||||||
|
*.html text
|
||||||
|
*.java text
|
||||||
|
*.js text
|
||||||
|
*.json text
|
||||||
|
*.jsp text
|
||||||
|
*.jspf text
|
||||||
|
*.md text
|
||||||
|
*.php text
|
||||||
|
*.pl text
|
||||||
|
*.plist text
|
||||||
|
*.policy text
|
||||||
|
*.prefs text
|
||||||
|
*.properties text
|
||||||
|
*.project text
|
||||||
|
*.py text
|
||||||
|
*.sh text
|
||||||
|
*.shtml text
|
||||||
|
*.svg text
|
||||||
|
*.tld text
|
||||||
|
*.txt text
|
||||||
|
*.xml text
|
||||||
|
*.xsd text
|
||||||
|
*.xsl text
|
||||||
|
COPYING text
|
||||||
|
Footer text
|
||||||
|
README text
|
||||||
|
Header text
|
||||||
|
Sidebar text
|
||||||
|
TODO text
|
||||||
|
.classpath text
|
||||||
|
|
||||||
|
# These files are binary and should be left untouched
|
||||||
|
# (binary is a macro for -text -diff)
|
||||||
|
*.app binary
|
||||||
|
*.bat binary
|
||||||
|
*.class binary
|
||||||
|
*.dll binary
|
||||||
|
*.dylib binary
|
||||||
|
*.ear binary
|
||||||
|
*.gif binary
|
||||||
|
*.GIF binary
|
||||||
|
*.ico binary
|
||||||
|
*.jar binary
|
||||||
|
*.jnilib binary
|
||||||
|
*.jpg binary
|
||||||
|
*.jpeg binary
|
||||||
|
*.pdf binary
|
||||||
|
*.png binary
|
||||||
|
*.so binary
|
||||||
|
*.vsd binary
|
||||||
|
*.war binary
|
||||||
|
*.wav binary
|
||||||
|
*.zip binary
|
||||||
@@ -0,0 +1,182 @@
|
|||||||
|
# Copilot Instructions for JMRI
|
||||||
|
|
||||||
|
Use this file as the default operating guide for repository work. Trust these instructions first, and only search further if the information here is incomplete or proven wrong.
|
||||||
|
|
||||||
|
## What this repository is
|
||||||
|
|
||||||
|
- **JMRI** is model railroad software with desktop apps, scripting, web UI assets, and large automated test coverage.
|
||||||
|
- **Project type:** large, long-lived Java monorepo (plus scripts and web assets).
|
||||||
|
- **Primary languages:** Java, XML, shell, Python/Jython, TypeScript/JavaScript.
|
||||||
|
- **Build systems in use:** Ant (`build.xml`) and Maven (`pom.xml`) in combination.
|
||||||
|
- **Runtime targets:** desktop Java apps (`DecoderPro`, `PanelPro`), tests, tooling scripts.
|
||||||
|
|
||||||
|
## Repo scale and structure (high signal map)
|
||||||
|
|
||||||
|
- `build.xml` — canonical Ant targets (compile, run apps, tests, lint-ish checks, packaging).
|
||||||
|
- `pom.xml` — Maven config, profiles, dependency graph, CI-oriented plugin orchestration.
|
||||||
|
- `.github/workflows/` — required CI definitions you should mirror locally.
|
||||||
|
- `java/src/` — main Java sources.
|
||||||
|
- `java/test/` — JUnit tests.
|
||||||
|
- `java/acceptancetest/` — Cucumber acceptance tests.
|
||||||
|
- `jython/` — Jython scripts and script-related checks.
|
||||||
|
- `web/ts/` and `web/js/` — TypeScript source and compiled JS output.
|
||||||
|
- `scripts/` — helper scripts used by CI and maintainers.
|
||||||
|
- `checkstyle.xml`, `.spotbugs-check.xml`, `archunit.properties`, `archunit_ignore_patterns.txt` — static/architecture gates.
|
||||||
|
- `archunit_store/` — frozen architecture baseline (do not expand casually).
|
||||||
|
|
||||||
|
## Toolchain and environment (validated locally in this workspace)
|
||||||
|
|
||||||
|
Verified on this machine:
|
||||||
|
|
||||||
|
- Java: `openjdk 17.0.18`
|
||||||
|
- Maven: `3.6.3`
|
||||||
|
- Ant: `1.10.7`
|
||||||
|
- Node: `v12.22.9`
|
||||||
|
- Yarn: **not installed** (command missing)
|
||||||
|
|
||||||
|
Repository docs indicate:
|
||||||
|
|
||||||
|
- Ant requires **>= 1.10.6** (`help/en/html/doc/Technical/Ant.shtml`).
|
||||||
|
- CI workflows use **JDK 11** and separate jobs for **JDK 25**.
|
||||||
|
- TypeScript CI uses **Node 20 + yarn install**, then `ant typescript`.
|
||||||
|
|
||||||
|
Practical guidance:
|
||||||
|
|
||||||
|
- For CI parity, prefer JDK 11 (and sometimes 25) even if local JDK 17 works for many tasks.
|
||||||
|
- TypeScript checks require `tsc` available in PATH (normally via yarn-installed dependencies).
|
||||||
|
|
||||||
|
## Build/test/lint/run command playbook
|
||||||
|
|
||||||
|
Run from repo root.
|
||||||
|
|
||||||
|
### 1) Bootstrap (always first in a fresh environment)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ant clean
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed:
|
||||||
|
|
||||||
|
- Works and removes `target/`, `temp/`, and `tests.log`.
|
||||||
|
|
||||||
|
### 2) Compile/build
|
||||||
|
|
||||||
|
Preferred fast compile path used by workflows:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mvn antrun:run -Danttarget=debug -DskipTests
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed:
|
||||||
|
|
||||||
|
- First run may take a long time due to dependency download.
|
||||||
|
- Re-run succeeded cleanly after dependency bootstrap.
|
||||||
|
|
||||||
|
### 3) Focused tests (fast local validation)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mvn -q -Dtest=jmri.util.FileUtilTest test -Djmri.skipTestsRequiringSeparateRunning=true -Djava.awt.headless=true
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed:
|
||||||
|
|
||||||
|
- Passed in this environment.
|
||||||
|
|
||||||
|
### 4) Static-analysis subset (high-value pre-PR checks)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mvn -q antrun:run -Danttarget=tests-warnings-check
|
||||||
|
./scripts/test_stale_sources.sh
|
||||||
|
./scripts/test_BOM_and_tab.sh
|
||||||
|
./scripts/test_default_lcf.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed:
|
||||||
|
|
||||||
|
- All commands succeeded here.
|
||||||
|
- `tests-warnings-check` emitted a Graal-related warning but still returned success.
|
||||||
|
|
||||||
|
### 5) TypeScript consistency check (only when touching web/ts or web/js)
|
||||||
|
|
||||||
|
CI-equivalent flow:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
yarn install
|
||||||
|
ant typescript
|
||||||
|
git diff --exit-code web/js
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed in this environment:
|
||||||
|
|
||||||
|
- `ant typescript` **failed** because `tsc` is missing (`Cannot run program "tsc"`).
|
||||||
|
- `yarn` is not installed locally here, so TypeScript CI parity is currently unavailable without setup.
|
||||||
|
|
||||||
|
### 6) Running apps and single-class runs
|
||||||
|
|
||||||
|
Ant app launch:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
ant decoderpro
|
||||||
|
ant panelpro
|
||||||
|
```
|
||||||
|
|
||||||
|
Single-class/test launcher:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
./runtest.csh --help
|
||||||
|
```
|
||||||
|
|
||||||
|
Observed:
|
||||||
|
|
||||||
|
- `runtest.csh --help` works and auto-generates `.run.sh` if needed.
|
||||||
|
|
||||||
|
## CI pipelines to mirror before opening PR
|
||||||
|
|
||||||
|
Mandatory workflow behavior is defined in `.github/workflows/`:
|
||||||
|
|
||||||
|
- `windows-test.yml` / `windows-java25-test.yml` — broad test suite on Windows.
|
||||||
|
- `headless-test.yml` — headless Maven tests on Linux.
|
||||||
|
- `run-separate.yml` (+ `run-separate-LinkedWarrantTest.yml`) — separately flagged tests on macOS.
|
||||||
|
- `static-analysis.yml` / `static-analysis-25.yml` — ECJ warnings, SpotBugs, Checkstyle, Javadoc, help scan, architecture tests, and repository scripts.
|
||||||
|
- `typescript-check.yml` — Node 20 + yarn + `ant typescript` + diff check on `web/js`.
|
||||||
|
|
||||||
|
When changes are non-trivial, prioritize local replication in this order:
|
||||||
|
|
||||||
|
1. Compile (`debug` target via Maven antrun)
|
||||||
|
2. Focused tests for changed areas
|
||||||
|
3. Static-analysis subset scripts
|
||||||
|
4. TypeScript check if web files changed
|
||||||
|
|
||||||
|
## Architecture and quality guardrails
|
||||||
|
|
||||||
|
- Architecture tests rely on ArchUnit with store updates disabled by default (`archunit.properties`).
|
||||||
|
- Avoid updating `archunit_store/` as a workaround; fix violations instead.
|
||||||
|
- Checkstyle policy is in `checkstyle.xml` (includes line endings and tab checks).
|
||||||
|
- SpotBugs CI gate uses `.spotbugs-check.xml` suppressions; do not add suppressions without strong justification.
|
||||||
|
- Keep line endings LF; keep Python files tab-free (enforced by script).
|
||||||
|
|
||||||
|
## Common failure patterns and mitigations
|
||||||
|
|
||||||
|
- **Huge first Maven run:** expected due downloads; retry after dependencies populate local cache.
|
||||||
|
- **TypeScript build fails with missing `tsc`:** install Node/Yarn dependencies first (CI uses Node 20 + yarn).
|
||||||
|
- **Intermittent/flagged tests:** use `./scripts/run_flagged_tests_separately` after test compile (`mvn antrun:run -Danttarget=tests`).
|
||||||
|
- **Local environment mismatch vs CI JDK:** if odd failures appear on JDK 17, retry on JDK 11 (and optionally 25) to match workflows.
|
||||||
|
|
||||||
|
## Important files in repo root (quick reference)
|
||||||
|
|
||||||
|
High-priority root files:
|
||||||
|
|
||||||
|
- `build.xml`, `pom.xml`
|
||||||
|
- `checkstyle.xml`, `archunit.properties`, `archunit_ignore_patterns.txt`, `.spotbugs-check.xml`
|
||||||
|
- `project.properties`, `release.properties`, `jmri.conf`
|
||||||
|
- `README.md`
|
||||||
|
- `runtest.csh`
|
||||||
|
- `tests_lcf.xml`, `tests_jacoco_lcf.xml`, `default_lcf.xml`
|
||||||
|
|
||||||
|
## Working style for coding agents
|
||||||
|
|
||||||
|
- Prefer **small, surgical changes** in existing patterns over broad refactors.
|
||||||
|
- Always run at least one compile command and targeted tests relevant to changed code.
|
||||||
|
- If you cannot run a required check locally (for example TypeScript tooling missing), state that clearly in PR notes and list exact missing preconditions.
|
||||||
|
- Do not rely on discovery-heavy searching unless this file is insufficient or stale.
|
||||||
|
|
||||||
@@ -0,0 +1,99 @@
|
|||||||
|
version: 2
|
||||||
|
mergeable: # see https://github.com/mergeability/mergeable
|
||||||
|
- when: pull_request.opened, pull_request.assigned, pull_request.unassiged
|
||||||
|
name: 'Attempt to assign author'
|
||||||
|
validate:
|
||||||
|
- do: assignee
|
||||||
|
min:
|
||||||
|
count: 1 # Should be assigned to somebody; if not, assign author
|
||||||
|
pass:
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
fail:
|
||||||
|
- do: assign
|
||||||
|
assignees: [ '@author' ] # this is not assigning if author not a project member see mergeability/mergeable#359
|
||||||
|
- do: checks
|
||||||
|
status: 'success' # Supply the default actions, as if this passed.
|
||||||
|
payload:
|
||||||
|
title: 'Author assigned'
|
||||||
|
- when: pull_request.opened
|
||||||
|
name: 'Check for release note if help, java/src, jython, resources, xml, or web'
|
||||||
|
validate:
|
||||||
|
- do: changeset
|
||||||
|
or: # passes if no lib files or is a release note
|
||||||
|
- and:
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^help/"
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^java/src/"
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^jython/"
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^resources/"
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^web/"
|
||||||
|
- must_exclude:
|
||||||
|
regex: "^xml/"
|
||||||
|
- must_include:
|
||||||
|
regex: "help/en/releasenotes/current-draft-note.shtml"
|
||||||
|
pass:
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
fail:
|
||||||
|
- do: comment
|
||||||
|
payload:
|
||||||
|
body: >
|
||||||
|
Thanks for the PR. Please consider adding a release note in the help/en/releasenotes/current-draft-note.shtml file.
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
- when: pull_request.opened
|
||||||
|
name: 'Add label if any .properties file modified'
|
||||||
|
validate:
|
||||||
|
- do: changeset
|
||||||
|
must_exclude:
|
||||||
|
regex: '\.properties$'
|
||||||
|
pass:
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
fail:
|
||||||
|
- do: comment
|
||||||
|
payload:
|
||||||
|
body: >
|
||||||
|
Thanks for the PR. It includes changes to properties files, so the 'Needs L10N' label has been added"
|
||||||
|
- do: labels
|
||||||
|
labels: [ 'Needs L10N' ]
|
||||||
|
mode: 'add'
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
- when: pull_request.opened
|
||||||
|
name: 'Add label for documentation changes'
|
||||||
|
validate:
|
||||||
|
- do: changeset
|
||||||
|
must_include:
|
||||||
|
regex: '^help/en/((?!releasenotes).)*$' # Require at least one help page not in releasenotes
|
||||||
|
pass:
|
||||||
|
- do: comment
|
||||||
|
payload:
|
||||||
|
body: >
|
||||||
|
This PR includes files in the help hierarchy so the 'Documentation' label has been added. Other labels may also be applied."
|
||||||
|
- do: labels
|
||||||
|
labels: [ 'Documentation' ]
|
||||||
|
mode: 'add'
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
fail:
|
||||||
|
- do: checks
|
||||||
|
status: 'success'
|
||||||
|
- when: pull_request.*, pull_request_review.*
|
||||||
|
name: 'Approved after last commit, no changes requested'
|
||||||
|
validate:
|
||||||
|
- do: approvals
|
||||||
|
min:
|
||||||
|
count: 1 # Number of minimum reviewers. In this case 1.
|
||||||
|
message: 'Must have at least one review.'
|
||||||
|
block:
|
||||||
|
changes_requested: true # If true, block all approvals when one of the reviewers gave 'changes_requested' review
|
||||||
|
message: 'Merge blocked by request for changes.'
|
||||||
|
#limit:
|
||||||
|
# teams: ['org/team_slug'] # when the option is present, only the approvals from the team members will count
|
||||||
|
# owners: true # Optional boolean. When true, the file .github/CODEOWNER is read and only owners approval will count
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
# This workflow will build a Java project with Maven
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Headless CI Tests
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Run HeadLessTest with Maven
|
||||||
|
run: |
|
||||||
|
# run tests using maven with graphics suppressed
|
||||||
|
mvn test "-Djmri.skipTestsRequiringSeparateRunning=true" "-Djava.awt.headless=true" "-Dsurefire.printSummary=false"
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
name: New PR
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target:
|
||||||
|
types: [opened, reopened, labeled, unlabeled, synchronize]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
check-pr:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
PR_LABEL: 'New PR'
|
||||||
|
BLOCK_HOURS: '24' # use e.g. 0.25 for testing
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Check PR age, label if recent, and block merging if labeled
|
||||||
|
uses: actions/github-script@v8
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
script: |
|
||||||
|
const { owner, repo } = context.repo;
|
||||||
|
const pr = context.payload.pull_request;
|
||||||
|
const prNumber = pr.number;
|
||||||
|
const labelName = process.env.PR_LABEL;
|
||||||
|
const hoursLimit = parseFloat(process.env.BLOCK_HOURS);
|
||||||
|
|
||||||
|
// Helper function to get current labels on a PR
|
||||||
|
async function getPrLabels(owner, repo, prNumber) {
|
||||||
|
const labelsResp = await github.rest.issues.listLabelsOnIssue({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: prNumber
|
||||||
|
});
|
||||||
|
return labelsResp.data.map(l => l.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fetch PR details and labels
|
||||||
|
const { data: prDetails } = await github.rest.pulls.get({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
pull_number: prNumber
|
||||||
|
});
|
||||||
|
var labelNames = await getPrLabels(owner, repo, prNumber);
|
||||||
|
|
||||||
|
// 1. Add or remove label based on age
|
||||||
|
const now = new Date();
|
||||||
|
const createdAt = new Date(prDetails.created_at);
|
||||||
|
const ageInHours = (now - createdAt) / (1000 * 60 * 60);
|
||||||
|
console.log(`ℹ️ PR #${prNumber} is ${ageInHours.toFixed(2)}h old.`);
|
||||||
|
|
||||||
|
if (ageInHours <= hoursLimit && !labelNames.includes(labelName)) {
|
||||||
|
console.log(`🔖 Adding label "${labelName}" to PR #${prNumber} as less than ${hoursLimit}h old.`);
|
||||||
|
try {
|
||||||
|
await github.rest.issues.addLabels({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: prNumber,
|
||||||
|
labels: [labelName]
|
||||||
|
});
|
||||||
|
labelNames.push(labelName); // Keep local list in sync
|
||||||
|
} catch (error) {
|
||||||
|
console.log(`⚠️ Could not add label "${labelName}": ${error.message}`);
|
||||||
|
}
|
||||||
|
} else if (ageInHours > hoursLimit && labelNames.includes(labelName)) {
|
||||||
|
console.log(`🔖 Removing label "${labelName}", PR age ${ageInHours.toFixed(2)}h.`);
|
||||||
|
try {
|
||||||
|
await github.rest.issues.removeLabel({
|
||||||
|
owner,
|
||||||
|
repo,
|
||||||
|
issue_number: prNumber,
|
||||||
|
name: labelName
|
||||||
|
});
|
||||||
|
labelNames = labelNames.filter(e => e !== labelName); // Update local array
|
||||||
|
} catch (error) {
|
||||||
|
console.log(`⚠️ Could not remove label "${labelName}": ${error.message}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2. Block merging if label still present
|
||||||
|
if (labelNames.includes(labelName)) {
|
||||||
|
core.setFailed(`❌ This pull request is a "${labelName}" and cannot be merged until ${hoursLimit} hours after creation.`);
|
||||||
|
} else {
|
||||||
|
console.log('✅ PR is mergeable.');
|
||||||
|
}
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
# This workflow will build a Java project with Maven-Ant then run LinkedWarrantTest
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Run LinkedWarrantTest
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: macos-14
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Build and Run
|
||||||
|
run: |
|
||||||
|
# compile code and tests
|
||||||
|
mvn antrun:run -Danttarget=tests
|
||||||
|
# run individual tests
|
||||||
|
./scripts/run_linked_warrant_test jmri/jmrit/logix/LinkedWarrantTest.java
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# This workflow will build a Java project with Maven-Ant then run individually-flagged tests
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Run Separate Tests
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: macos-14
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Build and Run
|
||||||
|
run: |
|
||||||
|
# compile code and tests
|
||||||
|
mvn antrun:run -Danttarget=tests
|
||||||
|
# run individual tests
|
||||||
|
./scripts/run_flagged_tests_separately
|
||||||
|
- name: Check Line Ends
|
||||||
|
run: |
|
||||||
|
# reuses previous compile and tests targets
|
||||||
|
ant checklineends
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
name: Close inactive issues and PRs
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: "21 1 * * 1"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-issues:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v10
|
||||||
|
with:
|
||||||
|
days-before-issue-stale: 45
|
||||||
|
days-before-issue-close: 30
|
||||||
|
stale-issue-label: "Pending closure"
|
||||||
|
close-issue-label: "Closed due to inactivity"
|
||||||
|
stale-issue-message: "This issue is stale because it has been open for 45 days with no activity."
|
||||||
|
close-issue-message: "This issue was closed because it has been inactive for 30 days since being marked as stale."
|
||||||
|
exempt-all-issue-assignees: true
|
||||||
|
days-before-pr-stale: 45
|
||||||
|
days-before-pr-close: 30
|
||||||
|
stale-pr-label: "Pending closure"
|
||||||
|
close-pr-label: "Closed due to inactivity"
|
||||||
|
stale-pr-message: "This PR is stale because it has been open for 45 days with no activity."
|
||||||
|
close-pr-message: "This PR was closed because it has been inactive for 30 days since being marked as stale."
|
||||||
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
# This workflow will build a Java project with Maven
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Static Analysis Java25
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 25
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 25
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Build with Maven
|
||||||
|
run: |
|
||||||
|
# compile with ECJ for warnings or errors
|
||||||
|
mvn antrun:run -Danttarget=tests-warnings-check
|
||||||
|
# run Spotbugs and Checkstyle
|
||||||
|
mvn clean test -U -P travis-spotbugs --batch-mode --file=pom.xml
|
||||||
|
# run Javadoc
|
||||||
|
mvn javadoc:javadoc -U --batch-mode --file=pom.xml
|
||||||
|
# check html
|
||||||
|
mvn exec:exec -P travis-scanhelp --file=pom.xml
|
||||||
|
# check properties
|
||||||
|
mvn antrun:run -Danttarget=checkPropertiesFiles
|
||||||
|
#run Architecture tests
|
||||||
|
mvn -Dtest=jmri.ArchitectureTest,jmri.TestArchitectureTest,jmri.util.FileLineEndingsCheck test --file=pom.xml
|
||||||
|
# Test if stale sources exists
|
||||||
|
./scripts/test_stale_sources.sh
|
||||||
|
# Test if if there are any files with with multiple UTF-8 Byte-Order-Marks (BOM) or TABs
|
||||||
|
./scripts/test_BOM_and_tab.sh
|
||||||
|
# Check that the default_lcf.xml and scripts/default.xml files are in synch.
|
||||||
|
./scripts/test_default_lcf.sh
|
||||||
|
# Check XSLT transformations
|
||||||
|
./scripts/test_decoder_XSLT_transforms.sh
|
||||||
@@ -0,0 +1,51 @@
|
|||||||
|
# This workflow will build a Java project with Maven
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Static Analysis
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Build with Maven
|
||||||
|
run: |
|
||||||
|
# compile with ECJ for warnings or errors
|
||||||
|
mvn antrun:run -Danttarget=tests-warnings-check
|
||||||
|
# run Spotbugs and Checkstyle
|
||||||
|
mvn clean test -U -P travis-spotbugs --batch-mode --file=pom.xml
|
||||||
|
# run Javadoc
|
||||||
|
mvn javadoc:javadoc -U --batch-mode --file=pom.xml
|
||||||
|
# check html
|
||||||
|
mvn exec:exec -P travis-scanhelp --file=pom.xml
|
||||||
|
# check properties
|
||||||
|
mvn antrun:run -Danttarget=checkPropertiesFiles
|
||||||
|
#run Architecture tests
|
||||||
|
mvn -Dtest=jmri.ArchitectureTest,jmri.TestArchitectureTest,jmri.util.FileLineEndingsCheck test --file=pom.xml
|
||||||
|
# Test if stale sources exists
|
||||||
|
./scripts/test_stale_sources.sh
|
||||||
|
# Test if if there are any files with with multiple UTF-8 Byte-Order-Marks (BOM) or TABs
|
||||||
|
./scripts/test_BOM_and_tab.sh
|
||||||
|
# Check that the default_lcf.xml and scripts/default.xml files are in synch.
|
||||||
|
./scripts/test_default_lcf.sh
|
||||||
|
# Check XSLT transformations
|
||||||
|
./scripts/test_decoder_XSLT_transforms.sh
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
# This workflow checks that Typescript code has been properly compiled
|
||||||
|
|
||||||
|
name: Typescript Check
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
pull_request:
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
tsc:
|
||||||
|
name: tsc
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
# see https://github.com/marketplace/actions/typescript-compiler
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: install node v24
|
||||||
|
uses: actions/setup-node@v6
|
||||||
|
with:
|
||||||
|
node-version: 24
|
||||||
|
- name: yarn install
|
||||||
|
run:
|
||||||
|
yarn install
|
||||||
|
- name: check changes
|
||||||
|
run: |
|
||||||
|
ant typescript
|
||||||
|
git diff --exit-code web/js
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# This workflow will build a Java project with Maven
|
||||||
|
# For more information see: https://docs.github.com/en/actions/tutorials/build-and-test-code/java-with-maven
|
||||||
|
|
||||||
|
name: Windows Java25 CI Tests
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 25
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 25
|
||||||
|
- name: Change screen resolution
|
||||||
|
run: Set-DisplayResolution -Width 1600 -Height 1200 -Force
|
||||||
|
shell: pwsh
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Test with Maven
|
||||||
|
run: |
|
||||||
|
# run all tests using maven
|
||||||
|
mvn test "-Djmri.skipTestsRequiringSeparateRunning=true" "-Dsurefire.printSummary=true"
|
||||||
|
- name: Upload generated screenshots artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: screenshots
|
||||||
|
path: temp/temp/*
|
||||||
@@ -0,0 +1,41 @@
|
|||||||
|
# This workflow will build a Java project with Maven
|
||||||
|
# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
|
||||||
|
|
||||||
|
name: Windows CI Tests
|
||||||
|
|
||||||
|
on: [ push, pull_request ]
|
||||||
|
# push:
|
||||||
|
# branches: [ master ]
|
||||||
|
# pull_request:
|
||||||
|
# branches: [ master ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: windows-latest
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v5
|
||||||
|
- name: Set up JDK 11
|
||||||
|
uses: actions/setup-java@v5
|
||||||
|
with:
|
||||||
|
distribution: 'zulu'
|
||||||
|
java-version: 11
|
||||||
|
- name: Change screen resolution
|
||||||
|
run: Set-DisplayResolution -Width 1600 -Height 1200 -Force
|
||||||
|
shell: pwsh
|
||||||
|
- name: Cache Maven packages
|
||||||
|
uses: actions/cache@v5
|
||||||
|
with:
|
||||||
|
path: ~/.m2
|
||||||
|
key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
|
||||||
|
restore-keys: ${{ runner.os }}-m2
|
||||||
|
- name: Test with Maven
|
||||||
|
run: |
|
||||||
|
# run all tests using maven
|
||||||
|
mvn test "-Djmri.skipTestsRequiringSeparateRunning=true" "-Dsurefire.printSummary=false"
|
||||||
|
- name: Upload generated screenshots artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
if: ${{ always() }}
|
||||||
|
with:
|
||||||
|
name: screenshots
|
||||||
|
path: temp/temp/*
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
# build artifacts
|
||||||
|
jmri.jar
|
||||||
|
jmri-tests.jar
|
||||||
|
/dist
|
||||||
|
java/docs
|
||||||
|
/target
|
||||||
|
|
||||||
|
# test artifacts
|
||||||
|
junit-results.xml
|
||||||
|
junit*.properties
|
||||||
|
findbugs.xml
|
||||||
|
findbugs.html
|
||||||
|
spotbugs.xml
|
||||||
|
spotbugs-check.xml
|
||||||
|
spotbugs.html
|
||||||
|
spotbugs-check.html
|
||||||
|
tests-spotbugs.xml
|
||||||
|
tests-spotbugs-check.xml
|
||||||
|
tests-spotbugs.html
|
||||||
|
tests-spotbugs-check.html
|
||||||
|
jacoco.exec
|
||||||
|
jmri-fb.html
|
||||||
|
coveragereport
|
||||||
|
tests.log
|
||||||
|
cucumber-results.xml
|
||||||
|
cucumber-results.json
|
||||||
|
failed_files.txt
|
||||||
|
|
||||||
|
# runtime artifacts
|
||||||
|
messages.log*
|
||||||
|
session.log
|
||||||
|
|
||||||
|
# transient artifacts
|
||||||
|
.ant-targets-build.xml
|
||||||
|
/java/classes
|
||||||
|
/java/test-classes
|
||||||
|
/java/tmp
|
||||||
|
/java/doc
|
||||||
|
/java/test-classes/
|
||||||
|
/scripts/HOWTO-distribution.md.bak
|
||||||
|
*.class
|
||||||
|
/temp
|
||||||
|
.pydevproject
|
||||||
|
*.swp
|
||||||
|
*.swo
|
||||||
|
/lib/cachedir
|
||||||
|
/xml/XSLT/DTD
|
||||||
|
/xml/XSLT/properties
|
||||||
|
/xml/XSLT/xml
|
||||||
|
/xml/XSLT/pages
|
||||||
|
.run.sh
|
||||||
|
hs_err_pid*.log
|
||||||
|
nohup.out
|
||||||
|
|
||||||
|
# private / per-user configuration files
|
||||||
|
/nbproject
|
||||||
|
/web/app/nbproject/private
|
||||||
|
/scripts/config-portable/nbproject/private
|
||||||
|
/.idea/workspace.xml
|
||||||
|
/.idea/modules.xml
|
||||||
|
local.properties
|
||||||
|
/test
|
||||||
|
/test/jmri.conf
|
||||||
|
*.original~
|
||||||
|
.metadata
|
||||||
|
RemoteSystemsTempFiles
|
||||||
|
.idea/codeStyles/Project.xml
|
||||||
|
.idea/jarRepositories.xml
|
||||||
|
.idea/libraries/**
|
||||||
|
.idea/sonarlint/issuestore
|
||||||
|
.factorypath
|
||||||
|
|
||||||
|
# user-installed components
|
||||||
|
/web/TrainCrew
|
||||||
|
|
||||||
|
# CATS source, sometimes present for test
|
||||||
|
/java/src/cats
|
||||||
|
|
||||||
|
# OS junk files
|
||||||
|
[Tt]humbs.db
|
||||||
|
*.DS_Store
|
||||||
Generated
+3
@@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/qaplug_profiles.xml
|
||||||
Generated
+1
@@ -0,0 +1 @@
|
|||||||
|
JMRI
|
||||||
Generated
+57
@@ -0,0 +1,57 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="5">
|
||||||
|
<component name="CheckStyle-IDEA-Module">
|
||||||
|
<option name="configuration">
|
||||||
|
<map />
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
<component name="FacetManager">
|
||||||
|
<facet type="Python" name="Python">
|
||||||
|
<configuration sdkName="Python 2.7" />
|
||||||
|
</facet>
|
||||||
|
</component>
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<output url="file://$MODULE_DIR$/target/classes" />
|
||||||
|
<output-test url="file://$MODULE_DIR$/target/test-classes" />
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/java/src" isTestSource="false" />
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/java/test" isTestSource="true" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
<orderEntry type="module-library" exported="">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="file://$MODULE_DIR$/target/classes" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library" exported="">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="file://$MODULE_DIR$/lib" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES>
|
||||||
|
<root url="file://$MODULE_DIR$/lib" />
|
||||||
|
</SOURCES>
|
||||||
|
<jarDirectory url="file://$MODULE_DIR$/lib" recursive="false" />
|
||||||
|
<jarDirectory url="file://$MODULE_DIR$/lib" recursive="false" type="SOURCES" />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="module-library">
|
||||||
|
<library>
|
||||||
|
<CLASSES>
|
||||||
|
<root url="jar://$MAVEN_REPOSITORY$/org/jetbrains/annotations/17.0.0/annotations-17.0.0.jar!/" />
|
||||||
|
</CLASSES>
|
||||||
|
<JAVADOC />
|
||||||
|
<SOURCES />
|
||||||
|
</library>
|
||||||
|
</orderEntry>
|
||||||
|
<orderEntry type="library" name="lib" level="project" />
|
||||||
|
<orderEntry type="library" name="Python 2.7 interpreter library" level="application" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Generated
+8
@@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="AntConfiguration">
|
||||||
|
<buildFile url="file://$PROJECT_DIR$/help/en/build.xml" />
|
||||||
|
<buildFile url="file://$PROJECT_DIR$/help/fr/build.xml" />
|
||||||
|
<buildFile url="file://$PROJECT_DIR$/build.xml" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+18
@@ -0,0 +1,18 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="CheckStyle-IDEA">
|
||||||
|
<option name="configuration">
|
||||||
|
<map>
|
||||||
|
<entry key="active-configuration" value="PROJECT_RELATIVE:$PROJECT_DIR$/checkstyle.xml:JMRI" />
|
||||||
|
<entry key="checkstyle-version" value="8.24" />
|
||||||
|
<entry key="copy-libs" value="false" />
|
||||||
|
<entry key="location-0" value="BUNDLED:(bundled):Sun Checks" />
|
||||||
|
<entry key="location-1" value="BUNDLED:(bundled):Google Checks" />
|
||||||
|
<entry key="location-2" value="PROJECT_RELATIVE:$PROJECT_DIR$/checkstyle.xml:JMRI" />
|
||||||
|
<entry key="scan-before-checkin" value="false" />
|
||||||
|
<entry key="scanscope" value="JavaOnlyWithTests" />
|
||||||
|
<entry key="suppress-errors" value="false" />
|
||||||
|
</map>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+9
@@ -0,0 +1,9 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="ProjectCodeStyleSettingsManager">
|
||||||
|
<option name="PER_PROJECT_SETTINGS">
|
||||||
|
<value />
|
||||||
|
</option>
|
||||||
|
<option name="PREFERRED_PROJECT_CODE_STYLE" value="Default" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+5
@@ -0,0 +1,5 @@
|
|||||||
|
<component name="ProjectCodeStyleConfiguration">
|
||||||
|
<state>
|
||||||
|
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
|
||||||
|
</state>
|
||||||
|
</component>
|
||||||
Generated
+7
@@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<option name="DEFAULT_COMPILER" value="Eclipse" />
|
||||||
|
<bytecodeTargetLevel target="11" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+3
@@ -0,0 +1,3 @@
|
|||||||
|
<component name="CopyrightManager">
|
||||||
|
<settings default="" />
|
||||||
|
</component>
|
||||||
Generated
+6
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="Encoding" defaultCharsetForPropertiesFiles="UTF-8">
|
||||||
|
<file url="PROJECT" charset="UTF-8" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+53
@@ -0,0 +1,53 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="CheckstyleConfigurable">
|
||||||
|
<option name="suppFilterFilename" value="" />
|
||||||
|
<option name="suppCommentFilter" value="false" />
|
||||||
|
<option name="offComment" value="CHECKSTYLE\:OFF" />
|
||||||
|
<option name="onComment" value="CHECKSTYLE\:ON" />
|
||||||
|
<option name="checkFormat" value=".*" />
|
||||||
|
<option name="messageFormat" value="" />
|
||||||
|
<option name="checkCPP" value="true" />
|
||||||
|
<option name="checkC" value="true" />
|
||||||
|
<option name="suppNearbyCommentFilter" value="false" />
|
||||||
|
<option name="snCommentFormat" value="SUPPRESS CHECKSTYLE (\w+)" />
|
||||||
|
<option name="snCheckFormat" value="$1" />
|
||||||
|
<option name="snMessageFormat" value="" />
|
||||||
|
<option name="snInfluenceFormat" value="0" />
|
||||||
|
<option name="snCheckCPP" value="true" />
|
||||||
|
<option name="snCheckC" value="true" />
|
||||||
|
<option name="pathToUserRulesConfiguration" value="" />
|
||||||
|
<option name="pathToJarWithRules" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="FindBugsConfigurable">
|
||||||
|
<option name="make" value="true" />
|
||||||
|
<option name="effort" value="default" />
|
||||||
|
<option name="priority" value="Medium" />
|
||||||
|
<option name="excludeFilter" value="" />
|
||||||
|
</component>
|
||||||
|
<component name="JavadocGenerationManager">
|
||||||
|
<option name="OUTPUT_DIRECTORY" />
|
||||||
|
<option name="OPTION_SCOPE" value="protected" />
|
||||||
|
<option name="OPTION_HIERARCHY" value="true" />
|
||||||
|
<option name="OPTION_NAVIGATOR" value="true" />
|
||||||
|
<option name="OPTION_INDEX" value="true" />
|
||||||
|
<option name="OPTION_SEPARATE_INDEX" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_USE" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_AUTHOR" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_VERSION" value="true" />
|
||||||
|
<option name="OPTION_DOCUMENT_TAG_DEPRECATED" value="true" />
|
||||||
|
<option name="OPTION_DEPRECATED_LIST" value="true" />
|
||||||
|
<option name="OTHER_OPTIONS" />
|
||||||
|
<option name="HEAP_SIZE" value="2000" />
|
||||||
|
<option name="LOCALE" />
|
||||||
|
<option name="OPEN_IN_BROWSER" value="true" />
|
||||||
|
<option name="OPTION_INCLUDE_LIBS" value="false" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_11" default="true" project-jdk-name="azul-11" project-jdk-type="JavaSDK" />
|
||||||
|
<component name="QAPlugAnalysisUIOptions">
|
||||||
|
<option name="SHOW_STRUCTURE" value="true" />
|
||||||
|
</component>
|
||||||
|
<component name="SuppressionsComponent">
|
||||||
|
<option name="suppComments" value="[]" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+124
@@ -0,0 +1,124 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="Palette2">
|
||||||
|
<group name="Swing">
|
||||||
|
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.png" removable="false" auto-create-binding="false" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Button" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="RadioButton" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="CheckBox" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
|
||||||
|
<initial-values>
|
||||||
|
<property name="text" value="Label" />
|
||||||
|
</initial-values>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
|
||||||
|
<preferred-size width="150" height="-1" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
|
||||||
|
<preferred-size width="150" height="50" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
|
||||||
|
<preferred-size width="200" height="200" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.png" removable="false" auto-create-binding="true" can-attach-label="true">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
|
||||||
|
<preferred-size width="-1" height="20" />
|
||||||
|
</default-constraints>
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.png" removable="false" auto-create-binding="false" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
|
||||||
|
</item>
|
||||||
|
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.png" removable="false" auto-create-binding="true" can-attach-label="false">
|
||||||
|
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
|
||||||
|
</item>
|
||||||
|
</group>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
Generated
+11
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="5">
|
||||||
|
<component name="CommitMessageInspectionProfile">
|
||||||
|
<profile version="1.0">
|
||||||
|
<inspection_tool class="SubjectLimit" enabled="true" level="WARNING" enabled_by_default="true" />
|
||||||
|
</profile>
|
||||||
|
</component>
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<projectDescription>
|
||||||
|
<name>jmri</name>
|
||||||
|
<comment></comment>
|
||||||
|
<projects>
|
||||||
|
</projects>
|
||||||
|
<buildSpec>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.python.pydev.PyDevBuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
<buildCommand>
|
||||||
|
<name>org.eclipse.m2e.core.maven2Builder</name>
|
||||||
|
<arguments>
|
||||||
|
</arguments>
|
||||||
|
</buildCommand>
|
||||||
|
</buildSpec>
|
||||||
|
<natures>
|
||||||
|
<nature>org.eclipse.m2e.core.maven2Nature</nature>
|
||||||
|
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||||
|
<nature>org.python.pydev.pythonNature</nature>
|
||||||
|
</natures>
|
||||||
|
<filteredResources>
|
||||||
|
<filter>
|
||||||
|
<id>1551662639376</id>
|
||||||
|
<name></name>
|
||||||
|
<type>10</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.ui.ide.multiFilter</id>
|
||||||
|
<arguments>1.0-name-matches-false-false-nbproject</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
<filter>
|
||||||
|
<id>1599077280157</id>
|
||||||
|
<name></name>
|
||||||
|
<type>30</type>
|
||||||
|
<matcher>
|
||||||
|
<id>org.eclipse.core.resources.regexFilterMatcher</id>
|
||||||
|
<arguments>node_modules|.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
|
||||||
|
</matcher>
|
||||||
|
</filter>
|
||||||
|
</filteredResources>
|
||||||
|
</projectDescription>
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
encoding//java/acceptancetest/step_definitions=UTF-8
|
||||||
|
encoding//java/src=UTF-8
|
||||||
|
encoding//java/template=UTF-8
|
||||||
|
encoding//java/test=UTF-8
|
||||||
|
encoding/<project>=UTF-8
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.apt.aptEnabled=true
|
||||||
|
org.eclipse.jdt.apt.genSrcDir=target/generated-sources/annotations
|
||||||
|
org.eclipse.jdt.apt.genTestSrcDir=target/generated-test-sources/test-annotations
|
||||||
@@ -0,0 +1,514 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
org.eclipse.jdt.core.builder.cleanOutputFolder=ignore
|
||||||
|
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
|
||||||
|
org.eclipse.jdt.core.builder.invalidClasspath=abort
|
||||||
|
org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
|
||||||
|
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
|
||||||
|
org.eclipse.jdt.core.circularClasspath=error
|
||||||
|
org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
|
||||||
|
org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
|
||||||
|
org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource=error
|
||||||
|
org.eclipse.jdt.core.codeComplete.argumentPrefixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.argumentSuffixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.fieldPrefixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.fieldSuffixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.localPrefixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.localSuffixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.staticFieldPrefixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.staticFieldSuffixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
|
||||||
|
org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.inheritNullAnnotations=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nonnull=javax.annotation.Nonnull
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nonnull.secondary=
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault=javax.annotation.ParametersAreNonnullByDefault
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nonnullbydefault.secondary=
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nullable=javax.annotation.CheckForNull
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=javax.annotation.Nullable
|
||||||
|
org.eclipse.jdt.core.compiler.annotation.nullanalysis=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
|
||||||
|
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||||
|
org.eclipse.jdt.core.compiler.compliance=11
|
||||||
|
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||||
|
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||||
|
org.eclipse.jdt.core.compiler.doc.comment.support=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
|
||||||
|
org.eclipse.jdt.core.compiler.problem.APILeak=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.deadCode=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.deprecation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.fallthroughCase=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.fatalOptionalError=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.fieldHiding=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
|
||||||
|
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=default
|
||||||
|
org.eclipse.jdt.core.compiler.problem.localVariableHiding=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingDefaultCase=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=default
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocTagDescription=all_standard_tags
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsMethodTypeParameters=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=default
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nonnullParameterAnnotationDropped=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nonnullTypeVariableFromLegacyInvocation=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nullReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nullSpecViolation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.parameterAssignment=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.pessimisticNullAnalysisForFreeTypeVariables=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.potentialNullReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.rawTypeReference=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.redundantNullCheck=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.suppressWarningsNotFullyAnalysed=info
|
||||||
|
org.eclipse.jdt.core.compiler.problem.syntacticNullAnalysisForFields=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.terminalDeprecation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unclosedCloseable=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentType=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unlikelyCollectionMethodArgumentTypeStrict=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unlikelyEqualsArgumentType=info
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unstableAutoModuleName=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedExceptionParameter=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=ignore
|
||||||
|
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
|
||||||
|
org.eclipse.jdt.core.compiler.processAnnotations=enabled
|
||||||
|
org.eclipse.jdt.core.compiler.release=disabled
|
||||||
|
org.eclipse.jdt.core.compiler.source=11
|
||||||
|
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
|
||||||
|
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
|
||||||
|
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
|
||||||
|
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
|
||||||
|
org.eclipse.jdt.core.formatter.align_with_spaces=false
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_additive_operator=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_assignment=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_binary_expression=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_compact_if=17
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression_chain=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=17
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_logical_operator=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_relational_operator=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_shift_operator=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=48
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_type_arguments=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_type_parameters=0
|
||||||
|
org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=17
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_after_package=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_field=0
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_method=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_before_package=0
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
|
||||||
|
org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
|
||||||
|
org.eclipse.jdt.core.formatter.comment.align_tags_descriptions_grouped=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.align_tags_names_descriptions=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.count_line_length_from_starting_position=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_block_comments=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_header=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_html=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_line_comments=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.format_source_code=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.indent_parameter_description=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.indent_root_tags=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.indent_tag_description=false
|
||||||
|
org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
|
||||||
|
org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.comment.line_length=80
|
||||||
|
org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
|
||||||
|
org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
|
||||||
|
org.eclipse.jdt.core.formatter.compact_else_if=true
|
||||||
|
org.eclipse.jdt.core.formatter.continuation_indentation=2
|
||||||
|
org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
|
||||||
|
org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
|
||||||
|
org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
|
||||||
|
org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_empty_lines=false
|
||||||
|
org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
|
||||||
|
org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=true
|
||||||
|
org.eclipse.jdt.core.formatter.indentation.size=4
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_enum_constant=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_case=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_switch_case_expressions=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_switch_case_expressions=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
|
||||||
|
org.eclipse.jdt.core.formatter.join_lines_in_comments=true
|
||||||
|
org.eclipse.jdt.core.formatter.join_wrapped_lines=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_annotation_declaration_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_anonymous_type_declaration_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_code_block_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_enum_constant_declaration_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_enum_declaration_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_if_then_body_block_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_lambda_body_block_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_loop_body_block_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_method_body_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.keep_simple_do_while_body_on_same_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_simple_for_body_on_same_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_simple_getter_setter_on_one_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_simple_while_body_on_same_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
|
||||||
|
org.eclipse.jdt.core.formatter.keep_type_declaration_on_one_line=one_line_never
|
||||||
|
org.eclipse.jdt.core.formatter.lineSplit=120
|
||||||
|
org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
|
||||||
|
org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
|
||||||
|
org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
|
||||||
|
org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=1
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_annotation=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_catch_clause=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_enum_constant_declaration=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_for_statment=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_if_while_statement=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_lambda_declaration=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_delcaration=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_method_invocation=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_switch_statement=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.parentheses_positions_in_try_clause=common_lines
|
||||||
|
org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
|
||||||
|
org.eclipse.jdt.core.formatter.tabulation.char=space
|
||||||
|
org.eclipse.jdt.core.formatter.tabulation.size=4
|
||||||
|
org.eclipse.jdt.core.formatter.use_on_off_tags=false
|
||||||
|
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_binary_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_relational_operator=true
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_shift_operator=true
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=false
|
||||||
|
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
|
||||||
|
org.eclipse.jdt.core.incompatibleJDKLevel=warning
|
||||||
|
org.eclipse.jdt.core.incompleteClasspath=error
|
||||||
|
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
eclipse.preferences.version=1
|
||||||
|
formatter_profile=_JMRI
|
||||||
|
formatter_settings_version=16
|
||||||
|
org.eclipse.jdt.ui.exception.name=e
|
||||||
|
org.eclipse.jdt.ui.gettersetter.use.is=true
|
||||||
|
org.eclipse.jdt.ui.keywordthis=false
|
||||||
|
org.eclipse.jdt.ui.overrideannotation=true
|
||||||
|
org.eclipse.jdt.ui.text.custom_code_templates=
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
activeProfiles=
|
||||||
|
eclipse.preferences.version=1
|
||||||
|
resolveWorkspaceProjects=true
|
||||||
|
version=1
|
||||||
@@ -0,0 +1,146 @@
|
|||||||
|
<FindBugsFilter>
|
||||||
|
|
||||||
|
<!-- This first section is used to fail CI if any unexpected bugs appear.
|
||||||
|
We accept certain types of bugs at certain levels until we get them
|
||||||
|
all cleared out. -->
|
||||||
|
|
||||||
|
<!-- Suppress medium bugs which we _don't_ want to fail CI until we can get them removed -->
|
||||||
|
<Match>
|
||||||
|
<Confidence value="2" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
|
||||||
|
<Or>
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
<Bug pattern="CT_CONSTRUCTOR_THROW" /> <!-- 318 cases -->
|
||||||
|
<Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" /> <!-- 25 cases -->
|
||||||
|
<Bug pattern="PA_PUBLIC_PRIMITIVE_ATTRIBUTE" /> <!-- 190 cases -->
|
||||||
|
<Bug pattern="SING_SINGLETON_GETTER_NOT_SYNCHRONIZED" /> <!-- 6 cases -->
|
||||||
|
<Bug pattern="SS_SHOULD_BE_STATIC" /> <!-- 211 cases -->
|
||||||
|
<Bug pattern="UWF_NULL_FIELD" /> <!-- 4 cases -->
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
|
||||||
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
||||||
|
<Bug pattern="DCN_NULLPOINTER_EXCEPTION" /> <!-- 327 cases -->
|
||||||
|
<Bug pattern="SSD_DO_NOT_USE_INSTANCE_LOCK_ON_SHARED_STATIC_DATA" />
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- Suppress low priority bugs which we _don't_ want to fail CI until we can get them removed -->
|
||||||
|
<Match>
|
||||||
|
<Confidence value="3" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
|
||||||
|
<Or>
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
<Bug pattern="AA_ASSERTION_OF_ARGUMENTS" /> <!-- 16 cases -->
|
||||||
|
<Bug pattern="PA_PUBLIC_MUTABLE_OBJECT_ATTRIBUTE" /> <!-- 93 cases -->
|
||||||
|
<Bug pattern="URF_UNREAD_FIELD" /> <!-- 112 cases -->
|
||||||
|
<Bug pattern="URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 50 cases -->
|
||||||
|
<Bug pattern="UUF_UNUSED_FIELD" /> <!-- 19 cases -->
|
||||||
|
<Bug pattern="UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 4 cases -->
|
||||||
|
<Bug pattern="UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR" /> <!-- 141 cases -->
|
||||||
|
<Bug pattern="UWF_UNWRITTEN_FIELD" /> <!-- 6 cases -->
|
||||||
|
<Bug pattern="UWF_UNWRITTEN_PUBLIC_OR_PROTECTED_FIELD" /> <!-- 1 case -->
|
||||||
|
<Bug pattern="UWF_NULL_FIELD" /> <!-- 6 cases -->
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
|
||||||
|
<Bug pattern="IS2_INCONSISTENT_SYNC" />
|
||||||
|
<Bug pattern="NO_NOTIFY_NOT_NOTIFYALL" />
|
||||||
|
<Bug pattern="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE" />
|
||||||
|
<Bug pattern="UW_UNCOND_WAIT" />
|
||||||
|
<Bug pattern="WA_NOT_IN_LOOP" />
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- New reports from SpoBugs 4.9.8 that haven't been addressed (yet) -->
|
||||||
|
<Match>
|
||||||
|
<Confidence value="2" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
|
||||||
|
<Or>
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
<Bug pattern="HSM_HIDING_METHOD" /> <!-- 8 cases -->
|
||||||
|
<Bug pattern="AT_NONATOMIC_64BIT_PRIMITIVE" />
|
||||||
|
<Bug pattern="NN_NAKED_NOTIFY" />
|
||||||
|
<Bug pattern="AT_NONATOMIC_OPERATIONS_ON_SHARED_VARIABLE" />
|
||||||
|
<Bug pattern="AT_STALE_THREAD_WRITE_OF_PRIMITIVE" />
|
||||||
|
<Bug pattern="US_USELESS_SUPPRESSION_ON_METHOD" />
|
||||||
|
<Bug pattern="US_USELESS_SUPPRESSION_ON_FIELD" />
|
||||||
|
<Bug pattern="US_USELESS_SUPPRESSION_ON_CLASS" />
|
||||||
|
<Bug pattern="SF_SWITCH_FALLTHROUGH" />
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
<Match>
|
||||||
|
<Confidence value="3" /> <!-- 3 is low priority, 2 is medium priority, 1 is high priority -->
|
||||||
|
<Or>
|
||||||
|
<!-- Temporary disable these until we have decided what to do about them -->
|
||||||
|
<Bug pattern="THROWS_METHOD_THROWS_RUNTIMEEXCEPTION" />
|
||||||
|
<Bug pattern="THROWS_METHOD_THROWS_CLAUSE_BASIC_EXCEPTION" />
|
||||||
|
<Bug pattern="AT_UNSAFE_RESOURCE_ACCESS_IN_THREAD" />
|
||||||
|
<Bug pattern="OS_OPEN_STREAM_EXCEPTION_PATH" />
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
|
||||||
|
<!-- what follows should be kept in sync with .spotbugs.xml -->
|
||||||
|
|
||||||
|
<!-- The following section is used to suppress notifications about
|
||||||
|
specific bugs and categories that we don't think are
|
||||||
|
worth the effort -->
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Minor clarity issue -->
|
||||||
|
<Bug pattern="RI_REDUNDANT_INTERFACES" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Design issue -->
|
||||||
|
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Design issue -->
|
||||||
|
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Most of these are non-I18N, internal changes of case.
|
||||||
|
We should find the I18N ones, but it seems excessive
|
||||||
|
to track down and annotate all the others first thing -->
|
||||||
|
<Bug pattern="DM_CONVERT_CASE" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Most of these are non-I18N, JMRI-specific file operations.
|
||||||
|
We should find the I18N ones, but it seems excessive
|
||||||
|
to track down and annotate all the others first thing.
|
||||||
|
Suppressed for now to focus attention on
|
||||||
|
other high-priority items. -->
|
||||||
|
<Bug pattern="DM_DEFAULT_ENCODING" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- Suppress SLF4J bug which has many false positives due to ?: operator -->
|
||||||
|
<Match>
|
||||||
|
<Bug pattern="SLF4J_UNKNOWN_ARRAY" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- Very high-frequency "malicious code" warnings can't yet be checked -->
|
||||||
|
<!-- but we keep some others to improve code robustness and containment -->
|
||||||
|
<Match>
|
||||||
|
<Or>
|
||||||
|
<Bug pattern="EI_EXPOSE_REP" />
|
||||||
|
<Bug pattern="EI_EXPOSE_REP2" />
|
||||||
|
<Bug pattern="MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR" />
|
||||||
|
<Bug pattern="MS_MUTABLE_ARRAY" />
|
||||||
|
<Bug pattern="MS_EXPOSE_REP" />
|
||||||
|
<Bug pattern="MS_SHOULD_BE_FINAL" /><!-- we expose various constants for scripts -->
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- items we're unlikely to restore -->
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- JMRI does not use serialization, permanently ignore -->
|
||||||
|
<Bug code="Se,SnVI" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- JMRI code is written with static final loggers. -->
|
||||||
|
<Bug pattern="SLF4J_LOGGER_SHOULD_BE_NON_STATIC" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
</FindBugsFilter>
|
||||||
@@ -0,0 +1,75 @@
|
|||||||
|
<FindBugsFilter>
|
||||||
|
|
||||||
|
<!-- The following section is used to suppress notifications about
|
||||||
|
specific bugs and categories that we don't think are
|
||||||
|
worth the effort -->
|
||||||
|
|
||||||
|
<!-- what follows should be kept in sync with .spotbugs-check.xml -->
|
||||||
|
|
||||||
|
<!-- The following section is used to suppress notifications about
|
||||||
|
specific bugs and categories that we don't think are
|
||||||
|
worth the effort -->
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Minor clarity issue -->
|
||||||
|
<Bug pattern="RI_REDUNDANT_INTERFACES" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Design issue -->
|
||||||
|
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_ANON" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Design issue -->
|
||||||
|
<Bug pattern="SIC_INNER_SHOULD_BE_STATIC_NEEDS_THIS" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Most of these are non-I18N, internal changes of case.
|
||||||
|
We should find the I18N ones, but it seems excessive
|
||||||
|
to track down and annotate all the others first thing -->
|
||||||
|
<Bug pattern="DM_CONVERT_CASE" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- Most of these are non-I18N, JMRI-specific file operations.
|
||||||
|
We should find the I18N ones, but it seems excessive
|
||||||
|
to track down and annotate all the others first thing.
|
||||||
|
Suppressed for now to focus attention on
|
||||||
|
other high-priority items. -->
|
||||||
|
<Bug pattern="DM_DEFAULT_ENCODING" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- Suppress SLF4J bug which has many false positives due to ?: operator -->
|
||||||
|
<Match>
|
||||||
|
<Bug pattern="SLF4J_UNKNOWN_ARRAY" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- Very high-frequency "malicious code" warnings can't yet be checked -->
|
||||||
|
<!-- but we keep some others to improve code robustness and containment -->
|
||||||
|
<Match>
|
||||||
|
<Or>
|
||||||
|
<Bug pattern="EI_EXPOSE_REP" />
|
||||||
|
<Bug pattern="EI_EXPOSE_REP2" />
|
||||||
|
<Bug pattern="MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR" />
|
||||||
|
<Bug pattern="MS_MUTABLE_ARRAY" />
|
||||||
|
<Bug pattern="MS_EXPOSE_REP" />
|
||||||
|
<Bug pattern="MS_SHOULD_BE_FINAL" /><!-- we expose various constants for scripts -->
|
||||||
|
</Or>
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
<!-- items we're unlikely to restore -->
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- JMRI does not use serialization, permanently ignore -->
|
||||||
|
<Bug code="Se,SnVI" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
|
||||||
|
<Match>
|
||||||
|
<!-- JMRI code is written with static final loggers. -->
|
||||||
|
<Bug pattern="SLF4J_LOGGER_SHOULD_BE_NON_STATIC" />
|
||||||
|
</Match>
|
||||||
|
|
||||||
|
</FindBugsFilter>
|
||||||
+81
@@ -0,0 +1,81 @@
|
|||||||
|
language: java
|
||||||
|
|
||||||
|
jdk:
|
||||||
|
- openjdk8
|
||||||
|
|
||||||
|
addons:
|
||||||
|
apt:
|
||||||
|
update: true
|
||||||
|
packages:
|
||||||
|
- graphviz
|
||||||
|
- libalut0
|
||||||
|
- pulseaudio
|
||||||
|
- tidy
|
||||||
|
firefox: latest
|
||||||
|
chrome: stable
|
||||||
|
|
||||||
|
services:
|
||||||
|
- xvfb
|
||||||
|
|
||||||
|
before_install:
|
||||||
|
# uncomment next line dump Travis CI environment variables into log
|
||||||
|
# - set | grep '^[A-Z].*='
|
||||||
|
# ensure no unwanted defaults are set
|
||||||
|
# see https://github.com/travis-ci/travis-ci/issues/4613#issuecomment-181845546
|
||||||
|
- export MAVEN_SKIP_RC="true"
|
||||||
|
# install graphviz on macOS
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update ; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew install graphviz ; fi
|
||||||
|
|
||||||
|
install:
|
||||||
|
- mvn verify -DskipTests=true -Dmaven.javadoc.skip=true -B -V
|
||||||
|
|
||||||
|
before_script:
|
||||||
|
# start audio services
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then start-pulseaudio-x11 ; fi
|
||||||
|
# silence errors from firefox about dbus.
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then dbus-launch ; fi
|
||||||
|
# install Code Climate test coverage reporter
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter ; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-darwin-amd64 > ./cc-test-reporter ; fi
|
||||||
|
- chmod +x ./cc-test-reporter
|
||||||
|
- ./cc-test-reporter before-build
|
||||||
|
|
||||||
|
script:
|
||||||
|
- if [[ "$PRINT_SUMMARY" == "false" ]] ; then ./scripts/travis.sh ; else ./scripts/travis.sh ; fi
|
||||||
|
|
||||||
|
cache:
|
||||||
|
directories:
|
||||||
|
- $HOME/.m2
|
||||||
|
|
||||||
|
os:
|
||||||
|
- linux
|
||||||
|
|
||||||
|
dist: bionic
|
||||||
|
|
||||||
|
env:
|
||||||
|
global:
|
||||||
|
# false to silence most maven output; true to catch tests that do not complete
|
||||||
|
- PRINT_SUMMARY=true
|
||||||
|
- MAVEN_OPTS=-Xmx1536m
|
||||||
|
# see http://maven.apache.org/surefire/maven-surefire-plugin/test-mojo.html#runOrder for valid values
|
||||||
|
- RUN_ORDER=alphabetical
|
||||||
|
- CC_TEST_REPORTER_ID=1d1326c4dfaeede878b46588cda440432d1dd6ec605d2c99af7b240ac7db0477
|
||||||
|
- SKIPINTERMITTENT=true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
include:
|
||||||
|
- name: GUI Tests
|
||||||
|
os: linux
|
||||||
|
env: HEADLESS=false STATIC=false
|
||||||
|
- name: Headless Tests
|
||||||
|
os: linux
|
||||||
|
env: HEADLESS=true STATIC=false
|
||||||
|
- name: Intermittently Failing GUI Tests
|
||||||
|
os: linux
|
||||||
|
env: HEADLESS=false SKIPINTERMITTENT=false STATIC=true
|
||||||
|
|
||||||
|
after_success:
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$HEADLESS" == "false" ]] ; then mvn jacoco:report coveralls:report -U -P travis-coverage ; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$HEADLESS" == "false" ]] ; then JACOCO_SOURCE_PATH=java/src ./cc-test-reporter format-coverage target/site/jacoco/jacoco.xml --input-type jacoco ; ./cc-test-reporter upload-coverage ; fi
|
||||||
|
- if [[ "$TRAVIS_OS_NAME" == "linux" && "$HEADLESS" == "false" ]] ; then bash <(curl -s https://codecov.io/bash) ; fi
|
||||||
Vendored
+25
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
"java.configuration.updateBuildConfiguration": "automatic",
|
||||||
|
"java.dependency.packagePresentation": "hierarchical",
|
||||||
|
"java.test.config": [
|
||||||
|
{
|
||||||
|
"name": "JMRI",
|
||||||
|
"workingDirectory": "${workspaceFolder}",
|
||||||
|
"vmargs": [
|
||||||
|
"-Duser.language=en",
|
||||||
|
"-Duser.region=US",
|
||||||
|
"-Djmri.prefsdir=${workspaceFolder}/temp",
|
||||||
|
"-Djmri.shutdownmanager=jmri.util.MockShutDownManager"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"java.test.defaultConfig": "JMRI",
|
||||||
|
"java.format.settings.profile": "JMRI",
|
||||||
|
"java.format.settings.url": ".settings/org.eclipse.jdt.core.prefs",
|
||||||
|
"files.exclude": {
|
||||||
|
"**/.classpath": true,
|
||||||
|
"**/.project": true,
|
||||||
|
"**/.settings": true,
|
||||||
|
"**/.factorypath": true
|
||||||
|
}
|
||||||
|
}
|
||||||
Vendored
+25
@@ -0,0 +1,25 @@
|
|||||||
|
{
|
||||||
|
// See https://go.microsoft.com/fwlink/?LinkId=733558
|
||||||
|
// for the documentation about the tasks.json format
|
||||||
|
"version": "2.0.0",
|
||||||
|
"tasks": [
|
||||||
|
{
|
||||||
|
"label": "verify",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "mvn -B verify",
|
||||||
|
"group": "build"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "test",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "mvn -B test",
|
||||||
|
"group": "test"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"label": "compile",
|
||||||
|
"type": "shell",
|
||||||
|
"command": "mvn -B test-compile",
|
||||||
|
"group": "build"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user