pubsubplus-connector-component-build-parent
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency> <groupId>com.solace.connector.core</groupId> <artifactId>pubsubplus-connector-component-build-parent</artifactId> <version>2.12.11</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 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.solace.connector.core</groupId> <artifactId>pubsubplus-connector-component-build-parent</artifactId> <version>2.12.11</version> <packaging>pom</packaging> <name>PubSub+ Connector Component Build Parent</name> <description>Build parent for components built for the PubSub+ Connector Framework</description> <url>https://solace.com/connectors</url> <properties> <!-- ========================= Compiler Properties ========================= --> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <!-- ======================================= Dependency Versioning Properties ======================================= --> <solace.connector.framework.version>2.12.11</solace.connector.framework.version> <spring-boot.version>3.4.3</spring-boot.version> <spring-cloud.version>2024.0.0</spring-cloud.version> <!-- ============================ Shared Resource Properties ============================ --> <!-- Shared Resources: Core --> <shared-remote-resources.directory>${project.build.directory}/shared-remote-resources</shared-remote-resources.directory> <shared-remote-resources.build.main.raw.directory>${shared-remote-resources.directory}/build/main/raw</shared-remote-resources.build.main.raw.directory> <shared-remote-resources.build.main.processed.directory>${shared-remote-resources.directory}/build/main/processed</shared-remote-resources.build.main.processed.directory> <!-- Shared Resources: Licensing --> <shared-remote-resources.process.license-aggregate.solace.skip>false</shared-remote-resources.process.license-aggregate.solace.skip> <!-- Shared Resources: Specific Licensing Components --> <shared-remote-resources.process.notice-solace.skip>${shared-remote-resources.process.license-aggregate.solace.skip}</shared-remote-resources.process.notice-solace.skip> </properties> <organization> <url>https://solace.com</url> <name>Solace Corporation</name> </organization> <scm> <url>https://github.com/SolaceDev/solace-connector-framework.git/pubsubplus-connector-build-parent-builder/pubsubplus-connector-component-build-parent</url> <connection>scm:git:git://github.com/SolaceDev/solace-connector-framework.git/pubsubplus-connector-build-parent-builder/pubsubplus-connector-component-build-parent</connection> <developerConnection>scm:git:git@github.com:SolaceDev/solace-connector-framework.git/pubsubplus-connector-build-parent-builder/pubsubplus-connector-component-build-parent</developerConnection> <tag>HEAD</tag> </scm> <developers> <developer> <email>info@solace.com</email> <name>Solace</name> <organization>Solace Corporation</organization> <organizationUrl>https://solace.com</organizationUrl> </developer> </developers> <licenses> <license> <name>License Agreement for Solace Software</name> <url>https://solace.com/license-software</url> <distribution>repo</distribution> </license> </licenses> <dependencyManagement> <dependencies> <!-- ==================================================== UPGRADING VULNERABLE DEPENDENCIES REMOVE ANY OVERRIDE THAT IS NO MORE NEEDED ==================================================== --> <!-- FIX VULNERABILITY: CVE-2024-7254 --> <dependency> <groupId>com.google.protobuf</groupId> <artifactId>protobuf-java</artifactId> <version>3.25.5</version> </dependency> <!-- ==================================================== END ==================================================== --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>${spring-boot.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.solace.connector.core</groupId> <artifactId>pubsubplus-connector-framework-bom</artifactId> <version>${solace.connector.framework.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.github.imifou</groupId> <artifactId>jsonschema-module-addon</artifactId> <version>1.2.1</version> </dependency> <dependency> <groupId>io.swagger.core.v3</groupId> <artifactId>swagger-annotations</artifactId> <version>2.2.20</version> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> </plugin> </plugins> <pluginManagement> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-remote-resources-plugin</artifactId> <version>3.0.0</version> <configuration> <attachToMain>false</attachToMain> <attachToTest>false</attachToTest> </configuration> <executions> <execution> <id>process-notice-solace-resources</id> <goals> <goal>process</goal> </goals> <configuration> <outputDirectory>${shared-remote-resources.build.main.raw.directory}</outputDirectory> <resourceBundles> <resourceBundle>com.solace.connector.core.resource:pubsubplus-connector-notice-solace-resource-bundle:2.12.11</resourceBundle> </resourceBundles> <skip>${shared-remote-resources.process.notice-solace.skip}</skip> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>3.3.0</version> <configuration> <delimiters> <delimiter>@</delimiter> </delimiters> <useDefaultDelimiters>false</useDefaultDelimiters> </configuration> <executions> <execution> <!-- Filter before add-resource so that filtered resources are added to sources jar --> <id>filter-shared-resources</id> <phase>generate-resources</phase> <goals> <goal>copy-resources</goal> </goals> <configuration> <outputDirectory>${shared-remote-resources.build.main.processed.directory}</outputDirectory> <resources> <resource> <directory>${shared-remote-resources.build.main.raw.directory}</directory> <filtering>true</filtering> </resource> </resources> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>build-helper-maven-plugin</artifactId> <version>3.3.0</version> <executions> <execution> <id>add-shared-resources</id> <phase>generate-resources</phase> <goals> <goal>add-resource</goal> </goals> <configuration> <resources> <resource> <directory>${shared-remote-resources.build.main.processed.directory}</directory> </resource> </resources> </configuration> </execution> <execution> <id>set-current-year</id> <goals> <goal>timestamp-property</goal> </goals> <configuration> <name>currentYear</name> <pattern>yyyy</pattern> <unit>year</unit> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>3.4.1</version> <executions> <execution> <id>enforce-no-snapshots</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <requireReleaseDeps> <message>No Snapshots Allowed!</message> <onlyWhenRelease>true</onlyWhenRelease> </requireReleaseDeps> </rules> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>3.1.0</version> <executions> <!-- Workaround for https://issues.apache.org/jira/browse/MJAVADOC-329. Creates an empty javadoc jar for projects without *.java files to satisfy Sonatype requirements. --> <execution> <id>generate-empty-javadoc-dir</id> <phase>generate-resources</phase> <goals> <goal>run</goal> </goals> <configuration> <target> <mkdir dir="${project.build.directory}/apidocs"/> </target> </configuration> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <version>3.4.0</version> <configuration> <doclint>none</doclint> <quiet>true</quiet> <sourceFileExcludes> <sourceFileExclude>**/*</sourceFileExclude> <!-- to generate an empty javadoc jar --> </sourceFileExcludes> </configuration> <executions> <execution> <id>attach-javadocs</id> <goals> <goal>jar</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-source-plugin</artifactId> <version>3.2.1</version> <configuration> <!-- Exclude all sources except the README --> <includes> <include>README.txt</include> </includes> </configuration> <executions> <execution> <id>attach-sources</id> <goals> <goal>jar-no-fork</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <version>3.2.2</version> <configuration> <excludes> <exclude>README.txt</exclude> </excludes> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>flatten-maven-plugin</artifactId> <version>1.3.0</version> <configuration> <updatePomFile>true</updatePomFile> <flattenMode>clean</flattenMode> <pomElements> <description>expand</description> <developers>expand</developers> <name>expand</name> <organization>expand</organization> <scm>expand</scm> <url>expand</url> </pomElements> </configuration> <executions> <!-- enable flattening --> <execution> <id>flatten</id> <phase>process-resources</phase> <goals> <goal>flatten</goal> </goals> </execution> <!-- ensure proper cleanup --> <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-surefire-plugin</artifactId> <version>3.2.3</version> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-failsafe-plugin</artifactId> <version>3.2.3</version> <executions> <execution> <id>integration-test</id> <goals> <goal>integration-test</goal> <goal>verify</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-scm-plugin</artifactId> <version>1.13.0</version> <configuration> <tag>${project.version}</tag> <connectionType>developerConnection</connectionType> </configuration> </plugin> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>versions-maven-plugin</artifactId> <version>2.11.0</version> <configuration> <generateBackupPoms>false</generateBackupPoms> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <version>3.19.0</version> <configuration> <failOnViolation>true</failOnViolation> <!-- https://pmd.github.io/latest/pmd_userdocs_extending_rule_guidelines.html#how-to-define-rules-priority Failure priority chosen based off PMD guidelines. --> <failurePriority>2</failurePriority> <format>net.sourceforge.pmd.renderers.SarifRenderer</format> <linkXRef>false</linkXRef> <skipEmptyReport>false</skipEmptyReport> </configuration> </plugin> <plugin> <groupId>com.github.spotbugs</groupId> <artifactId>spotbugs-maven-plugin</artifactId> <version>4.7.3.0</version> <configuration> <effort>Max</effort> <failOnError>true</failOnError> <failThreshold>High</failThreshold> <threshold>High</threshold> <sarifFullPath>true</sarifFullPath> <xmlOutput>true</xmlOutput> </configuration> </plugin> <plugin> <groupId>org.jacoco</groupId> <artifactId>jacoco-maven-plugin</artifactId> <version>0.8.8</version> <executions> <execution> <goals> <goal>prepare-agent</goal> </goals> </execution> <execution> <id>report</id> <phase>prepare-package</phase> <goals> <goal>report</goal> </goals> </execution> </executions> </plugin> <plugin> <groupId>com.github.victools</groupId> <artifactId>jsonschema-maven-plugin</artifactId> <version>4.36.0</version> <dependencies> <dependency> <groupId>com.solace.connector.core.jsonschema</groupId> <artifactId>jsonschema-module-pubsubplus-connector</artifactId> <version>${solace.connector.framework.version}</version> </dependency> </dependencies> <executions> <execution> <id>compile-config-schemas</id> <phase>test-compile</phase> <goals> <goal>generate</goal> </goals> </execution> </executions> <configuration> <!-- TEST CONFIG --> <classpath>WITH_ALL_DEPENDENCIES_AND_TESTS</classpath> <schemaFilePath>${project.build.testOutputDirectory}/generated-config-schemas</schemaFilePath> <failIfNoClassesMatch>true</failIfNoClassesMatch> <!-- COPIED FROM: pubsubplus-connector-build-parent --> <schemaFileName>{0}.schema.json</schemaFileName> <schemaVersion>DRAFT_2020_12</schemaVersion> <annotations> <annotation>com.solace.connector.core.jsonschema.annotation.support.RootConfigSchema</annotation> </annotations> <options> <preset>PLAIN_JSON</preset> <enabled> <option>MAP_VALUES_AS_ADDITIONAL_PROPERTIES</option> <option>NONSTATIC_NONVOID_NONGETTER_METHODS</option> <option>FIELDS_DERIVED_FROM_ARGUMENTFREE_METHODS</option> </enabled> <disabled> <option>NONPUBLIC_NONSTATIC_FIELDS_WITH_GETTERS</option> <option>NONPUBLIC_NONSTATIC_FIELDS_WITHOUT_GETTERS</option> </disabled> </options> <modules> <module> <name>Jackson</name> <options> <option>RESPECT_JSONPROPERTY_REQUIRED</option> <option>RESPECT_JSONPROPERTY_ORDER</option> </options> </module> <module> <name>JakartaValidation</name> </module> <module> <name>Swagger2</name> <options> <option>FLATTENED_ENUMS_FROM_JSONVALUE</option> </options> </module> <module> <className>com.github.imifou.jsonschema.module.addon.AddonModule</className> </module> <module> <className>com.solace.connector.core.jsonschema.module.PropertyAssignmentDefaultValueModule</className> </module> <module> <className>com.solace.connector.core.jsonschema.module.ConditionalsModule</className> </module> <module> <className>com.solace.connector.core.jsonschema.module.SolaceCustomKeywordsModule</className> </module> <module> <className>com.solace.connector.core.jsonschema.module.IgnoreMethodLikePropertiesModule</className> </module> <module> <className>com.solace.connector.core.jsonschema.module.UnevaluatedPropertiesModule</className> </module> </modules> </configuration> </plugin> </plugins> </pluginManagement> </build> <profiles> <profile> <id>releaseInternal</id> <activation> <property> <name>!releaseTarget</name> </property> </activation> <distributionManagement> <repository> <id>releases</id> <name>Apps Releases Repository</name> <url>http://apps-jenkins:9090/nexus/content/repositories/releases</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Apps Snapshots Repository</name> <url>http://apps-jenkins:9090/nexus/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> </profile> <profile> <id>releaseCentral</id> <activation> <property> <name>releaseTarget</name> <value>central</value> </property> </activation> <properties> <gpg.executable>gpg2</gpg.executable> <gpg.passphrase>Solace1!</gpg.passphrase> </properties> <distributionManagement> <snapshotRepository> <id>ossrh</id> <url>https://s01.oss.sonatype.org/content/repositories/snapshots</url> </snapshotRepository> </distributionManagement> <build> <plugins> <plugin> <groupId>org.sonatype.plugins</groupId> <artifactId>nexus-staging-maven-plugin</artifactId> <version>1.7.0</version> <extensions>true</extensions> <configuration> <serverId>ossrh</serverId> <nexusUrl>https://s01.oss.sonatype.org/</nexusUrl> <!--<stagingProfileId>1d86d96a0b6bce</stagingProfileId> --> <autoReleaseAfterClose>true</autoReleaseAfterClose> <stagingProgressTimeoutMinutes>60</stagingProgressTimeoutMinutes> </configuration> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-gpg-plugin</artifactId> <version>1.5</version> <executions> <execution> <id>sign-artifacts</id> <phase>verify</phase> <goals> <goal>sign</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </profile> </profiles> </project>