Line 264... |
Line 264... |
$home = cwd();
|
$home = cwd();
|
|
|
|
|
|
|
my $parser = XML::LibXML->new();
|
my $parser = XML::LibXML->new();
|
my $doc = $parser->parse_file("${home}/projects/${vendor}/${project}${lib_comp_sep}${component}${comp_xml}${variant}.xml");
|
my $spirit_design_file = $parser->parse_file("${home}/projects/${vendor}/${project}${lib_comp_sep}${component}${comp_xml}${variant}.design.xml");
|
|
|
foreach my $comp ($doc->findnodes('//spirit:component'))
|
|
{
|
|
|
|
my($vendor) = $comp->findnodes('./spirit:vendor/text()')->to_literal ;
|
|
my($library) = $comp->findnodes('./spirit:library/text()')->to_literal ;
|
|
my($name) = $comp->findnodes('./spirit:name/text()')->to_literal ;
|
|
my($version) = $comp->findnodes('./spirit:version/text()')->to_literal ;
|
|
|
|
my $variant = "";
|
|
if($version) {$variant = "${name}_${version}"}
|
|
else {$variant = "${name}"}
|
|
|
|
|
|
|
|
|
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
Line 288... |
Line 276... |
#/ Create filelists for simulation, code coverage, linting and synthesis */
|
#/ Create filelists for simulation, code coverage, linting and synthesis */
|
#/ */
|
#/ */
|
#/ */
|
#/ */
|
#/*********************************************************************************************/
|
#/*********************************************************************************************/
|
|
|
push(@filelist_hier,"::${library}::${name}::${comp_xml}::${variant}::");
|
push(@filelist_hier,"::${project}::${component}::${comp_xml}::${variant}::");
|
|
|
|
|
|
|
|
|
|
|
foreach my $i_name ($doc->findnodes("//spirit:component/spirit:componentInstances/spirit:componentInstance/spirit:instanceName"))
|
|
|
foreach my $i_name ($spirit_design_file->findnodes("//spirit:design/spirit:componentInstances/spirit:componentInstance/spirit:componentRef/\@spirit:vendor"))
|
{
|
{
|
my($vendor_name) = $i_name ->findnodes('../spirit:componentRef/spirit:vendor/text()')->to_literal ;
|
my($vendor_name) = $i_name ->to_literal ;
|
my($library_name) = $i_name ->findnodes('../spirit:componentRef/spirit:library/text()')->to_literal ;
|
my($library_name) = $i_name ->findnodes('../@spirit:library')->to_literal ;
|
my($component_name) = $i_name ->findnodes('../spirit:componentRef/spirit:name/text()')->to_literal ;
|
my($component_name) = $i_name ->findnodes('../@spirit:name')->to_literal ;
|
my($version_name) = $i_name ->findnodes('../spirit:componentRef/spirit:version/text()')->to_literal ;
|
my($version_name) = $i_name ->findnodes('../@spirit:version')->to_literal ;
|
|
|
my $variant_name = "";
|
my $variant_name = "";
|
if($version_name) {$variant_name = "${component_name}_${version_name}";}
|
if($version_name) {$variant_name = "${component_name}_${version_name}";}
|
else {$variant_name = "${component_name}";}
|
else {$variant_name = "${component_name}";}
|
|
|
my @filelist_sub = parse_hier("$vendor_name","$library_name","$component_name","$comp_xml_sep","$variant_name");
|
my @filelist_sub = parse_hier("$vendor_name","$library_name","$component_name","$comp_xml_sep","$variant_name");
|
foreach $line (@filelist_sub) { push(@filelist_hier,"$line"); }
|
foreach $line (@filelist_sub) { push(@filelist_hier,"$line"); }
|
|
|
}
|
}
|
}
|
|
|
|
|
|
|
|
|
|
|
|
@filelist_hier = trim_sort(@filelist_hier);
|
@filelist_hier = trim_sort(@filelist_hier);
|
return(@filelist_hier);
|
return(@filelist_hier);
|
}
|
}
|