cronctl-spring-boot-starter
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>ru.syntezis</groupId>
<artifactId>cronctl-spring-boot-starter</artifactId>
<version>0.0.3</version>
</dependency><?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>ru.syntezis</groupId>
<artifactId>cronctl-spring-boot-starter</artifactId>
<version>0.0.3</version>
<packaging>jar</packaging>
<name>cronctl-spring-boot-starter</name>
<description>HTTP API for managing @Scheduled methods in Spring Boot applications</description>
<url>https://github.com/syntezis-ru/cronctl</url>
<organization>
<name>Syntezis</name>
<url>https://syntezis.ru</url>
</organization>
<developers>
<developer>
<id>1</id>
<name>silenzzz</name>
<email>silenzzz@syntezis.ru</email>
<url>https://github.com/silenzzz</url>
<timezone>UTC+3</timezone>
<organization>Syntezis</organization>
<organizationUrl>https://syntezis.ru</organizationUrl>
</developer>
</developers>
<issueManagement>
<system>GitHub</system>
<url>https://github.com/syntezis-ru/cronctl/issues/new/choose</url>
</issueManagement>
<ciManagement>
<system>GitHub</system>
<url>https://github.com/syntezis-ru/cronctl/actions</url>
</ciManagement>
<licenses>
<license>
<name>Apache License, Version 2.0</name>
<url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<url>https://github.com/syntezis-ru/cronctl</url>
<connection>scm:git:git://github.com/syntezis-ru/cronctl.git</connection>
<developerConnection>scm:git:https://github.com/syntezis-ru/cronctl.git</developerConnection>
</scm>
<distributionManagement>
<repository>
<id>central</id>
<name>Maven Central</name>
<url>https://central.sonatype.com</url>
</repository>
</distributionManagement>
<properties>
<!-- Project revision -->
<revision>0.0.3</revision>
<!-- System properties -->
<java.version>17</java.version>
<maven.compiler.release>${java.version}</maven.compiler.release>
<project.encoding>UTF-8</project.encoding>
<project.build.sourceEncoding>${project.encoding}</project.build.sourceEncoding>
<project.reporting.outputEncoding>${project.encoding}</project.reporting.outputEncoding>
<!-- Dependency versions -->
<spring-boot.version>3.5.14</spring-boot.version>
<mapstruct.version>1.6.3</mapstruct.version>
<springdoc-openapi-starter-webmvc-ui.version>2.6.0</springdoc-openapi-starter-webmvc-ui.version>
<jspecify.version>1.0.0</jspecify.version>
<byte-buddy.version>1.18.8</byte-buddy.version>
<vavr.version>1.0.1</vavr.version>
<easy-random.version>5.0.0</easy-random.version>
<!-- Dependency management versions -->
<commons-lang3.version>3.20.0</commons-lang3.version>
<classgraph.version>4.8.112</classgraph.version>
<objenesis.version>3.5</objenesis.version>
<!-- Plugin versions -->
<lombok.version>1.18.46</lombok.version>
<maven-javadoc-plugin.version>3.12.0</maven-javadoc-plugin.version>
<lombok-mapstruct-binding.version>0.2.0</lombok-mapstruct-binding.version>
<flatten-maven-plugin.version>1.7.3</flatten-maven-plugin.version>
<maven-compiler-plugin.version>3.15.0</maven-compiler-plugin.version>
<maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version>
<maven-source-plugin.version>3.4.0</maven-source-plugin.version>
<central-publishing-maven-plugin.version>0.10.0</central-publishing-maven-plugin.version>
<maven-gpg-plugin.version>3.2.8</maven-gpg-plugin.version>
<jacoco-maven-plugin.version>0.8.14</jacoco-maven-plugin.version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- CVE-2025-48924: Uncontrolled Recursion in ClassUtils.getClass() -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>${commons-lang3.version}</version>
</dependency>
<!-- CVE-2021-47621: XXE vulnerability in ClassGraph -->
<dependency>
<groupId>io.github.classgraph</groupId>
<artifactId>classgraph</artifactId>
<version>${classgraph.version}</version>
</dependency>
<!-- Resolve conflict: byte-buddy 1.18.8 (explicit) vs 1.17.8 (via spring-boot-starter-test) -->
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>${byte-buddy.version}</version>
</dependency>
<!-- Resolve conflict: objenesis 3.3 (mockito) vs 3.1 (easy-random-core) -->
<dependency>
<groupId>org.objenesis</groupId>
<artifactId>objenesis</artifactId>
<version>${objenesis.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>${springdoc-openapi-starter-webmvc-ui.version}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>${mapstruct.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<scope>test</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.jspecify</groupId>
<artifactId>jspecify</artifactId>
<version>${jspecify.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>io.vavr</groupId>
<artifactId>vavr</artifactId>
<version>${vavr.version}</version>
<scope>provided</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jeasy</groupId>
<artifactId>easy-random-core</artifactId>
<version>${easy-random.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>@{argLine} -XX:+EnableDynamicAgentLoading -Xshare:off</argLine>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<id>prepare-agent</id>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
<configuration>
<excludes>
<!-- Generated MapStruct implementations -->
<exclude>**/presentation/mapper/*MapperImpl.class</exclude>
<!-- Pure data classes — no logic to measure -->
<exclude>**/presentation/dto/**</exclude>
<exclude>**/domain/ScheduleDetails.class</exclude>
<exclude>**/domain/ScheduledMethodDetails.class</exclude>
<exclude>**/domain/ScheduledMethodReference.class</exclude>
<!-- Spring configuration classes -->
<exclude>**/config/**</exclude>
<!-- Enums, exceptions, properties — trivial or generated -->
<exclude>**/enums/**</exclude>
<exclude>**/exception/**</exclude>
<exclude>**/properties/**</exclude>
<!-- Internal Spring infrastructure processors -->
<exclude>**/bpp/**</exclude>
<exclude>**/bfpp/**</exclude>
</excludes>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<source>${java.version}</source>
<encoding>${project.encoding}</encoding>
<docencoding>${project.encoding}</docencoding>
<charset>${project.encoding}</charset>
<failOnError>true</failOnError>
<quiet>true</quiet>
<excludePackageNames>ru.syntezis.cronctl.bpp:ru.syntezis.cronctl.bfpp</excludePackageNames>
<sourceFileExcludes>
<sourceFileExclude>ru/syntezis/cronctl/bpp/**</sourceFileExclude>
<sourceFileExclude>ru/syntezis/cronctl/bfpp/**</sourceFileExclude>
</sourceFileExcludes>
<sourcepath>${project.build.sourceDirectory}</sourcepath>
<additionalJOptions>
<additionalJOption>-Xdoclint:all,-missing</additionalJOption>
</additionalJOptions>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>flatten-maven-plugin</artifactId>
<version>${flatten-maven-plugin.version}</version>
<configuration>
<updatePomFile>true</updatePomFile>
<flattenMode>resolveCiFriendliesOnly</flattenMode>
</configuration>
<executions>
<execution>
<id>flatten</id>
<phase>process-resources</phase>
<goals>
<goal>flatten</goal>
</goals>
</execution>
<execution>
<id>flatten.clean</id>
<phase>clean</phase>
<goals>
<goal>clean</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<release>${java.version}</release>
<annotationProcessorPaths>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</path>
<path>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-mapstruct-binding</artifactId>
<version>${lombok-mapstruct-binding.version}</version>
</path>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${mapstruct.version}</version>
</path>
<path>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<version>${spring-boot.version}</version>
</path>
</annotationProcessorPaths>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central-publishing-maven-plugin.version}</version>
<extensions>true</extensions>
<configuration>
<publishingServerId>central</publishingServerId>
<autoPublish>false</autoPublish>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<configuration>
<keyname>${env.SILENZZZ_SYNTEZIS_GPG_KEY_ID}</keyname>
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>