buildframework/helium/doc/src/api/target-dependencies.dot.ftl
changeset 1 be27ed110b50
child 217 0f5e3a7fb6af
equal deleted inserted replaced
0:044383f39525 1:be27ed110b50
       
     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 &gt; 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>