Nuxeo Studio offers a dedicated servlet that provides Maven artifacts for:
- released versions of your project
- current snapshot of all common branches of your project
- current snapshot of all branches of each user's workspace (i.e. the work they are doing on a given branch but haven't yet shared by pushing staged commits).
You can get all available artifact on the following page: https://connect.nuxeo.com/nuxeo/site/studio/maven/nuxeo-studio/PROJECT_ID
You can then easily integrate your Studio configuration to your build process. Of course, all projects exposed through Maven are protected so that only contributors on the project are able to access the project in the Studio Maven repository. Hence you need to declare this "maven repository" on your local Maven settings, with correct credentials.
Maven can be setup to add a dependency to a specific release, and to do continuous integration on a branch. In all cases, to be able to access Studio Maven artifacts:
- Configure your Maven client to use authentication when accessing the Studio Maven repository. For this, edit (or create if it does not exist) the
~/.m2/settings.xmlfile and add the following entry under the settings tag:
<servers> .... <server> <id>nuxeo-studio</id> <username>your_nos_username</username> <password>your_nos_token</password> </server> ... </servers>
Then in the POM (or a parent POM) where you need to add the dependency to the Studio project you should declare the Studio Maven repository like this:
<repositories> ... <repository> <id>nuxeo-studio</id> <url>https://connect.nuxeo.com/nuxeo/site/studio/maven</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> ... </repositories>You notice we used the same server ID than in the
settings.xmlfile. The repository is located under the same root as Studio client (but using the Maven relative path).
To set up a dependency to the latest snapshot of a Studio branch:
Go to the Branch Management screen and select a branch.
Maven GAVbutton. This button is available both for the latest changes only available in your own workspace or for the ones that are shared for all users on the branch.
- Maven coordinates are shown and ready to be copy-pasted in your project's pom.xml.
To add a Maven dependency on a specific Studio release:
Create a release of your Studio project. This will generate a version of your project that can be accessed by Maven.
Go to the Releases and Tags screen.
Press the Maven GAV button on the desired release and copy the Maven coordinates in your project's pom.xml file.
The list of available versions for a given project is visible at:
MAVEN_GROUP=nuxeo-studio by default.
The list of available resources for a given project and version is visible at the given URL:
MAVEN_GROUP=nuxeo-studio by default and
VERSION=0.0.0-SNAPSHOT for the current development code.