Confluence Plugin Banned Dependencies

I’m trying to write a plugin for Confluence Data Center 9.2. I need to import libraries from the AWS SDK, and am running into compilation errors when running atlas-package to build the plugin. Specifically, the SDK libraries are returning as banned dependencies. I believe this to be because the SDK is already included in other bundles, but this guide appears to indicate that the AWS SDK is no longer available as a transitive dependency: https://developer.atlassian.com/server/confluence/get-your-apps-ready-for-gray-api-removal/.

Whats the solution for this?

Logs:

[INFO] validate banned dependencies
[INFO] Dependencies excluded from banning: []
[INFO] Platform version range: '[0,)'
[WARNING] Rule 0: org.apache.maven.plugins.enforcer.BannedDependencies failed with message:
make sure platform artifacts are not bundled into plugin
Found Banned Dependency: software.amazon.awssdk:annotations:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:http-auth:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:json-utils:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:secretsmanager:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:sdk-core:jar:2.31.6
Found Banned Dependency: org.slf4j:slf4j-api:jar:1.7.36
Found Banned Dependency: software.amazon.awssdk:http-auth-aws:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:auth:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:aws-json-protocol:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:profiles:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:retries:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:retries-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:checksums-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:http-client-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:regions:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:crt-core:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:aws-core:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:identity-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:utils:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:third-party-jackson-core:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:aws-query-protocol:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:protocol-core:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:s3:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:endpoints-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:aws-xml-protocol:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:metrics-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:http-auth-spi:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:http-auth-aws-eventstream:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:arns:jar:2.31.6
Found Banned Dependency: software.amazon.awssdk:checksums:jar:2.31.6

You can list them like this in your pom.xml:

<build>
    <plugins>
        <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>confluence-maven-plugin</artifactId>
            ...
            <configuration>
                ...
                <banningExcludes>
                    <exclude>com.google.code.gson:gson</exclude>
                </banningExcludes>
            </configuration>
        </plugin>
    </plugins>
</build>

Edit: the doc is really confusing… maybe you only can unban these…


Never used these libs, but:

  • You can “unban” them, like t-bundt said,
  • or better, if this is working, try to set the dependency to “provided”, i.e.
    <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>aws-core</artifactId>
            <scope>provided</scope>
        </dependency>

Yes, without version.

The guide says no “transitive dependency”, which just mean, you don’t get them automatically anymore. But still can reference them as dependency. (Yes, these guides are sometimes confusing and not always clear)