waffo-java-stripe
Used in:
components
- OverviewOverview
- VersionsVersions
- DependentsDependents
- DependenciesDependencies
<dependency>
<groupId>com.waffo</groupId>
<artifactId>waffo-java-stripe</artifactId>
<version>0.2.0</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.waffo</groupId>
<artifactId>waffo-java-stripe</artifactId>
<version>0.2.0</version>
<packaging>jar</packaging>
<name>Waffo Stripe-Compatible SDK (Java)</name>
<description>Drop-in Stripe-compatible adapter that routes subscriptions to Waffo. Wraps the official stripe-java SDK; source=waffo calls are translated to Waffo native APIs, everything else passes through to Stripe.</description>
<url>https://github.com/waffo-com/waffo-stripe</url>
<organization>
<name>Waffo</name>
<url>https://www.waffo.com</url>
</organization>
<licenses>
<license>
<name>MIT License</name>
<url>https://opensource.org/licenses/MIT</url>
</license>
</licenses>
<!-- scm + developers are required by the Maven Central Portal validation. -->
<scm>
<connection>scm:git:https://github.com/waffo-com/waffo-stripe.git</connection>
<developerConnection>scm:git:git@github.com:waffo-com/waffo-stripe.git</developerConnection>
<url>https://github.com/waffo-com/waffo-stripe</url>
<tag>HEAD</tag>
</scm>
<developers>
<developer>
<name>Waffo</name>
<organization>Waffo</organization>
<organizationUrl>https://www.waffo.com</organizationUrl>
</developer>
</developers>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- Waffo core SDK: reused for HTTP client + RSA webhook verify + SubscriptionResource (compile, transitive) -->
<waffo-java.version>3.0.0</waffo-java.version>
<!-- Stripe official SDK: PROVIDED (merchant brings their own). Floor 24.11.0 =
first version with StripeResponseGetter.request(ApiRequest, Type) collection point. -->
<stripe-java.version>24.11.0</stripe-java.version>
<slf4j.version>2.0.9</slf4j.version>
<junit.version>5.10.1</junit.version>
<!-- Mockito 4.x supports Java 8; 5.x requires Java 11+ -->
<mockito.version>4.11.0</mockito.version>
<maven.compiler.plugin.version>3.13.0</maven.compiler.plugin.version>
<maven.surefire.plugin.version>3.2.5</maven.surefire.plugin.version>
<surefire.excluded.tests>**/*E2ETest.java</surefire.excluded.tests>
<!-- Release-only plugins (see the `release` profile). Versions resolved from Maven Central. -->
<central.publishing.plugin.version>0.11.0</central.publishing.plugin.version>
<maven.gpg.plugin.version>3.2.8</maven.gpg.plugin.version>
<maven.source.plugin.version>3.4.0</maven.source.plugin.version>
<maven.javadoc.plugin.version>3.12.0</maven.javadoc.plugin.version>
</properties>
<dependencies>
<!-- Waffo native SDK (compile): WaffoHttpClient, WebhookHandler/WebhookUtils, SubscriptionResource, PayMethodConfigResource -->
<dependency>
<groupId>com.waffo</groupId>
<artifactId>waffo-java</artifactId>
<version>${waffo-java.version}</version>
</dependency>
<!-- Stripe official SDK (PROVIDED): merchant supplies their own version at runtime.
We only need it at compile time to implement com.stripe.net.StripeResponseGetter
and return com.stripe.model.* objects. Floor enforced at runtime in WaffoStripe.client(). -->
<dependency>
<groupId>com.stripe</groupId>
<artifactId>stripe-java</artifactId>
<version>${stripe-java.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${slf4j.version}</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-junit-jupiter</artifactId>
<version>${mockito.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven.compiler.plugin.version}</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${maven.surefire.plugin.version}</version>
<configuration>
<excludes>
<exclude>${surefire.excluded.tests}</exclude>
</excludes>
<systemPropertyVariables>
<expected.stripe-java.version>${stripe-java.version}</expected.stripe-java.version>
<expected.waffo-stripe.version>${project.version}</expected.waffo-stripe.version>
</systemPropertyVariables>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>live-e2e</id>
<properties>
<surefire.excluded.tests>**/__NoExcludedLiveTests__.java</surefire.excluded.tests>
</properties>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<includes>
<include>**/*E2ETest.java</include>
</includes>
</configuration>
</plugin>
</plugins>
</build>
</profile>
<!-- Publish to Maven Central via the Sonatype Central Portal. Activated by the release
workflow (.github/workflows/release-java.yml) on a waffo-java-stripe-v* tag. Requires
GPG signing material and a Central Portal token supplied as CI secrets; nothing secret
is committed. See skills/waffo-sdk-release for the full runbook. -->
<profile>
<id>release</id>
<build>
<plugins>
<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.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>${maven.javadoc.plugin.version}</version>
<configuration>
<doclint>none</doclint>
<quiet>true</quiet>
</configuration>
<executions>
<execution>
<id>attach-javadocs</id>
<goals><goal>jar</goal></goals>
</execution>
</executions>
</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>
<configuration>
<!-- Non-interactive signing in CI; the release workflow passes the
passphrase via -Dgpg.passphrase (from the GPG_PASSPHRASE secret). -->
<gpgArguments>
<arg>--pinentry-mode</arg>
<arg>loopback</arg>
</gpgArguments>
</configuration>
</plugin>
<plugin>
<groupId>org.sonatype.central</groupId>
<artifactId>central-publishing-maven-plugin</artifactId>
<version>${central.publishing.plugin.version}</version>
<extensions>true</extensions>
<configuration>
<!-- Must match the settings.xml <server><id> (workflow server-id),
unified with waffo-sdk. -->
<publishingServerId>sonatype-central</publishingServerId>
<autoPublish>true</autoPublish>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project>