FastDev or QuickReload fails with Jira 8 and AMPS 6.3.21

Hi,
I have been developping plugins for Jira since Jira 6.
Now I’m adapting one of my plugins to Jira 8. I accepted the update of AMPS to 6.3.21.
The problem is that now, I’m unable to use fatsdev or quickreload. It fails with an error :

{"message":"tried to access method com.google.common.collect.Iterators.emptyIterator()Lcom/google/common/collect/UnmodifiableIterator; from class com.atlassian.fastdev.util.Option","status-code":500,"

So I cannot reload my plugin, except by restarting Jira. I deleted the whole target directory and recreated from scratch, still failing.
Here are my properties in the pom :

        <jira.software.application.version>8.0.0</jira.software.application.version>
        <jira.version>8.0.0</jira.version>
        <jira.data.version>8.0.0</jira.data.version>
        <amps.version>6.3.21</amps.version>
        <upm.license.compatibility.version>2.20.1</upm.license.compatibility.version>
        <ao.version>0.22.1</ao.version>

Does anyone have an explanation, a fix, a workaround ?

Fastdev is old and was superseded by Quickreload. You will want to disable it so that quickreload can operate correctly. As per the official documentation:

<build>
    <plugins>
        <plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-jira-plugin</artifactId>
            <version>${amps.version}</version>
            <extensions>true</extensions>
            <configuration>
                ...
                <enableQuickReload>true</enableQuickReload>
                <enableFastdev>false</enableFastdev>
                ...
            </configuration>

The previously linked docs and the Bitbucket repository detail that they clash if used together. When you upgrade to the newest AMPS (v8) you can remove the configuration entirely as this setting is removed.

Hi @mike1 and thanks for the answser !
Actually this was my first reaction when fastdev stopped working. I disabled it and tryed to activate quick reload, but the result is the same. And actually I’m not even sure it’s only linked to fastdev or quick reload. It may be more a guava api compatibility problem, but it’s strange because as I said I deleted my target directory and let the sdk regenerate it’s full structure from scratch to avoir conflicts with previous version after the upgrade.

And actually it seems quick reload does not activate even if I disable fastdev and enable quickreload as shown in your code.

Create an example plugin using atlas-create-jira-plugin. Start a debug environment for the example using atlas-debug (docs here) and prove that quickreload works. Then, compare the example pom.xml to your own - perhaps you will see an obvious difference.

1 Like

Yep you’re right, maybe the only solution to remove old pieces of deprecated/conflicting elements.
I’ll do this.
And thanks again for answering :slight_smile:

1 Like