I've been trying to get this stash tutorial wokring: https://developer.atlassian.com/stash/docs/latest/tutorials-and-examples/controlling-when-pull-requests-can-be-merged.html
However, I am getting the following maven errors:
Description Resource Path Location Type Project build error: 'dependencies.dependency.version' for com.atlassian.stash:stash-api:jar is missing. pom.xml /is-admin-merge-check line 1 Maven Problem Project build error: 'dependencies.dependency.version' for com.atlassian.stash:stash-page-objects:jar is missing. pom.xml /is-admin-merge-check line 1 Maven Problem Project build error: 'dependencies.dependency.version' for com.atlassian.stash:stash-spi:jar is missing. pom.xml /is-admin-merge-check line 1 Maven Problem Project build error: Non-resolvable import POM: Failure to find com.atlassian.stash:stash-parent:pom:2.2.0 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced pom.xml /is-admin-merge-check line 1 Maven Problem
The POM file looks like this:
<?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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mycompany</groupId>
<artifactId>is-admin-merge-check</artifactId>
<version>1.0-SNAPSHOT</version>
<organization>
<name>Example Company</name>
<url>http://www.example.com/</url>
</organization>
<name>is-admin-merge-check</name>
<description>This is the com.mycompany:is-admin-merge-check plugin for Atlassian Stash.</description>
<packaging>atlassian-plugin</packaging>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.atlassian.stash</groupId>
<artifactId>stash-parent</artifactId>
<version>${stash.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.atlassian.stash</groupId>
<artifactId>stash-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.stash</groupId>
<artifactId>stash-spi</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.atlassian.stash</groupId>
<artifactId>stash-page-objects</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.6</version>
</dependency>
<!-- WIRED TEST RUNNER DEPENDENCIES -->
<dependency>
<groupId>com.atlassian.plugins</groupId>
<artifactId>atlassian-plugins-osgi-testrunner</artifactId>
<version>${plugin.testrunner.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>javax.ws.rs</groupId>
<artifactId>jsr311-api</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.2.2-atlassian-1</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>com.atlassian.maven.plugins</groupId>
<artifactId>maven-stash-plugin</artifactId>
<version>${amps.version}</version>
<extensions>true</extensions>
<configuration>
<products>
<product>
<id>stash</id>
<instanceId>stash</instanceId>
<version>${stash.version}</version>
<dataVersion>${stash.data.version}</dataVersion>
</product>
</products>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
</plugins>
</build>
<properties>
<stash.version>2.2.0</stash.version>
<stash.data.version>2.2.0</stash.data.version>
<amps.version>4.1.6</amps.version>
<plugin.testrunner.version>1.1.1</plugin.testrunner.version>
</properties>
</project>
This POM file was generated by the atlas-create-stash-plugin SDK command, as specified in the tutorial.
I thought i would try removing the dependencyManagement section and putting the <version>${stash.version}</version> on each dependency that needed it, but I get the following errors:
Description Resource Path Location Type Missing artifact com.atlassian.stash:stash-api:jar:2.2.0:provided pom.xml /is-admin-merge-check line 1 Maven Problem Missing artifact com.atlassian.stash:stash-page-objects:jar:2.2.0:provided pom.xml /is-admin-merge-check line 1 Maven Problem Missing artifact com.atlassian.stash:stash-spi:jar:2.2.0:provided pom.xml /is-admin-merge-check line 1 Maven Problem
Does anyone know what might be wrong here?
Edit
The original failure (before I removed the servlet-api dependency) was this:
[ERROR] The project com.mycompany:is-admin-merge-check:1.0-SNAPSHOT (/Users/me/repos/stash-example-plugin/is-admin-merge-check/pom.xml) has 5 errors [ERROR] Non-resolvable import POM: Failure to find com.atlassian.stash:stash-parent:pom:2.2.0 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced @ line 23, column 25 -> [Help 2] [ERROR] 'dependencies.dependency.version' for com.atlassian.stash:stash-api:jar is missing. @ line 34, column 21 [ERROR] 'dependencies.dependency.version' for com.atlassian.stash:stash-spi:jar is missing. @ line 39, column 21 [ERROR] 'dependencies.dependency.version' for com.atlassian.stash:stash-page-objects:jar is missing. @ line 44, column 21 [ERROR] 'dependencies.dependency.version' for javax.servlet:servlet-api:jar is missing. @ line 49, column 21
Community moderators have prevented the ability to post new answers.
Hi Annie,
It looks like you're just using the default maven repositories, which won't include the required Stash artifacts.
https://developer.atlassian.com/display/DOCS/Atlassian+Maven+Repositories
My understanding is that using the Atlassian SDK atlas commands should correctly resolve the dependencies from Atlassian's maven repositories. You should be able to use atlas-mvn and the like which will use the correct settings.xml.
I hope this helps.
Charles
Ooh, it looks like I've been using my own previously installed version of maven to do the builds, rather than the one included in the /usr/share/atlassian-plugin-sdk-4.1.6/apache-maven SDK folder.
Might be a good idea to add this requirement to this prerequisites page?
https://developer.atlassian.com/display/DOCS/Set+up+the+SDK+Prerequisites+for+Linux+or+Mac
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.