[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-windows
Subject:    Re: kdesupport/emerge/bin/BuildSystem
From:       Ralf Habacker <ralf.habacker () freenet ! de>
Date:       2011-03-23 23:29:36
Message-ID: 4D8A8260.7080209 () freenet ! de
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Am 09.03.2011 13:04, schrieb Wolfgang Rohdewald:
>
> On Freitag 04 März 2011, Ralf Habacker wrote:
>
> > SVN commit 1223691 by habacker:
>
> >
>
> > - define noop methods
>
> > +
>
> > + def configure(self):
>
> > + return True
>
> > +
>
> > + def make(self):
>
> > + return True
>
> > +
>
> > + def install(self):
>
> > + return True
>
>
> those were defined as abstract before I removed them
>
> with commit r1221902 - so if they ever were called,
>
> emerge would die. IOW they are never called.
>
>
> Why are those methods needed?
>
> r1221902 | wrohdewald | 2011-02-21 01:13:29 +0100 (Mo, 21. Feb 2011) | 
> 11 Zeilen
>
>
> BuildSystemBase: remove abstract methods
>
>
> those methods like configure() are redefined in derived
>
> classes with conflicting signatures like configure()
>
> in BinaryBuildSystem and QMakeBuildSystem(). This makes
>
> it pointless to define a common ancestor.
>
>
> By removing those methods, emerge (not pylint as the
>
> commit says) will still raise an exception if a derived
>
> class does not implement them, and pylint is happier.
>
I'm cleaning this up.  The QMakeBuildSystem is already solved and the 
other will follow :-)

Ralf


[Attachment #5 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title></title>
  </head>
  <body text="#000000" bgcolor="#ffffff">
    Am 09.03.2011 13:04, schrieb Wolfgang Rohdewald:
    <blockquote cite="mid:201103091304.42235.wolfgang@rohdewald.de"
      type="cite">
      <meta name="qrichtext" content="1">
      <style type="text/css">
p, li { white-space: pre-wrap; }
</style>
      <p style="margin: 0px; text-indent: 0px;">On Freitag 04 M&auml;rz 2011,
        Ralf Habacker wrote:</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; SVN commit 1223691
        by habacker:</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; </p>
      <p style="margin: 0px; text-indent: 0px;">&gt; - define noop
        methods</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; +</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + def
        configure(self):</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + return True</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; +</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + def make(self):</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + return True</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; +</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + def
        install(self):</p>
      <p style="margin: 0px; text-indent: 0px;">&gt; + return True</p>
      <p style="margin: 0px; text-indent: 0px;"><br>
      </p>
      <p style="margin: 0px; text-indent: 0px;">those were defined as
        abstract before I removed them</p>
      <p style="margin: 0px; text-indent: 0px;">with commit r1221902 -
        so if they ever were called,</p>
      <p style="margin: 0px; text-indent: 0px;">emerge would die. IOW
        they are never called.</p>
      <p style="margin: 0px; text-indent: 0px;"><br>
      </p>
      <p style="margin: 0px; text-indent: 0px;">Why are those methods
        needed?</p>
      <p style="margin: 0px; text-indent: 0px;">r1221902 | wrohdewald |
        2011-02-21 01:13:29 +0100 (Mo, 21. Feb 2011) | 11 Zeilen</p>
      <p style="margin: 0px; text-indent: 0px;"><br>
      </p>
      <p style="margin: 0px; text-indent: 0px;">BuildSystemBase: remove
        abstract methods</p>
      <p style="margin: 0px; text-indent: 0px;"><br>
      </p>
      <p style="margin: 0px; text-indent: 0px;">those methods like
        configure() are redefined in derived</p>
      <p style="margin: 0px; text-indent: 0px;">classes with conflicting
        signatures like configure()</p>
      <p style="margin: 0px; text-indent: 0px;">in BinaryBuildSystem and
        QMakeBuildSystem(). This makes</p>
      <p style="margin: 0px; text-indent: 0px;">it pointless to define a
        common ancestor.</p>
      <p style="margin: 0px; text-indent: 0px;"><br>
      </p>
      <p style="margin: 0px; text-indent: 0px;">By removing those
        methods, emerge (not pylint as the</p>
      <p style="margin: 0px; text-indent: 0px;">commit says) will still
        raise an exception if a derived</p>
      <p style="margin: 0px; text-indent: 0px;">class does not implement
        them, and pylint is happier.</p>
    </blockquote>
    I'm cleaning this up.&nbsp; The QMakeBuildSystem is already solved and
    the other will follow :-) <br>
    <br>
    Ralf <br>
    <br>
  </body>
</html>


_______________________________________________
Kde-windows mailing list
Kde-windows@kde.org
https://mail.kde.org/mailman/listinfo/kde-windows


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic