OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [tools/] [yp/] [clean] - Rev 135

Compare with Previous | Blame | View Log

eval 'exec `which perl` -S $0 ${1+"$@"}'
   if 0;
#/****************************************************************************/
#/*                                                                          */
#/*   SOCGEN Design for Reuse toolset                                        */
#/*                                                                          */
#/*   Version 1.0.0                                                          */
#/*                                                                          */
#/*   Author(s):                                                             */
#/*      - John Eaton, z3qmtr45@gmail.com                                    */
#/*                                                                          */
#/****************************************************************************/
#/*                                                                          */
#/*                                                                          */
#/*             Copyright 2016 John T Eaton                                  */ 
#/*                                                                          */
#/* Licensed under the Apache License, Version 2.0 (the "License");          */
#/* you may not use this file except in compliance with the License.         */
#/* You may obtain a copy of the License at                                  */
#/*                                                                          */
#/*    http://www.apache.org/licenses/LICENSE-2.0                            */
#/*                                                                          */
#/* Unless required by applicable law or agreed to in writing, software      */
#/* distributed under the License is distributed on an "AS IS" BASIS,        */
#/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. */
#/* See the License for the specific language governing permissions and      */
#/* limitations under the License.                                           */
#/*                                                                          */
#/*                                                                          */
#/****************************************************************************/


############################################################################
# General PERL config
############################################################################
use Getopt::Long;
use English;
use File::Basename;
use Cwd;
use XML::LibXML;
use lib './tools';
use sys::lib;
use BerkeleyDB;


$OUTPUT_AUTOFLUSH = 1; # set autoflush of stdout to TRUE.




############################################################################
### Process the options
############################################################################

Getopt::Long::config("require_order", "prefix=-");
GetOptions("h","help"
) || die "(use '$program_name -h' for help)";


##############################################################################
## Help option
##############################################################################
if ( $opt_h or $opt_help  ) 
   { 
   print "\n type clean  \n";
   exit 1;
   }


##############################################################################
## 
##############################################################################

my $home           = cwd();
my $parser = XML::LibXML->new();
my $workspace_xml    = $parser->parse_file("${home}/workspace.xml"); 
my @repos =();
my $repo;

foreach my $repo ($workspace_xml->findnodes('//socgen:workspace/socgen:external/socgen:repo')) 
                  {
                  my $repo_name  = $repo->findnodes('./socgen:name/text()')->to_literal ;
                  my $repo_path  = $repo->findnodes('./socgen:path/text()')->to_literal ;
                  print "cleaning $repo_name    \n";
                  if(-e  $repo_name)
                   {
                   print "Removing $repo_name  \n";
                   my $cmd = "rm -r $repo_name  \n";
                   if(system($cmd)){};
                   }
                  }



my $build_dir;
my $child_dir;
my $code_dir;
my $data_dir;
my $yp_dir;
my $ports_dir;
my $doc_dir;



foreach my $repo ($workspace_xml->findnodes('//socgen:workspace')) 
                  {
                  $build_dir       = $repo->findnodes('./socgen:build_dir/text()')->to_literal ;
                  $child_dir       = $repo->findnodes('./socgen:child_dir/text()')->to_literal ;
                  $code_dir        = $repo->findnodes('./socgen:code_dir/text()')->to_literal ;
                  $data_dir        = $repo->findnodes('./socgen:data_dir/text()')->to_literal ;
                  $yp_dir          = $repo->findnodes('./socgen:yp_dir/text()')->to_literal ;
                  $ports_dir       = $repo->findnodes('./socgen:ports_dir/text()')->to_literal ;
                  $doc_dir         = $repo->findnodes('./socgen:doc_dir/text()')->to_literal ;
                  }


if(-e $build_dir)
  {
  print "Removing $build_dir  \n";
  my $cmd = "rm -r ./${build_dir}  \n";
  if(system($cmd)){};
  }

if(-e $child_dir)
  {
  print "Removing $child_dir  \n";
  my $cmd = "rm -r ./${child_dir}  \n";
  if(system($cmd)){};
  }


if(-e $code_dir)
  {
  print "Removing $code_dir  \n";
  my $cmd = "rm -r ./${code_dir}  \n";
  if(system($cmd)){};
  }


if(-e $data_dir)
  {
  print "Removing $data_dir  \n";
  my $cmd = "rm -r ./${data_dir}  \n";
  if(system($cmd)){};
  }



if(-e $yp_dir)
  {
  print "Removing $yp_dir  \n";
  my $cmd = "rm -r ./${yp_dir}  \n";
  if(system($cmd)){};
  }

if(-e $ports_dir)
  {
  print "Removing $ports_dir  \n";
  my $cmd = "rm -r ./${ports_dir}  \n";
  if(system($cmd)){};
  }


if(-e $doc_dir)
  {
  print "Removing $doc_dir  \n";
  my $cmd = "rm -r ./${doc_dir}  \n";
  if(system($cmd)){};
  }


1

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.