|
1 | 1 | # AppMap Gradle plugin |
2 | 2 |
|
3 | | -- [AppMap Gradle plugin](#appmap-gradle-plugin) |
4 | | - - [Quickstart](#quickstart) |
5 | | - - [About](#about) |
6 | | - - [Plugin Tasks](#plugin-tasks) |
7 | | - - [Plugin configuration](#plugin-configuration) |
8 | | - - [Troubleshooting](#troubleshooting) |
| 3 | +## Installation, configuration and usage |
9 | 4 |
|
10 | | -## Quickstart |
| 5 | +Visit [https://appland.com/docs/reference/appmap-gradle-plugin](https://appland.com/docs/reference/appmap-gradle-plugin) |
| 6 | +for quickstart instructions and full documentation. |
11 | 7 |
|
12 | | -First, ensure you have a |
13 | | -[properly configured `appmap.yml`](https://github.com/applandinc/appmap-java#configuration) |
14 | | -in your root project directory. A basic configuration may look like: |
15 | | - |
16 | | -```yml |
17 | | -# appmap.yml |
18 | | -name: my_organization/my_application |
19 | | - |
20 | | -packages: |
21 | | - # List the packages you'd like to record here. |
22 | | - - path: com.myorganization.myapplication |
23 | | - |
24 | | - # Individual classes or methods can be chosen as well. |
25 | | - # |
26 | | - # - path: com.myorganization.myapplication.MyClass |
27 | | - # - path: com.myorganization.myapplication.MyClass#myInstanceMethod |
28 | | - # - path: com.myorganization.myapplication.MyClass.myStaticMethod |
29 | | - # |
30 | | - # Optionally, include paths of packages, classes |
31 | | - # or methods that you'd like to exclude from recording |
32 | | - # |
33 | | - # - exclude: com.myorganization.myapplication.util |
34 | | - # - exclude: com.myorganization.myapplication.MyClass |
35 | | - # - exclude: com.myorganization.myapplication.MyClass#myInstanceMethod |
36 | | - # - exclude: com.myorganization.myapplication.MyClass.myStaticMethod |
37 | | -``` |
38 | | - |
39 | | -Next, add the following plugin definition and configuration to your |
40 | | -`build.gradle`: |
41 | | - |
42 | | -1. Add `com.appland.appmap` to plugins |
43 | | - |
44 | | - ```groovy |
45 | | - plugins { |
46 | | - // other plugins here |
47 | | -
|
48 | | - id 'com.appland.appmap' version '1.0.1' |
49 | | - } |
50 | | - ``` |
51 | | - |
52 | | -2. Make sure the Maven repository is listed in repositories. Example: |
53 | | - |
54 | | - ```groovy |
55 | | - repositories { |
56 | | - mavenCentral() |
57 | | - } |
58 | | - ``` |
59 | | - |
60 | | -3. Add appmap configuration (_optional_) |
61 | | - |
62 | | - ```groovy |
63 | | - // Set up AppMap agent, default parameters |
64 | | - appmap { |
65 | | - configFile = file("$projectDir/appmap.yml") |
66 | | - outputDirectory = file("$buildDir/appmap") |
67 | | - skip = false |
68 | | - debug = "info" |
69 | | - debugFile = file("$buildDir/appmap/agent.log") |
70 | | - eventValueSize = 1024 |
71 | | - } |
72 | | - ``` |
73 | | - |
74 | | -That's all! The AppMap agent will automatically record your tests when you run |
75 | | -`gradle appmap test`. By default, AppMap files are output to `$buildDir/appmap`. |
76 | | - |
77 | | -Using IntelliJ IDEA or Visual Studio Code? |
78 | | -[Open the Quickstart guide](https://appland.com/docs/quickstart) and install the AppMap extension to view AppMap files in your IDE. |
79 | | - |
80 | | -## About |
81 | | - |
82 | | -The AppMap Gradle Plugin provides simple method for recording AppMaps in running |
83 | | -tests in Gradle projects, and a seamless integration into CI/CD pipelines. The |
84 | | -recording agent requires `appmap.yml` configuration file, see |
85 | | -[appmap-java](https://github.com/applandinc/appmap-java/blob/master/README.md) |
86 | | -for details. |
87 | | - |
88 | | -## Plugin Tasks |
89 | | - |
90 | | -- `appmap` - adds the AppMap Java agent to the JVM, must be explicitly called |
91 | | -- `validate-config` - Validates if appmap.yml file exist, and it's readable |
92 | | - |
93 | | -## Plugin configuration |
94 | | - |
95 | | -- `configFile` Path to the `appmap.yml` config file. Default: _./appmap.yml_ |
96 | | -- `outputDirectory` Output directory for `.appmap.json` files. Default: |
97 | | - _.$buildDir/appmap_ |
98 | | -- `skip` Agent won't record tests when set to true. Default: _false_ |
99 | | -- `debug` Enable debug flags as a comma separated list. Accepts: `info`, |
100 | | - `hooks`, `http`, `locals` Default: _info_ |
101 | | -- `debugFile` Specify where to output debug logs. Default: |
102 | | - _$buildDir/appmap/agent.log_ |
103 | | -- `eventValueSize` Specifies the length of a value string before truncation |
104 | | - occurs. If set to 0, truncation is disabled. Default: _1024_ |
105 | | - |
106 | | -## Troubleshooting |
107 | | - |
108 | | -**I have no `$buildDir/appmap` directory** |
109 | | -It's likely that the agent is not running. Double check the `appmap` task is |
110 | | -being explicitly called and if the JVM is being forked at any point, make sure |
111 | | -the `javaagent` argument is being propagated to the new process. |
112 | | - |
113 | | -**`*.appmap.json` files are present, but appear empty or contain little data** |
114 | | -Double check your `appmap.yml`. This usually indicates that the agent is |
115 | | -functioning as expected, but no classes or methods referenced in the |
116 | | -`appmap.yml` configuration are being executed. You may need to adjust the |
117 | | -packages being recorded. Follow this link for more information: |
118 | | -https://github.com/applandinc/appmap-java#configuration |
119 | | - |
120 | | -**My tests aren't running, or I'm seeing |
121 | | -`The forked VM terminated without properly saying goodbye.`** |
122 | | -Check the agent log (defaults to `target/appmap/agent.log`) This is typically |
123 | | -indicative of an invalid `appmap.yml` configuration. |
124 | | - |
125 | | -**I have a test failure that only occurs while the agent is attached** |
126 | | -Please open an issue at |
127 | | -[applandinc/appmap-java](https://github.com/applandinc/appmap-java/issues). |
128 | | -Attach a link to the source code or repository (if available), as well as any |
129 | | -other relevant information including: |
130 | | - |
131 | | -- the contents of `appmap.yml` |
132 | | -- the run command used (such as `gradle appmap test`) |
133 | | -- output of the run command |
| 8 | +## Development |
| 9 | +Development instructions are coming soon. |
0 commit comments