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
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.