Skip to content

Commit

Permalink
Merge branch 'refs/heads/master' into stable
Browse files Browse the repository at this point in the history
  • Loading branch information
mfleisch committed Jul 21, 2024
2 parents 8db78ca + ebbeff0 commit b004470
Show file tree
Hide file tree
Showing 406 changed files with 6,544 additions and 7,167 deletions.
18 changes: 11 additions & 7 deletions .github/workflows/distribute.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ jobs:
# - name: Set up Zulu JDK
# uses: actions/setup-java@v1
# with:
# java-version: '17' # The JDK version to make available on the path.
# java-version: '21' # The JDK version to make available on the path.
# java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
# architecture: x64 # (x64 or x86) - defaults to x64
# - name: Load Build properties
Expand Down Expand Up @@ -73,7 +73,7 @@ jobs:
# env:
# WIN_INSTALLER_CERTIFICATE_FILE: ${{ steps.generic_codesign_cert.outputs.filePath }}
# with:
# gradle-version: 7.6
# gradle-version: 8.8
# build-root-directory: sirius_dist/sirius_cli_single_os
# arguments: clean publishSiriusPublicationToMavenLocal -P "build.sirius.starter.jdk.include=true" -P "de.unijena.bioinf.build.MACOS_APP_IDENTITY_ID=${{ secrets.MACOS_APP_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_IDENTITY_ID=${{ secrets.MACOS_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID=${{ secrets.MACOS_APPLE_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID_PW=${{ secrets.MACOS_APPLE_ID_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_FILE=${{ steps.generic_codesign_cert.outputs.filePath }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_PW=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_TIMESTAMP_URL=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_TIMESTAMP_URL }}"
#
Expand Down Expand Up @@ -208,13 +208,15 @@ jobs:
SIRIUS_USER: ${{ secrets.SIRIUS_USER }}
SIRIUS_PW: ${{ secrets.SIRIUS_PW }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
lfs: true
- name: Git LFS Pull
run: git lfs pull
- name: Set up Zulu JDK-FX
uses: actions/setup-java@v1
with:
java-version: '17' # The JDK version to make available on the path.
java-version: '21' # The JDK version to make available on the path.
java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
architecture: x64 # (x64 or x86) - defaults to x64
- name: Load Build properties
Expand Down Expand Up @@ -258,9 +260,9 @@ jobs:
env:
WIN_INSTALLER_CERTIFICATE_FILE: ${{ steps.generic_codesign_cert.outputs.filePath }}
with:
gradle-version: 7.6
gradle-version: 8.8
build-root-directory: sirius_dist/sirius_gui_dist
arguments: clean publishSiriusPublicationToMavenLocal -P "build.sirius.native.openjfx.exclude=true" -P "build.sirius.starter.jdk.include=true" -P "de.unijena.bioinf.build.MACOS_APP_IDENTITY_ID=${{ secrets.MACOS_APP_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_IDENTITY_ID=${{ secrets.MACOS_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID=${{ secrets.MACOS_APPLE_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID_PW=${{ secrets.MACOS_APPLE_ID_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_FILE=${{ steps.generic_codesign_cert.outputs.filePath }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_PW=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_TIMESTAMP_URL=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_TIMESTAMP_URL }}"
arguments: --stacktrace clean publishSiriusPublicationToMavenLocal -P "build.sirius.native.openjfx.exclude=true" -P "build.sirius.starter.jdk.include=true" -P "de.unijena.bioinf.build.MACOS_APP_IDENTITY_ID=${{ secrets.MACOS_APP_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_IDENTITY_ID=${{ secrets.MACOS_IDENTITY_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID=${{ secrets.MACOS_APPLE_ID }}" -P "de.unijena.bioinf.build.MACOS_APPLE_ID_PW=${{ secrets.MACOS_APPLE_ID_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_FILE=${{ steps.generic_codesign_cert.outputs.filePath }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_PW=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_PW }}" -P "de.unijena.bioinf.build.WIN_INSTALLER_CERTIFICATE_TIMESTAMP_URL=${{ secrets.GENERIC_INSTALLER_CERTIFICATE_TIMESTAMP_URL }}"

# - name: Sirius Run
# run: |
Expand Down Expand Up @@ -389,9 +391,11 @@ jobs:
# needs: [ distCLI, distGUI]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
lfs: true
- name: Git LFS Pull
run: git lfs pull
- name: Inject slug/short variables
uses: rlespinasse/github-slug-action@v3.x
- name: Load Build properties
Expand Down
2 changes: 1 addition & 1 deletion .gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
# https://github.com/gradle/gradle
#image: gradle:alpine
default:
image: azul/zulu-openjdk:17-latest
image: azul/zulu-openjdk:21-latest
tags: [$RUNNER_TAGS]

# image: git.bio.informatik.uni-jena.de:5050/bioinf-mit/docker-images/ubuntu-zulu-fx-gradle:22.04-15.42.15-6.9.2-12
Expand Down
18 changes: 12 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blueviolet.svg)](https://www.gnu.org/licenses/agpl-3.0)
[![Generic badge](https://img.shields.io/badge/Version-6.0.0-informational.svg)](https://shields.io/)
[![Generic badge](https://img.shields.io/badge/Version-6.0.1--SNAPSHOT-informational.svg)](https://shields.io/)
[![Build and Publish](https://github.com/sirius-ms/sirius/actions/workflows/distribute.yaml/badge.svg?branch=release-4-pre)](https://github.com/sirius-ms/sirius/actions/workflows/distribute.yaml)

*<span style="color: #808080;">Our methods are offered to the scientific community as freely available resources. (Re-)distribution of the
Expand All @@ -22,18 +22,22 @@ Main developers of SIRIUS are the [Böcker group](https://bio.informatik.uni-jen
- [Online Documentation](https://v6.docs.sirius-ms.io/)
- [Video tutorials](https://www.youtube.com/channel/UCIbW_ZFSADRUQ-T5nmgU4VA/featured)
- [Bookchapter on using SIRIUS 4](https://doi.org/10.1007/978-1-0716-0239-3_11) ([Preprint](https://bio.informatik.uni-jena.de/wp/wp-content/uploads/2020/12/SIRIUS4_book_chapter_preprint-2.pdf)) -- does not cover the new LC-MS/MS processing option
- [Demo data](https://bio.informatik.uni-jena.de/wp/wp-content/uploads/2015/05/demo.zip)
- [Demo data](data/demo.zip)
- [Logos for publications and presentations](https://bio.informatik.uni-jena.de/software/sirius/sirius-logos/)

<!--begin download-->

### SIRIUS+CSI:FingerID GUI and CLI - Version 6.0.0 (2024-06-03)
### SIRIUS+CSI:FingerID GUI and CLI - Version 6.0.1-SNAPSHOT (2024-06-20)
##### These versions include the Java Runtime Environment, so there is no need to install Java separately! Just download, install/unpack and execute.
- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-win64.msi) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-win64.zip) / - for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-osx64.pkg) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-osx64.zip) / - for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-linux64.zip)
- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-win64.msi) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-win64.zip)
- for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-osx64.pkg) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-osx64.zip)
- for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-linux64.zip)

### SIRIUS+CSI:FingerID Command-Line Interface only - Version 6.0.0 (2024-06-03)
### SIRIUS+CSI:FingerID Command-Line Interface only - Version 6.0.1-SNAPSHOT (2024-06-20)
##### These versions include the Java Runtime Environment, so there is no need to install Java separately! Just download, install/unpack and execute.
- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-win64-headless.msi) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-win64-headless.zip) / - for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-osx64-headless.pkg) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-osx64-headless.zip) / - for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.0/sirius-6.0.0-linux64-headless.zip)
- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-win64-headless.msi) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-win64-headless.zip)
- for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-osx64-headless.pkg) / [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-osx64-headless.zip)
- for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v6.0.1-SNAPSHOT/sirius-6.0.1-SNAPSHOT-linux64-headless.zip)


<!--end download-->
Expand Down Expand Up @@ -62,6 +66,8 @@ may be required.
### [Sources on GitHub](https://github.com/sirius-ms)
- [SIRIUS frontend](https://github.com/sirius-ms/sirius)
- [SIRIUS library](https://github.com/sirius-ms/sirius-libs)
- [SIRIUS-API Java SDK](sirius_nightsky_sdk/sirius_nightsky_sdk.openapi/README.md)
- [SIRIUS-API SDKs](https://github.com/sirius-ms/sirius-client-openAPI)

### [Changelog](https://v6.docs.sirius-ms.io/changelog/)

Expand Down
115 changes: 41 additions & 74 deletions build.gradle
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import java.nio.file.Files
import java.nio.file.StandardOpenOption
import org.gradle.nativeplatform.platform.internal.DefaultNativePlatform

import java.nio.file.Files
import java.nio.file.StandardOpenOption

buildscript {
repositories {
Expand All @@ -13,29 +13,29 @@ buildscript {
classpath 'commons-configuration:commons-configuration:1.10'
classpath 'com.github.viswaramamoorthy:gradle-util-plugins:0.1.0-RELEASE'
classpath 'org.yaml:snakeyaml:1.29'
classpath 'org.jfrog.buildinfo:build-info-extractor-gradle:5.2.2'
}
}

plugins {
id "com.jfrog.artifactory" version "4.25.1"
id "de.undercouch.download" version "4.1.1"
}

//this task is used to update the gradle wrapper properties to a new version
// it also ensures that wrapper scripts and gradle-wrapper.jar are updates if necessary
wrapper {
gradleVersion = '7.6'
gradleVersion = '8.8'
}

//Global Properties
ext {
junit_version = '5.10.0'
jackson_version = "2.16.1"
spring_boot_version = "3.2.3"
spring_boot_version = "3.3.1"
springdoc_version = "2.3.0"
//version for external libraries
slf4j_version = '1.7.36'
jjobs_version = '0.9.36-SNAPSHOT'
jjobs_version = '0.9.36'
jaxb_version = "2.3.9"
cdk_version = "2.8"

Expand Down Expand Up @@ -66,7 +66,7 @@ ext {
excludeJFX = Boolean.parseBoolean((project.findProperty("build.sirius.native.openjfx.exclude") ?: "false") as String)
System.out.println("----> excludeJFX: ${excludeJFX} | ${project.findProperty("build.sirius.native.openjfx.exclude")}")

jetbrains_version = "22.0.0"
jetbrains_version = "24.1.0"

// mainly for IDE execution, ilp libs are not shipped with distributions anyways
cplex_version = '12.7.1'
Expand Down Expand Up @@ -99,11 +99,11 @@ project.ext.set("distPath", file('dist').absolutePath)


allprojects {
apply plugin: "com.jfrog.artifactory"
apply plugin: 'com.jfrog.artifactory'
apply plugin: 'java'
apply plugin: 'maven-publish'

targetCompatibility = 17
targetCompatibility = 21

compileJava.options.encoding = "UTF-8"
compileTestJava.options.encoding = "UTF-8"
Expand All @@ -118,10 +118,6 @@ allprojects {
mavenCentral()
maven {//public libs only so anybody can build the frontend without login
url "https://bio.informatik.uni-jena.de/repository/libs-oss"
metadataSources {
mavenPom()
artifact()
}
}
maven {
url "https://www.ebi.ac.uk/Tools/maven/repos/content/groups/ebi-repo/"
Expand All @@ -130,27 +126,21 @@ allprojects {
url "https://repo1.maven.org/maven2/" //glazed lists
}
maven {
// only used for spectral hashs (Splash)
url "http://gose.fiehnlab.ucdavis.edu:55000/content/groups/public"
allowInsecureProtocol = true
// only used for spectral hashs (Splash)
}
}

dependencies {

annotationProcessor "de.unijena.bioinf.ms:processor:$siriusVersion"
implementation 'net.sf.trove4j:core:3.1.0'

implementation "org.jetbrains:annotations:$jetbrains_version"

implementation "org.slf4j:log4j-over-slf4j:$slf4j_version"
implementation "org.slf4j:jcl-over-slf4j:$slf4j_version"
implementation "org.slf4j:slf4j-api:$slf4j_version"

//NOTE: cannot be provided as transitive dependency
implementation "jakarta.persistence:jakarta.persistence-api:$jakarta_version"
implementation "org.glassfish.jaxb:jaxb-runtime:$jaxb_version"

// TEST DEPENDENCIES
testImplementation "org.slf4j:log4j-over-slf4j:$slf4j_version"
testImplementation "org.slf4j:jcl-over-slf4j:$slf4j_version"
// Aggregator dependency that also brings JUnit 5 parameterized tests etc.
testImplementation("org.junit.jupiter:junit-jupiter:$junit_version")
testImplementation("org.junit.jupiter:junit-jupiter-params:$junit_version")
Expand All @@ -166,7 +156,7 @@ allprojects {

//there are some outdated incompatible trove dependencies in some libs.
// this is to exclude them and enforce the one we need.
configurations.all {
configurations.configureEach {
//replaced by log4j-over-slf4j
it.exclude group: "log4j", module: "log4j"
//replaced by jcl-over-slf4j
Expand All @@ -181,62 +171,38 @@ allprojects {
}
}


subprojects {
apply plugin: 'application'
}


task sourceJar(type: Jar) {
group = 'build'
archiveClassifier.set('sources')
from sourceSets.main.allSource
}

task javadocJar(type: Jar, dependsOn: javadoc) {
group = 'documentation'
archiveClassifier.set('javadoc')
from javadoc.destinationDir
}

def javaProjects() {
subprojects.findAll { new File(it.projectDir, 'src').directory }
}

allprojects {
configure(javaProjects()) {
java {
withJavadocJar()
withSourcesJar()
}
//do not build javadoc for snapshot version to reduce build time
components.java.withVariantsFromConfiguration(configurations.javadocElements) {
if (version.toString().endsWith('-SNAPSHOT'))
skip()
}
//build only artifacts from modules that contain code
if (new File(projectDir, "src/main").isDirectory() && !"sirius_rest_service".equalsIgnoreCase(project.name) && !"buildSrc".equalsIgnoreCase(project.name)) {
publishing {
publications {
mavenJava(MavenPublication) {
if (version.toString().endsWith('-SNAPSHOT'))
setArtifacts([jar, sourceJar])
else
setArtifacts([jar, sourceJar, javadocJar])
}
}
}
}

publishing {
publications {
mavenJava(MavenPublication) {
from project.components.java
//adding submodules to pom
pom.withXml {
if (!project.subprojects.isEmpty()) {
def modlules = asNode().appendNode('modules', '')
project.subprojects.each {
new Node(modlules, 'module', it.name)
from project.components.java

pom {
licenses {
license {
name = 'GNU Affero General Public License, Version 3.0'
url = 'https://www.gnu.org/licenses/agpl-3.0.txt'
}
}
}
}
setArtifacts([])
}
}
}
}

task refreshDownloadLinks {
tasks.register('refreshDownloadLinks') {
File webPath = getBuildDir().toPath().resolve('tmp/webSite/').toFile()
group = 'publishing'
File outfile = new File(webPath, "sirius-download.md")
Expand All @@ -250,18 +216,18 @@ task refreshDownloadLinks {
"### SIRIUS+CSI:FingerID GUI and CLI - Version $version (${new Date().format('yyyy-MM-dd')})",
"##### These versions include the Java Runtime Environment, so there is no need to install Java separately! Just download, install/unpack and execute.",
"- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64.msi) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64.zip) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64.zip)",
"- for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64.pkg) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64.zip) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64.zip)",
"- for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-linux64.zip)",

"",
"### SIRIUS+CSI:FingerID Command-Line Interface only - Version $version (${new Date().format('yyyy-MM-dd')})",
"##### These versions include the Java Runtime Environment, so there is no need to install Java separately! Just download, install/unpack and execute.",
"- for Windows (64bit): [msi](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64-headless.msi) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64-headless.zip) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-win64-headless.zip)",
"- for Mac (64bit): [pkg](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64-headless.pkg) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64-headless.zip) / " +
"[zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-osx64-headless.zip)",
"- for Linux (64bit): [zip](https://github.com/sirius-ms/sirius/releases/download/v$version/sirius-$version-linux64-headless.zip)",
""
] as List
Expand All @@ -274,7 +240,7 @@ task refreshDownloadLinks {
String cleanVersion = fingeridVersion.toString().replace('-SNAPSHOT', '')
String minorVersion = "${cleanVersion.split('[.]')[0]}.${cleanVersion.split('[.]')[1]}"

task refreshTrainingLinks {
tasks.register('refreshTrainingLinks') {
File webPath = getBuildDir().toPath().resolve('tmp/webSite/').toFile()
group = 'publishing'
File outfile = new File(webPath, "sirius-training.md")
Expand All @@ -292,7 +258,7 @@ task refreshTrainingLinks {
}
}

task refreshReadMe {
tasks.register('refreshReadMe') {
inputs.files(refreshDownloadLinks.outputs.files.singleFile, refreshTrainingLinks.outputs.files.singleFile)
outputs.file("${getRootDir()}/README.md")
group = 'publishing'
Expand Down Expand Up @@ -342,6 +308,7 @@ task refreshReadMe {
}
refreshReadMe.dependsOn refreshTrainingLinks
refreshReadMe.dependsOn refreshDownloadLinks

// publication artifactory
artifactory {
contextUrl = 'https://bio.informatik.uni-jena.de/repository/'
Expand Down
Loading

0 comments on commit b004470

Please sign in to comment.