|
1 <#-- |
|
2 ============================================================================ |
|
3 Name : |
|
4 Part of : Helium |
|
5 |
|
6 Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). |
|
7 All rights reserved. |
|
8 This component and the accompanying materials are made available |
|
9 under the terms of the License "Eclipse Public License v1.0" |
|
10 which accompanies this distribution, and is available |
|
11 at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
12 |
|
13 Initial Contributors: |
|
14 Nokia Corporation - initial contribution. |
|
15 |
|
16 Contributors: |
|
17 |
|
18 Description: |
|
19 |
|
20 ============================================================================ |
|
21 --> |
|
22 <#list doc.antDatabase.project.target as target> |
|
23 <@pp.changeOutputFile name="target-${target.name}.dot" /> |
|
24 |
|
25 strict digraph G { |
|
26 rankdir=LR; |
|
27 rotate=180; |
|
28 ordering=out; |
|
29 <#assign currentTarget = target.name> |
|
30 <#macro targetFunc targetMain caller> |
|
31 |
|
32 <#if caller == 0> |
|
33 "${targetMain.name}" [fontcolor=blue,fontsize=12,shape=box,style=filled,href="target-${targetMain.name}.html"]; |
|
34 <#list doc.antDatabase.project.target as parent> |
|
35 <#list parent.dependency as dependency> |
|
36 <#if targetMain.name == dependency> |
|
37 <#if parent.name != currentTarget> |
|
38 "${parent.name}" [fontcolor=brown,fontsize=12,shape=box,href="target-${parent.name}.html"]; |
|
39 </#if> |
|
40 <#if dependency.@type == "direct"> |
|
41 "${parent.name}" -> "${targetMain.name}" [color=navyblue,fontsize=12]; |
|
42 </#if> |
|
43 <#if dependency.@type == "exec"> |
|
44 "${parent.name}" -> "${targetMain.name}" [color=limegreen,fontsize=12]; |
|
45 </#if> |
|
46 </#if> |
|
47 </#list> |
|
48 </#list> |
|
49 </#if> |
|
50 <#if caller == 1> |
|
51 "${targetMain.name}" [fontcolor=brown,fontsize=12,shape=box,href="target-${targetMain.name}.html"]; |
|
52 </#if> |
|
53 |
|
54 <#if targetMain.dependency?size == 1> |
|
55 <#list targetMain.dependency as dependency> |
|
56 "${dependency}" [fontcolor=brown,fontsize=12,shape=box,href="target-${dependency}.html"]; |
|
57 </#list> |
|
58 </#if> |
|
59 |
|
60 <#assign depTotal=targetMain.dependency?size> |
|
61 <#assign depLastIndex=targetMain.dependency?size-1> |
|
62 |
|
63 <#if depTotal > 1> |
|
64 <#list 0..depLastIndex as index> |
|
65 <#if targetMain.dependency[index].@type == "direct"> |
|
66 "${targetMain.name}" -> "${targetMain.dependency[index]}" [color=navyblue,label="${index+1}",fontsize=12]; |
|
67 </#if> |
|
68 <#if targetMain.dependency[index].@type == "exec"> |
|
69 "${targetMain.name}" -> "${targetMain.dependency[index]}" [color=limegreen,label="${index+1}",fontsize=12]; |
|
70 </#if> |
|
71 <#list doc.antDatabase.project.target as targetDep> |
|
72 <#if targetDep.name == targetMain.dependency[index]> |
|
73 <@targetFunc targetMain=targetDep caller=1 /> |
|
74 </#if> |
|
75 </#list> |
|
76 </#list> |
|
77 </#if> |
|
78 |
|
79 <#attempt> |
|
80 <#if depTotal == 1> |
|
81 <#if targetMain.dependency.@type == "direct"> |
|
82 "${targetMain.name}" -> "${targetMain.dependency[depTotal-1]}" [color=navyblue]; |
|
83 </#if> |
|
84 <#if targetMain.dependency.@type == "exec"> |
|
85 "${targetMain.name}" -> "${targetMain.dependency[depTotal-1]}" [color=limegreen]; |
|
86 </#if> |
|
87 <#list doc.antDatabase.project.target as targetDep> |
|
88 <#if targetDep.name == targetMain.dependency && targetDep.name != "blacktusk-signal"> |
|
89 <@targetFunc targetMain=targetDep caller=1 /> |
|
90 </#if> |
|
91 </#list> |
|
92 </#if> |
|
93 <#recover> |
|
94 |
|
95 </#attempt> |
|
96 |
|
97 </#macro> |
|
98 |
|
99 <@targetFunc targetMain=target caller=0 /> |
|
100 } |
|
101 </#list> |