[amber] Delete amber

We no longer need this package

Change-Id: Ibbe4445aae16262d3c02c2de1e950a091f816407
diff --git a/botanist/amber/server.go b/botanist/amber/server.go
deleted file mode 100644
index 7136401..0000000
--- a/botanist/amber/server.go
+++ /dev/null
@@ -1,91 +0,0 @@
-// Copyright 2019 The Fuchsia Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package amber
-
-import (
-	"context"
-	"fmt"
-	"net/http"
-	"path"
-)
-
-// DefaultServerAddress is the default address to serve packages from.
-const DefaultServerAddress = "localhost:8083"
-
-// DefaultPackagesPath returns the default path to an amber package repository within a
-// Fuchsia build directory.
-func DefaultPackagesPath(buildDir string) string {
-	return path.Join(buildDir, "amber-files", "repository")
-}
-
-// Middleware creates a new http.Handler that executes itself before executing next. The
-// new handler should always call next to give the server a chance to serve files.
-type Middleware func(next http.Handler) http.Handler
-
-// ServerOptions specify how to serve a package repository.
-type ServerOptions struct {
-	// Address is the HTTP address to serve from
-	Address string
-
-	// PackagesPath is the path to the package repository to serve.
-	PackagesPath string
-
-	// Middleware is optional HTTP middleware to use for the Server. This will be called
-	// on every incoming request before the server handles the message.
-	Middleware Middleware
-}
-
-// ServePackages starts an OTA server for the amber repository located at path. Address
-// is the HTTP address to serve from. This function will block until the server is done.
-// The server will exit when the provide context is done. Returns the string URL of the
-// package server.
-func ServePackages(ctx context.Context, opts ServerOptions) (url string) {
-	handler := http.FileServer(http.Dir(opts.PackagesPath))
-	if opts.Middleware != nil {
-		handler = opts.Middleware(handler)
-	}
-
-	s := &server{
-		address: opts.Address,
-		handler: handler,
-	}
-
-	s.delegate = &http.Server{
-		Addr:    opts.Address,
-		Handler: s.handler,
-	}
-
-	go s.start(ctx)
-	return s.url()
-}
-
-// server is a handle to a package repository server.
-type server struct {
-	address  string
-	delegate *http.Server
-	handler  http.Handler
-}
-
-func (s *server) url() string {
-	return fmt.Sprintf("http://%s", s.address)
-}
-
-func (s *server) start(ctx context.Context) error {
-	errors := make(chan error)
-
-	go func() {
-		errors <- s.delegate.ListenAndServe()
-	}()
-
-	select {
-	case <-ctx.Done():
-		if err := s.delegate.Close(); err != nil {
-			return err
-		}
-		return ctx.Err()
-	case err := <-errors:
-		return err
-	}
-}
diff --git a/botanist/amber/server_test.go b/botanist/amber/server_test.go
deleted file mode 100644
index 60943e7..0000000
--- a/botanist/amber/server_test.go
+++ /dev/null
@@ -1,112 +0,0 @@
-// Copyright 2019 The Fuchsia Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-package amber_test
-
-import (
-	"bytes"
-	"context"
-	"fmt"
-	"io/ioutil"
-	"net/http"
-	"os"
-	"path"
-	"path/filepath"
-	"strings"
-	"testing"
-
-	"fuchsia.googlesource.com/tools/botanist/amber"
-	"fuchsia.googlesource.com/tools/color"
-	"fuchsia.googlesource.com/tools/logger"
-)
-
-func TestServePackages(t *testing.T) {
-	ctx, cancel := context.WithCancel(context.Background())
-	defer cancel()
-
-	// Create a fake build output directory.
-	root, err := ioutil.TempDir("", "")
-	if err != nil {
-		t.Fatalf("failed to create temp directory: %v", err)
-	}
-	defer os.RemoveAll(root)
-
-	// Create a fake pakage repository with a single file to serve in that directory.
-	packageRoot := path.Join(root, "amber-files", "repository")
-	if err := os.MkdirAll(packageRoot, os.FileMode(0755)); err != nil {
-		t.Fatalf("failed to create directory %s: %v", packageRoot, err)
-	}
-
-	file, err := ioutil.TempFile(packageRoot, "")
-	if err != nil {
-		t.Fatalf("failed to create tempfile in %s: %v", packageRoot, err)
-	}
-
-	const message = "test file"
-	if _, err := file.Write([]byte(message)); err != nil {
-		t.Fatalf("failed to write dummy data to %s: %v", file.Name(), err)
-	}
-
-	// Serve the repository.
-	serverURL := amber.ServePackages(ctx, amber.ServerOptions{
-		Address:      amber.DefaultServerAddress,
-		PackagesPath: amber.DefaultPackagesPath(root),
-	})
-
-	// Ensure we can fetch the file.
-	uri := fmt.Sprintf("%s/%s", serverURL, filepath.Base(file.Name()))
-	res, err := http.Get(uri)
-	if err != nil {
-		t.Fatalf("failed to GET %q: %v", uri, err)
-	}
-	defer res.Body.Close()
-
-	// Ensure the contents are as expected.
-	data, err := ioutil.ReadAll(res.Body)
-	if err != nil {
-		t.Fatalf("failed to read response body: %v", err)
-	}
-	if string(data) != message {
-		t.Fatalf("got %q but wanted %q", string(data), message)
-	}
-}
-
-func TestServerWithMiddleware(t *testing.T) {
-	out := new(bytes.Buffer)
-
-	loggingMiddleware := func(next http.Handler) http.Handler {
-		level := logger.InfoLevel
-		l := logger.NewLogger(level, color.NewColor(color.ColorAuto), out, out)
-		return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
-			l.Logf(level, "[%s] %q", r.Method, r.URL.Path)
-			next.ServeHTTP(w, r)
-		})
-	}
-
-	ctx, cancel := context.WithCancel(context.Background())
-	defer cancel()
-
-	serverURL := amber.ServePackages(ctx, amber.ServerOptions{
-		Address:      amber.DefaultServerAddress,
-		PackagesPath: amber.DefaultPackagesPath("."),
-		Middleware:   loggingMiddleware,
-	})
-
-	uri := fmt.Sprintf("%s/%s", serverURL, filepath.Base("unimportant"))
-	res, err := http.Get(uri)
-	if err != nil {
-		t.Fatalf("failed to GET %q: %v", uri, err)
-	}
-	defer res.Body.Close()
-
-	if out.String() == "" {
-		t.Fatalf("middleware was not called")
-	}
-
-	expected := `[GET] "/unimportant"`
-	actual := strings.TrimSpace(out.String())
-	if actual != expected {
-		t.Fatalf("got %q but wanted %q", actual, expected)
-	}
-}