-
Notifications
You must be signed in to change notification settings - Fork 2
/
macros.vm
67 lines (57 loc) · 2.04 KB
/
macros.vm
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
## Macro to fill names from pom
#macro(addName $mavenProject)
<name>${mavenProject.artifactId.replaceAll("\\.","-")}</name>
#if( $mavenProject.name )<displayname>${mavenProject.name}</displayname>
#end
#end
## Macro to fill common tags from pom
#macro(addHeader $mavenProject)
#addName($mavenProject)#if( $mavenProject.description )<description>${mavenProject.description}</description>
#end#if( $mavenProject.organization && $mavenProject.organization.name )<vendor>${mavenProject.organization.name}</vendor>
#end<version>${mavenProject.version}</version>
#end
## Macro to add transitive dependencies from pom
#macro(addResources $mavenProject $scope $libPath)
#foreach( $dependency in $mavenProject.getArtifacts() )
#if( ${dependency.scope} == "compile" || ${dependency.scope} == "runtime")
#addResource($dependency $scope $libPath)
#end
#end
#end
## Marco to add a resource
#macro(addResource $currentArtifact $scope $libPath)
#set($depName = "${currentArtifact.groupId}:${currentArtifact.artifactId}")
#set($depVersion = "${currentArtifact.version}")
#set($depFile = "${libPath}/${currentArtifact.file.name}")
#if($serverScopes && $serverScopes.contains($depName))
#set($depScope="server")
#else
#set($depScope="$scope")
#end
#if($fsmode)
#set($depMode='mode="isolated"')
#else
#set($depMode="")
#end
<resource #if($fsmode && $fsmode != "")mode="${fsmode}" #end#if($depScope != "")scope="${depScope}"#end name="${depName}" version="${depVersion}">${depFile}</resource>
#set($depName = "")
#set($depVersion = "")
#set($depFile = "")
#set($depMode="")
#end
## Macro to include all module xml fragments from neighbor maven modules
#macro(addModuleXmlFragments $mavenProject)
#foreach( $childModule in $project.getParent().getModules() )
#set($importFile = "../../../../$childModule/target/module-fragment.xml")
#include($importFile)
#end
#end
## Macro to render a standard module xml
#macro (defaultModuleXml $project)
<module>
#addHeader($project)
<components>
#addModuleXmlFragments($project)
</components>
</module>
#end