<pre style='margin:0'>
Zero King (l2dy) pushed a commit to branch master
in repository mpbot-github.

</pre>
<p><a href="https://github.com/macports/mpbot-github/commit/18b6ba224c28e170584ae9007868c0a637867b16">https://github.com/macports/mpbot-github/commit/18b6ba224c28e170584ae9007868c0a637867b16</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 18b6ba2  ci: use mpbb to list subports and clean up
</span>18b6ba2 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 18b6ba224c28e170584ae9007868c0a637867b16
</span>Author: Zero King <l2dy@macports.org>
AuthorDate: Sun Jan 6 07:00:46 2019 +0000

<span style='display:block; white-space:pre;color:#404040;'>    ci: use mpbb to list subports and clean up
</span>---
 ci/buildWorker.go |  2 +-
 ci/mpbb.go        | 22 ++++++++++++++++++++++
 ci/portutil.go    | 23 -----------------------
 3 files changed, 23 insertions(+), 24 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ci/buildWorker.go b/ci/buildWorker.go
</span><span style='display:block; white-space:pre;color:#808080;'>index 905e309..3bf53a1 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/ci/buildWorker.go
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ci/buildWorker.go
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,8 +39,8 @@ func (worker *buildWorker) start() {
</span>                   logger.GlobalLogger.LogChan <- &logger.LogText{"port-" + port + "-subports", []byte(strings.Join(subports, "\n"))}
                        for _, subport := range subports {
                                statusString := "success"
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                                DeactivateAllPorts()
</span>                           portTmpDir := path.Join(worker.session.tmpDir, subport)
<span style='display:block; white-space:pre;background:#e0ffe0;'>+                                mpbbToLog("cleanup", "", portTmpDir, "cleanup.log")
</span>                           logFilename := path.Join(worker.session.tmpDir, "port-"+subport+"-dep-install.log")
                                logger.GlobalLogger.LogChan <- &logger.LogText{"port-" + subport + "-dep-install-start", nil}
                                err := mpbbToLog("install-dependencies", subport, portTmpDir, logFilename)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ci/mpbb.go b/ci/mpbb.go
</span><span style='display:block; white-space:pre;color:#808080;'>index 9fdf3af..552a54f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/ci/mpbb.go
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ci/mpbb.go
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,6 +6,28 @@ import (
</span>   "os/exec"
 )
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+// List all subports of a given port.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+func ListSubports(port string) ([]string, error) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   listCmd := exec.Command("mpbb", "list-subports", "--archive-site=", "--archive-site-private=", port)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   stdout, err := listCmd.StdoutPipe()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if err != nil {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return nil, err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if err = listCmd.Start(); err != nil {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return nil, err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   subports := make([]string, 0, 1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   stdoutScanner := bufio.NewScanner(stdout)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   for stdoutScanner.Scan() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           line := stdoutScanner.Text()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           subports = append(subports, line)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   if err = listCmd.Wait(); err != nil {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           return nil, err
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return subports, nil
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> // mpbbToLog executes `mpbb` and saves output to a file at logFilePath.
 func mpbbToLog(command, port, workDir, logFilePath string) error {
        var mpbbCmd *exec.Cmd
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/ci/portutil.go b/ci/portutil.go
</span><span style='display:block; white-space:pre;color:#808080;'>index 4bab199..885bdf4 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/ci/portutil.go
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/ci/portutil.go
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,7 +1,6 @@
</span> package ci
 
 import (
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        "bufio"
</span>   "os/exec"
 )
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -12,25 +11,3 @@ func DeactivateAllPorts() {
</span>   deactivateCmd := exec.Command("port", "-fp", "deactivate", "active")
        deactivateCmd.Run()
 }
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-// List all subports of a given port.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-func ListSubports(port string) ([]string, error) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   listCmd := exec.Command("port", "-q", "info", "--index", "--line", "--name", port, "subportof:"+port)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   stdout, err := listCmd.StdoutPipe()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if err != nil {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return nil, err
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if err = listCmd.Start(); err != nil {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return nil, err
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   subports := make([]string, 0, 1)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   stdoutScanner := bufio.NewScanner(stdout)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   for stdoutScanner.Scan() {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           line := stdoutScanner.Text()
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           subports = append(subports, line)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   if err = listCmd.Wait(); err != nil {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-           return nil, err
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-   return subports, nil
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span></pre><pre style='margin:0'>

</pre>