From 58d0a7658bc732675dfa76665c74f0792d8b01d1 Mon Sep 17 00:00:00 2001 From: Stefan Hahmann Date: Mon, 17 Apr 2023 13:12:07 +0200 Subject: [PATCH 1/3] Change java distro for SonarCloud analysis and report to zulu (as usual in scijava project) --- .github/workflows/sonarcloud.yml | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) diff --git a/.github/workflows/sonarcloud.yml b/.github/workflows/sonarcloud.yml index 182b2e4ed..498252aac 100644 --- a/.github/workflows/sonarcloud.yml +++ b/.github/workflows/sonarcloud.yml @@ -1,8 +1,3 @@ -# 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. - # This workflow helps you trigger a SonarCloud analysis of your code and populates # GitHub Code Scanning alerts with the vulnerabilities found. # Free for open source project. @@ -41,14 +36,15 @@ permissions: jobs: Sonar-Analysis-and-Report: runs-on: ubuntu-latest + steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v2 - name: Set up JDK 11 - uses: actions/setup-java@v3 + uses: actions/setup-java@v2 with: java-version: '11' - distribution: 'temurin' - cache: maven + distribution: 'zulu' + cache: 'maven' - name: Jacoco Report and SonarCloud Analysis env: From ccc9a1158ccd9cd2ac0696c9ea8b3822d5d46a47 Mon Sep 17 00:00:00 2001 From: Stefan Hahmann Date: Wed, 29 Mar 2023 09:46:19 +0200 Subject: [PATCH 2/3] Add slf4j as logging framework * Provide logback-core and logback-classic as test-runtime dependencies * Provide a logback-test.xml with project specific logging requirements --- .gitignore | 1 + pom.xml | 22 ++- .../mamut/deeplineage/StartImageJ.java | 7 + src/test/resources/logback-test.xml | 125 ++++++++++++++++++ 4 files changed, 154 insertions(+), 1 deletion(-) create mode 100644 src/test/resources/logback-test.xml diff --git a/.gitignore b/.gitignore index 0e13eebbe..04acdd956 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ buildNumber.properties .mvn/timing.properties # https://github.com/takari/maven-wrapper#usage-without-binary-jar .mvn/wrapper/maven-wrapper.jar +/logs/ diff --git a/pom.xml b/pom.xml index fd9087a99..6426c84b3 100644 --- a/pom.xml +++ b/pom.xml @@ -60,6 +60,26 @@ mastodon ${mastodon.version} + + + + org.slf4j + slf4j-api + + + + + ch.qos.logback + logback-classic + test + + + + ch.qos.logback + logback-core + test + + sc.fiji spim_data @@ -126,7 +146,7 @@ https://maven.scijava.org/content/groups/public - + coverage diff --git a/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java b/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java index f9236a9fe..75d57ab65 100644 --- a/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java +++ b/src/test/java/org/mastodon/mamut/deeplineage/StartImageJ.java @@ -30,6 +30,10 @@ import org.scijava.Context; import org.scijava.ui.UIService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.lang.invoke.MethodHandles; /** * Shows the ImageJ main window, with Mastodon installed. @@ -38,8 +42,11 @@ */ public class StartImageJ { + private static final Logger logger = LoggerFactory.getLogger( MethodHandles.lookup().lookupClass() ); + public static void main( String... args ) { + logger.info( "Starting ImageJ..." ); Context context = new Context(); UIService uiService = context.service( UIService.class ); uiService.showUI(); diff --git a/src/test/resources/logback-test.xml b/src/test/resources/logback-test.xml new file mode 100644 index 000000000..264824a5a --- /dev/null +++ b/src/test/resources/logback-test.xml @@ -0,0 +1,125 @@ + + + + + + + + + %highlight(%-5level) %d{yyyy-MM-dd HH:mm:ss.SSS} [%blue(%t)] \(%file:%line\) - %m%n + + + + INFO + + + + + %highlight(%-5level) %d{yyyy-MM-dd HH:mm:ss.SSS} [%blue(%t)] \(%file:%line\) - %m%n + + + + WARN + + + + ${LOGS}/trace.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/trace.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + TRACE + + + + ${LOGS}/debug.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/debug.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + DEBUG + + + + ${LOGS}/info.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/info.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + INFO + + + + ${LOGS}/warn.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/warn.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + WARN + + + + ${LOGS}/error.log + + %d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5p [%c{1}:%M:%L] - %m%n + + + + ${LOGS}/error.%d{yyyy-MM-dd}.%i.log.zip + + 20MB + 60 + 1GB + + + ERROR + + + + + + + + + + + + + + + + + + From 9991571705e0d1265e3fe5ab2487f0b636eb9a64 Mon Sep 17 00:00:00 2001 From: Stefan Hahmann Date: Thu, 20 Apr 2023 14:26:49 +0200 Subject: [PATCH 3/3] Add build.yml --- .github/workflows/build.yml | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 .github/workflows/build.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..df590fd94 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +# This workflow will build a Java project with Maven + +name: Java CI with Maven + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Java + uses: actions/setup-java@v2 + with: + java-version: '8' + distribution: 'zulu' + cache: 'maven' + - name: Build with Maven + run: mvn -B package --file pom.xml