diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..3a112848d --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,37 @@ +name: SonarCloud +on: + push: + branches: + - master + pull_request: + types: [opened, synchronize, reopened] +jobs: + build: + name: Build and analyze + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 # Shallow clones should be disabled for a better relevancy of analysis + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: 11 + distribution: 'zulu' # Alternative distribution options are available. + - name: Cache SonarCloud packages + uses: actions/cache@v3 + with: + path: ~/.sonar/cache + key: ${{ runner.os }}-sonar + restore-keys: ${{ runner.os }}-sonar + - name: Cache Maven packages + uses: actions/cache@v3 + with: + path: ~/.m2 + key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} + restore-keys: ${{ runner.os }}-m2 + - name: Build and analyze + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any + SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} + run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=dh-anna_base diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml new file mode 100644 index 000000000..f7367e0d4 --- /dev/null +++ b/.github/workflows/maven.yml @@ -0,0 +1,35 @@ +# This workflow will build a Java project with Maven, and cache/restore any dependencies to improve the workflow execution time +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-java-with-maven + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Java CI with Maven + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up JDK 11 + uses: actions/setup-java@v3 + with: + java-version: '11' + distribution: 'temurin' + cache: maven + - name: Build with Maven + run: mvn -B package --file pom.xml + + # Optional: Uploads the full dependency graph to GitHub to improve the quality of Dependabot alerts this repository can receive + - name: Update dependency graph + uses: advanced-security/maven-dependency-submission-action@571e99aab1055c2e71a1e2309b9691de18d6b7d6 diff --git a/README.md b/README.md index e26e034fc..d1e183633 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,15 @@ This is a sample application for the verification laboratory. +Changes D ## Getting started +Changes C + +# Rete +'''lab +**1** + * The application is implemented in Java. * The project can be built using [Gradle](https://gradle.org/) or [Maven](https://maven.apache.org/) (currently **Maven** is preferred). * [JUnit](https://junit.org/junit5/) is used for tests. diff --git a/pom.xml b/pom.xml index 2be9fb5f5..6e426b8cd 100644 --- a/pom.xml +++ b/pom.xml @@ -7,6 +7,8 @@ UTF-8 + dh-anna + https://sonarcloud.io pom @@ -39,7 +41,9 @@ 0.8.7 test + + @@ -51,6 +55,28 @@ 11 + + + org.jacoco + jacoco-maven-plugin + 0.8.7 + + + default-prepare-agent + + prepare-agent + + + + default-report + prepare-package + + report + + + + + - \ No newline at end of file + diff --git a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java index 06649d278..787165fe5 100644 --- a/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java +++ b/train-controller/src/main/java/hu/bme/mit/train/controller/TrainControllerImpl.java @@ -43,7 +43,7 @@ private void enforceSpeedLimit() { @Override public void setJoystickPosition(int joystickPosition) { - this.step = joystickPosition; + this.step = joystickPosition; } } diff --git a/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java b/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java index 4ef42638b..f74c0d3f8 100644 --- a/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java +++ b/train-system/src/main/java/hu/bme/mit/train/system/TrainSystem.java @@ -6,15 +6,23 @@ import hu.bme.mit.train.interfaces.TrainUser; import hu.bme.mit.train.sensor.TrainSensorImpl; import hu.bme.mit.train.user.TrainUserImpl; +import java.util.Timer; public class TrainSystem { private TrainController controller = new TrainControllerImpl(); private TrainUser user = new TrainUserImpl(controller); private TrainSensor sensor = new TrainSensorImpl(controller, user); + private Timer timer = new Timer(); public TrainController getController() { return controller; + timer.scheduleAtFixedRate(new TimerTask() { + @Override + public void run() { + followSpeed(); + } + }, 2*60*1000, 2*60*1000); } public TrainSensor getSensor() { diff --git a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java index 93d3b2e59..98a77ad62 100644 --- a/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java +++ b/train-user/src/main/java/hu/bme/mit/train/user/TrainUserImpl.java @@ -28,4 +28,8 @@ public void overrideJoystickPosition(int joystickPosition) { controller.setJoystickPosition(joystickPosition); } + public void setSpeedLimit(int speedLimit){ + controller.setSpeedLimit(speedLimit); + } + }