mapapps-maven-plugin
The mapapps-maven-plugin provides tools to manage app template deployment. This section describes the configuration properties.
Goals
help
Display help for the mapapps-maven-plugin:
> mvn de.conterra.mapapps:mapapps-maven-plugin:<version>:help -Ddetail=trueSet <version> to your current map.apps version, e.g: 3.1.0
| Parameter | Default | Description | 
|---|---|---|
| 
 | 
 | If true, display all settable properties for each goal. | 
| 
 | 
 | The name of the goal for which to show help. If unspecified, all goals are displayed. | 
| 
 | 
 | The number of spaces per indentation level, should be positive. | 
| 
 | 
 | The maximum length of a display line, should be positive. | 
deployAppTemplate
Can be used to automate the following tasks:
- 
create <app template>.zip 
- 
deploy <app template> as app template to map.apps server 
- 
create <app> based on the deployed app-template 
- 
deploy <app template> as app to map.apps server 
Binds by default to the package lifecycle.
<plugin>
    <groupId>de.conterra.mapapps</groupId>
    <artifactId>mapapps-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>deploy-template</id>
            <goals>
                <goal>deployAppTemplate</goal>
            </goals>
            <configuration>
                <!-- common template metadata -->
                <templateName>myapptemplate</templateName>
                <templateTitle>MyAppTemplate</templateTitle>
                <templateDescription>MyAppTemplate is an app-template to ...</templateDescription>
                <!-- template file specification -->
                <templateFile>${basedir}/target/myapptemplate.zip</templateFile>
                <!-- which resources should be put in template -->
                <templateResources>
                    <!-- multiple templateResource definitions are possible -->
                    <templateResource>
                        <directory>${basedir}/src/main/js/apps/myapptemplate</directory>
                        <includes>
                            <include>**/*</include>
                        </includes>
                    </templateResource>
                </templateResources>
                <!-- enable deployement to server -->
                <skipDeploy>false</skipDeploy>
                <!-- a template should be deployed not a pure app -->
                <deployAsApp>false</deployAsApp>
                <!-- create an app based on the uploaded template -->
                <createApp>true</createApp>
                <!-- app metadata -->
                <appEditorState>PUBLISHED</appEditorState>
                <appName>mycoolapp</appName>
                <appTitle>My Cool App</appTitle>
                <appDescription>a test application</appDescription>
                <!-- allowed groups/roles -->
                <appSharedInGroups>maAdmin</appSharedInGroups>
                <!-- synchronization settings -->
                <sync>true</sync>
                <syncMode>MERGE</syncMode>
                <!-- the map.apps server endpoint definition -->
                <serverResourcesEndpoint>http://www.mapapps.de/mapapps/resources</serverResourcesEndpoint>
                <username>admin</username>
                <password>admin</password>
            </configuration>
        </execution>
    </executions>
</plugin>| Parameter | Default | Description | 
|---|---|---|
| 
 | 
 | Name of the template. If not configured, the filename is used. | 
| 
 | 
 | Title of the template. If not specified the name is used. | 
| 
 | 
 | Description of the template. | 
| 
 | 
 | The zip file pointing to the template zip/jar. It is interpreted as output file if  | 
| 
 | 
 | Include/excludes of a template. If this is configured, the templateFile is interpreted as output file and the template is first created by this mojo. | 
| 
 | 
 | Name of the template app. If not configured, the template name is used. | 
| 
 | 
 | Title of the template app. If not specified the name is used. | 
| 
 | 
 | Description of the template app. | 
| 
 | 
 | Editor state of the app. | 
| 
 | 
 | Configures the group names in which the app should be shared. This is a comma separated list of names. | 
| 
 | 
 | Allow the use of this mojo for app creation based on this template. | 
| 
 | URL pointing to the resources rest service of the map.apps server. | |
| 
 | 
 | Username for authentication at the map.apps server. | 
| 
 | 
 | Password for authentication at the map.apps server. | 
| 
 | 
 | Skip template deployment task. | 
| 
 | 
 | Don’t deploy as app template but as an app.
This enables  | 
| 
 | 
 | Defines if the app is synchronized with the app template (use together with  | 
| 
 | 
 | Defines the app template synchronization mode ( | 
| 
 | 
 | If  | 
| 
 | 
 | Defines if the plugin trusts any SSL servers without checking a trust store. | 
| 
 | 
 | Defines that content upload is using Chunked Request Encoding. If false uploads are buffered in memory to calculate the content length. | 
| It is only possible to specify roles in </appSharedInGroups>that are assigned to the signed in user. | 
deployApps
Can be used to automate the same tasks as 'deployAppTemplate' goal, but works on an apps folder as input.
Binds by default to the package lifecycle.
<plugin>
    <groupId>de.conterra.mapapps</groupId>
    <artifactId>mapapps-maven-plugin</artifactId>
    <executions>
        <execution>
            <id>deploy-apps</id>
            <goals>
                <goal>deployApps</goal>
            </goals>
            <configuration>
                <!-- input output folders -->
                <sourceDirectory>${project.build.directory}/apps</sourceDirectory>
                <outputDirectory>${project.build.directory}/apps</outputDirectory>
                <skipPattern>.*foldername</skipPattern>
                <!-- enable deployment to server -->
                <skipDeploy>false</skipDeploy>
                <!-- a template should be deployed, not a pure app -->
                <deployAsApp>false</deployAsApp>
                <!-- create an app based on the uploaded template -->
                <createApp>true</createApp>
                <!-- app metadata -->
                <appEditorState>PUBLISHED</appEditorState>
                <!-- allowed groups/roles -->
                <appSharedInGroups>maAdmin</appSharedInGroups>
                <!-- the map.apps server endpoint definition -->
                <serverResourcesEndpoint>http://www.mapapps.de/mapapps/resources</serverResourcesEndpoint>
                <username>admin</username>
                <password>admin</password>
            </configuration>
        </execution>
    </executions>
</plugin>| Parameter | Default | Description | 
|---|---|---|
| 
 | 
 | The source folder of apps. This folders sub directories are scanned for app.json files. | 
| 
 | 
 | The output directory. All app zip files are created in this directory. | 
| 
 | 
 | A regular expression to skip some folders during source app scanning. | 
| 
 | 
 | Editor state of the app. | 
| 
 | 
 | Configures the group names in which the app should be shared. This is a comma separated list of names. | 
| 
 | 
 | Allow the use of this mojo for app creation based on this template. | 
| 
 | URL pointing to the resources rest service of the map.apps server. | |
| 
 | 
 | Username for authentication at the map.apps server. | 
| 
 | 
 | Password for authentication at the map.apps server. | 
| 
 | 
 | Skip template deployment task. | 
| 
 | 
 | Don’t deploy as app template but as an app.
This enables  | 
| 
 | 
 | Defines if the app is synchronized with the app template (use together with  | 
| 
 | 
 | Defines the app template synchronization mode ( | 
| 
 | 
 | If  | 
| 
 | 
 | Defines if the plugin trusts any SSL servers without checking a trust store. | 
| 
 | 
 | Defines that content upload is using Chunked Request Encoding. If false uploads are buffered in memory to calculate the content length. | 
| All roles defined in appSharedInGroups-propertymust be assigned to the configured user.
It is not allowed to specify roles that are not possessed by the user.
For example, admin/admin can restrict apps to "maAdmin". |