slack-sdk-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.slack.api</groupId>
<artifactId>slack-sdk-parent</artifactId>
<version>1.46.0</version>
</dependency><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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.slack.api</groupId>
<artifactId>slack-sdk-parent</artifactId>
<version>1.46.0</version>
<packaging>pom</packaging>
<name>Java Slack SDK Project</name>
<url>${project.url}</url>
<modules>
<module>slack-api-client</module>
<module>slack-api-client-kotlin-extension</module>
<module>slack-api-model</module>
<module>slack-api-model-kotlin-extension</module>
<module>slack-app-backend</module>
<module>slack-jakarta-socket-mode-client</module>
<module>bolt</module>
<module>bolt-socket-mode</module>
<module>bolt-jakarta-socket-mode</module>
<module>bolt-servlet</module>
<module>bolt-jakarta-servlet</module>
<module>bolt-jetty</module>
<module>bolt-jakarta-jetty</module>
<module>bolt-aws-lambda</module>
<module>bolt-google-cloud-functions</module>
<module>bolt-micronaut</module>
<module>bolt-ktor</module>
<module>bolt-http4k</module>
<module>bolt-helidon</module>
<module>bolt-kotlin-examples</module>
<module>bolt-quarkus-examples</module>
</modules>
<parent>
<groupId>org.sonatype.oss</groupId>
<artifactId>oss-parent</artifactId>
<version>9</version>
</parent>
<properties>
<project.url>https://github.com/slackapi/java-slack-sdk</project.url>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- For these compile scope dependencies, we don't use ranges of versions -->
<!-- We don't change the versions of servlet API interface to keep the backward compatibility with older versions of them -->
<javax.servlet-api.version>3.1.0</javax.servlet-api.version>
<!-- We don't change the versions of servlet API interface to keep the backward compatibility with older versions of them -->
<jakarta.servlet-api.version>5.0.0</jakarta.servlet-api.version>
<okhttp.version>4.12.0</okhttp.version>
<gson.version>2.12.1</gson.version>
<!-- Upgrading to 2.0 for building this SDK modules should be safe enough,
but we'll hold off the upgrade for a few weeks, just in case. -->
<kotlin.version>1.9.24</kotlin.version>
<!-- Allow use by clients on earlier versions of Kotlin-->
<kotlin.compiler.apiVersion>1.6</kotlin.compiler.apiVersion>
<kotlin.compiler.languageVersion>1.6</kotlin.compiler.languageVersion>
<!-- Note that we should not upgrade sfl4j-api to v2 to avoid confusions on the users side.
see also: https://github.com/slackapi/java-slack-sdk/issues/1034
-->
<slf4j.version>1.7.36</slf4j.version>
<lombok.version>1.18.36</lombok.version>
<lombok-maven-plugin.version>1.18.20.0</lombok-maven-plugin.version>
<delombok.output>target/generated-sources-for-javadocs</delombok.output>
<!-- optional / testing-only dependencies -->
<!-- Note that "[11.0,12.0)" does not exclude jetty-xxx 12.0.0.alpha0 -->
<jakarta.jetty.version>[11.0,11.1)</jakarta.jetty.version>
<java-jwt.version>[4.0,5.0)</java-jwt.version>
<aws.s3.version>[2.29.24,3)</aws.s3.version>
<junit.version>4.13.2</junit.version>
<logback-slf4j-v1.version>1.2.11</logback-slf4j-v1.version>
<logback-slf4j-v2.version>1.4.7</logback-slf4j-v2.version>
<hamcrest.version>[1.3,2.0)</hamcrest.version>
<!-- Mockito v5+ does not support Java 1.8. Until we drop 1.8 support, we'll stay with v4 -->
<mockito-core.version>[4.1.0,5.0.0)</mockito-core.version>
<jetty-for-tests.version>9.2.30.v20200428</jetty-for-tests.version>
<!-- Maven plugins: range versioning does not work -->
<duplicate-finder-maven-plugin.version>1.3.0</duplicate-finder-maven-plugin.version>
<maven-deploy-plugin.version>2.8.2</maven-deploy-plugin.version>
<maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven-resources-plugin.version>2.6</maven-resources-plugin.version>
<maven-source-plugin.version>3.0.1</maven-source-plugin.version>
<maven-release-plugin.version>2.5.3</maven-release-plugin.version>
<maven-gpg-plugin.version>1.6</maven-gpg-plugin.version>
<maven-javadoc-plugin.version>3.2.0</maven-javadoc-plugin.version>
<maven-jar-plugin.version>3.2.0</maven-jar-plugin.version>
<maven-versions-plugin.version>2.8.1</maven-versions-plugin.version>
<central-publishing-maven-plugin.version>0.8.0</central-publishing-maven-plugin.version>
<jacoco-maven-plugin.version>0.8.7</jacoco-maven-plugin.version>
<maven-surefire-plugin.version>3.2.5</maven-surefire-plugin.version>
<dokka.version>1.6.10</dokka.version>
</properties>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<distributionManagement>
<repository>
<id>central</id>
<name>Sonatype Central Releases</name>
<url>https://central.sonatype.com/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>central-snapshots</id>
<name>Sonatype Central Snapshots</name>
<url>https://central.sonatype.com/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<licenses>
<license>
<name>The Apache Software License, Version 2.0</name>
<url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
<distribution>repo</distribution>
</license>
</licenses>
<scm>
<connection>scm:git:git@github.com:slackapi/java-slack-sdk.git</connection>
<developerConnection>scm:git:git@github.com:slackapi/java-slack-sdk.git</developerConnection>
<url>git@github.com:slackapi/java-slack-sdk.git</url>
</scm>
<developers>
<developer>
<id>seratch</id>
<name>Kazuhiro Sera</name>
<email>seratch@gmail.com</email>
</developer>
</developers>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.hamcrest</groupId>
<artifactId>hamcrest-all</artifactId>
<version>${hamcrest.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<!-- Since the latest version of logback does not support Java 1.8,
we keep using slf4j-api v1 compatible version. When upgrading to the latest, you will see the following error:
java.lang.UnsupportedClassVersionError: ch/qos/logback/classic/spi/LogbackServiceProvider has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
see also: https://github.com/slackapi/java-slack-sdk/issues/1034
-->
<version>${logback-slf4j-v1.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito-core.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.basepom.maven</groupId>
<artifactId>duplicate-finder-maven-plugin</artifactId>
<version>${duplicate-finder-maven-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>${maven-deploy-plugin.version}</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>${maven-resources-plugin.version}</version>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
<plugin>
<artifactId>maven-source-plugin</artifactId>
<version>${maven-source-plugin.version}</version>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>versions-maven-plugin</artifactId>
<version>${maven-versions-plugin.version}</version>
<configuration>
<rulesUri>file://${maven.multiModuleProjectDirectory}/maven-versions-rules.xml</rulesUri>
</configuration>
</plugin>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>${jacoco-maven-plugin.version}</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>test</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>production-releases</id>
<activation>
<property>
<name>performRelease</name>
<value>true</value>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-release-plugin</artifactId>
<version>${maven-release-plugin.version}</version>
<configuration>
<goals>deploy,site-deploy</goals>
</configuration>
</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>true</autoPublish>
<skipPublishing>false</skipPublishing> <!-- Set to true to perform a dry run without publishing -->
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>${maven-gpg-plugin.version}</version>
<executions>
<execution>
<id>sign-artifacts</id>
<phase>verify</phase>
<goals>
<goal>sign</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.projectlombok</groupId>
<artifactId>lombok-maven-plugin</artifactId>
<version>${lombok-maven-plugin.version}</version>
<configuration>
<sourceDirectory>${project.basedir}/src/main/java</sourceDirectory>
<outputDirectory>${delombok.output}</outputDirectory>
<addOutputDirectory>false</addOutputDirectory>
</configuration>
<executions>
<execution>
<phase>generate-sources</phase>
<goals>
<goal>delombok</goal>
</goals>
</execution>
</executions>
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>${lombok.version}</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven-javadoc-plugin.version}</version>
<configuration>
<source>8</source>
</configuration>
<executions>
<execution>
<id>attach-sources</id>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<additionalJOption>-Xdoclint:none</additionalJOption>
<sourcepath>${delombok.output}</sourcepath>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>building-with-jdk-17</id>
<activation>
<jdk>17</jdk>
</activation>
<build>
<plugins>
<!-- java 9+ fix for tests, open modules in java.lang -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven-surefire-plugin.version}</version>
<configuration>
<argLine>
--add-opens java.base/java.lang=ALL-UNNAMED
--add-opens java.base/java.util=ALL-UNNAMED
</argLine>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>