Skip to content

Server usage

jdcoffre edited this page Apr 4, 2014 · 4 revisions

This page describes the main use cases addressed by Grapes server. This page assumes that you already know Grapes main concepts.

List the third party libraries

To get a the list of the third party libraries of a module you can either use Grapes webapp or Grapes REST API.

####Using the webapp

To get a quick and ponctual feedback on the third party libraries of a module, Grapes webapp is a good option.

  • go on Grapes webapp at grapes_url/webapp
  • select module filter
  • update the filters regarding the module you are looking for then run the search
  • select the module you want to see and click on "Third Party" button

This way you will get all the third party libraries of a module. If you want a report more tunable you can use the REST API.


####Using the REST API

Thanks to the many query parameters available for each queries of Grapes REST API It is really easy to create a report that suites specific needs.

Lets imagine that I want to get the dependencies of Jongo module (org.jongo:jongo) in version 1.0. Run an http GET at grapes_url/module/org.jongo:jongo/1.0/dependencies?showThirdparty=true

N.B: The results of Grapes REST API are available in JSON or in HTML.


####To go deeper in the tree

If the module has corporate dependencies and you want to see all the third party libraries of all your corporate tree, you can set the query parameter "fullRecursive" to true.

N.B: Documentation of module queries are available at grapes_url/module.

Identify duplicated / deprecated dependencies

Procedure of the previous paragraph could be used to list and identify the duplicated dependencies but the REST API provides another way to do the job. It is called the dependency report. Based on the previous example, getting the dependency report of Jongo module (org.jongo:jongo) in version 1.0, perform an http GET at grapes_url/module/org.jongo:jongo/1.0/dependencies/report?showThirdparty=true

Then you will get a report which contains the dependencies with all the versions currently used by your project and the latest available version.

N.B: you can use the query parameter "fullRecursive" to get a report about the entire tree of your production.

List embedded licenses

####Using the webapp

  • go on Grapes webapp at grapes_url/webapp
  • select module filter
  • update the filters regarding the module you are looking for then run the search
  • select the module you want to see and click on "Licenses" button

You will get the list of licenses used by the third party libraries of your project.


####Using the REST API

Perform an http GET at grapes_url/module/org.jongo:jongo/1.0/licenses

N.B: you can use the query parameter "fullRecursive" to get a report about the entire tree of your production.

Draw a dependency graph

Grapes has a feature called Sequoïa that can draw dependency graphs.

  • go on Grapes webapp at grapes_url/sequoia
  • go on "Dependency Graph" tab
  • select a module thanks to available filters
  • click on 'get chart' button

Draw a sub-module tree

Grapes has a feature called Sequoïa that do rendering on the internal sub-module hierarchy of a module.

  • go on Grapes webapp at grapes_url/sequoia
  • go on "Module Tree" tab
  • select a module thanks to available filters
  • click on 'get chart' button