diff --git a/.gitignore b/.gitignore index 6bdefa83..d42ab353 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ out/* -bazel-* diff --git a/.travis.yml b/.travis.yml index f61926ce..62bee186 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,14 +9,5 @@ services: go_import_path: github.com/GoogleContainerTools/container-diff -addons: - apt: - sources: - - sourceline: 'deb [arch=amd64] http://storage.googleapis.com/bazel-apt stable jdk1.8' - key_url: 'https://storage.googleapis.com/bazel-apt/doc/apt-key.pub.gpg' - packages: - - bazel - - script: - travis_wait make test integration diff --git a/BUILD b/BUILD deleted file mode 100644 index 8d472194..00000000 --- a/BUILD +++ /dev/null @@ -1,28 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_prefix") -load("@bazel_gazelle//:def.bzl", "gazelle") - -gazelle( - name = "gazelle", - external = "vendored", - prefix = "github.com/GoogleContainerTools/container-diff", -) - -go_prefix("github.com/GoogleContainerTools/container-diff") - -go_library( - name = "go_default_library", - srcs = ["main.go"], - importpath = "github.com/GoogleContainerTools/container-diff", - visibility = ["//visibility:private"], - deps = [ - "//cmd:go_default_library", - "//vendor/github.com/pkg/profile:go_default_library", - ], -) - -go_binary( - name = "container-diff", - embed = [":go_default_library"], - importpath = "github.com/GoogleContainerTools/container-diff", - visibility = ["//visibility:public"], -) diff --git a/Dockerfile.build b/Dockerfile.build index 6819acb9..d2e98a3e 100644 --- a/Dockerfile.build +++ b/Dockerfile.build @@ -3,4 +3,4 @@ FROM golang:1.9 RUN apt-get update && apt-get install make RUN mkdir -p /go/src/github.com/GoogleContainerTools/ RUN ln -s /workspace /go/src/github.com/GoogleContainerTools/container-diff -WORKDIR /go/src/github.com/GoogleContainerTools/container-diff \ No newline at end of file +WORKDIR /go/src/github.com/GoogleContainerTools/container-diff diff --git a/WORKSPACE b/WORKSPACE deleted file mode 100644 index 55c86b55..00000000 --- a/WORKSPACE +++ /dev/null @@ -1,15 +0,0 @@ -http_archive( - name = "io_bazel_rules_go", - url = "https://github.com/bazelbuild/rules_go/releases/download/0.9.0/rules_go-0.9.0.tar.gz", - sha256 = "4d8d6244320dd751590f9100cf39fd7a4b75cd901e1f3ffdfd6f048328883695", -) -http_archive( - name = "bazel_gazelle", - url = "https://github.com/bazelbuild/bazel-gazelle/releases/download/0.8/bazel-gazelle-0.8.tar.gz", - sha256 = "e3dadf036c769d1f40603b86ae1f0f90d11837116022d9b06e4cd88cae786676", -) -load("@io_bazel_rules_go//go:def.bzl", "go_rules_dependencies", "go_register_toolchains") -go_rules_dependencies() -go_register_toolchains() -load("@bazel_gazelle//:deps.bzl", "gazelle_dependencies") -gazelle_dependencies() diff --git a/cmd/BUILD.bazel b/cmd/BUILD.bazel deleted file mode 100644 index fdde2771..00000000 --- a/cmd/BUILD.bazel +++ /dev/null @@ -1,41 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "go_default_library", - srcs = [ - "analyze.go", - "diff.go", - "root.go", - "version.go", - ], - importpath = "github.com/GoogleContainerTools/container-diff/cmd", - visibility = ["//visibility:public"], - deps = [ - "//cmd/util/output:go_default_library", - "//differs:go_default_library", - "//pkg/util:go_default_library", - "//util:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/authn:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/name:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/daemon:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/remote:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/tarball:go_default_library", - "//vendor/github.com/mitchellh/go-homedir:go_default_library", - "//vendor/github.com/sirupsen/logrus:go_default_library", - "//vendor/github.com/spf13/cobra:go_default_library", - "//vendor/github.com/spf13/pflag:go_default_library", - "//version:go_default_library", - ], -) - -go_test( - name = "go_default_test", - srcs = [ - "analyze_test.go", - "diff_test.go", - "root_test.go", - ], - embed = [":go_default_library"], - importpath = "github.com/GoogleContainerTools/container-diff/cmd", -) diff --git a/cmd/util/output/BUILD.bazel b/cmd/util/output/BUILD.bazel deleted file mode 100644 index b6c2b769..00000000 --- a/cmd/util/output/BUILD.bazel +++ /dev/null @@ -1,9 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") - -go_library( - name = "go_default_library", - srcs = ["output.go"], - importpath = "github.com/GoogleContainerTools/container-diff/cmd/util/output", - visibility = ["//visibility:public"], - deps = ["//vendor/github.com/spf13/cobra:go_default_library"], -) diff --git a/differs/BUILD.bazel b/differs/BUILD.bazel deleted file mode 100644 index 1f8195f6..00000000 --- a/differs/BUILD.bazel +++ /dev/null @@ -1,46 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "go_default_library", - srcs = [ - "apt_diff.go", - "differs.go", - "file_diff.go", - "history_diff.go", - "metadata_diff.go", - "node_diff.go", - "package_differs.go", - "pip_diff.go", - "rpm_diff.go", - ], - importpath = "github.com/GoogleContainerTools/container-diff/differs", - visibility = ["//visibility:public"], - deps = [ - "//pkg/util:go_default_library", - "//util:go_default_library", - "//vendor/github.com/fsouza/go-dockerclient:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/name:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/daemon:go_default_library", - "//vendor/github.com/nightlyone/lockfile:go_default_library", - "//vendor/github.com/sirupsen/logrus:go_default_library", - ], -) - -go_test( - name = "go_default_test", - srcs = [ - "apt_diff_test.go", - "differs_test.go", - "node_diff_test.go", - "pip_diff_test.go", - "rpm_diff_test.go", - ], - embed = [":go_default_library"], - importpath = "github.com/GoogleContainerTools/container-diff/differs", - deps = [ - "//pkg/util:go_default_library", - "//util:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1:go_default_library", - ], -) diff --git a/docker_diff.bzl b/docker_diff.bzl deleted file mode 100644 index d75193f3..00000000 --- a/docker_diff.bzl +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 2018 Google, Inc. All rights reserved. - -# 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. - -def _impl(ctx): - """Implementation of docker_diff""" - - container_diff_loction = ctx.executable._container_diff.short_path - image_location = ctx.file.image.short_path - - # Shell script to execute container-diff with appropriate flags - content = """\ -#!/bin/bash -set -e -./%s diff %s %s""" % (container_diff_loction, image_location, ctx.attr.diff_base) - content += " ".join(["--type=%s" % t for t in ctx.attr.diff_types]) - - ctx.file_action( - output = ctx.outputs.executable, - content = content, - ) - - return struct(runfiles=ctx.runfiles( - files = [ - ctx.executable._container_diff, - ctx.file.image - ]), - ) - -# Diff a bazel image against an image in production with bazel run -# Runs container-diff on the two images and prints the output. -# Args: -# name: name of the rule -# image: bazel target to an image you have bazel built (must be a tar) -# ex: image = "@//target/to:image.tar" -# diff_base: Tag or digest in a remote registry you want to diff against -# ex: diff_base = "gcr.io/google-appengine/debian8:latest" -# diff_types: Types flag to pass to container diff -# ex: ["pip", "file"] - -docker_diff = rule( - attrs = { - "image": attr.label( - allow_files = [".tar"], - single_file = True, - mandatory = True, - ), - "diff_base": attr.string(mandatory = True), - "diff_types": attr.string_list( - allow_empty = True, - ), - "_container_diff": attr.label( - default = Label("//:container-diff"), - executable = True, - cfg = "host", - ), - }, - executable = True, - implementation = _impl, -) diff --git a/pkg/util/BUILD.bazel b/pkg/util/BUILD.bazel deleted file mode 100644 index 3844b500..00000000 --- a/pkg/util/BUILD.bazel +++ /dev/null @@ -1,22 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") - -go_library( - name = "go_default_library", - srcs = [ - "fs_utils.go", - "image_utils.go", - "tar_utils.go", - "test_utils.go", - ], - importpath = "github.com/GoogleContainerTools/container-diff/pkg/util", - visibility = ["//visibility:public"], - deps = [ - "//vendor/github.com/docker/docker/pkg/system:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/mutate:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/partial:go_default_library", - "//vendor/github.com/google/go-containerregistry/pkg/v1/types:go_default_library", - "//vendor/github.com/pkg/errors:go_default_library", - "//vendor/github.com/sirupsen/logrus:go_default_library", - ], -) diff --git a/test.sh b/test.sh index b5ad0ad2..dd3d27cd 100755 --- a/test.sh +++ b/test.sh @@ -48,12 +48,3 @@ if [[ ! -z ${files} ]]; then echo "Boilerplate missing in: ${files}." exit 1 fi - -if [ ! "$(git status --porcelain)" ]; then - # Check gazelle if everything is up to date. - bazel run //:gazelle - if [ "$(git status --porcelain)" ]; then - echo "BUILD files out of date. Run 'bazel run //:gazelle' to update them." - exit 1 - fi -fi diff --git a/util/BUILD.bazel b/util/BUILD.bazel deleted file mode 100644 index 777a067a..00000000 --- a/util/BUILD.bazel +++ /dev/null @@ -1,37 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") - -go_library( - name = "go_default_library", - srcs = [ - "analyze_output_utils.go", - "diff_output_utils.go", - "diff_utils.go", - "format_utils.go", - "output_sort_utils.go", - "output_text_utils.go", - "package_diff_utils.go", - "template_utils.go", - ], - importpath = "github.com/GoogleContainerTools/container-diff/util", - visibility = ["//visibility:public"], - deps = [ - "//pkg/util:go_default_library", - "//vendor/code.cloudfoundry.org/bytefmt:go_default_library", - "//vendor/github.com/pmezard/go-difflib/difflib:go_default_library", - "//vendor/github.com/sirupsen/logrus:go_default_library", - ], -) - -go_test( - name = "go_default_test", - srcs = [ - "fs_utils_test.go", - "image_utils_test.go", - "output_sort_utils_test.go", - "package_diff_utils_test.go", - "tar_utils_test.go", - ], - embed = [":go_default_library"], - importpath = "github.com/GoogleContainerTools/container-diff/util", - deps = ["//pkg/util:go_default_library"], -) diff --git a/version/BUILD.bazel b/version/BUILD.bazel deleted file mode 100644 index 8eed7cf5..00000000 --- a/version/BUILD.bazel +++ /dev/null @@ -1,8 +0,0 @@ -load("@io_bazel_rules_go//go:def.bzl", "go_library") - -go_library( - name = "go_default_library", - srcs = ["version.go"], - importpath = "github.com/GoogleContainerTools/container-diff/version", - visibility = ["//visibility:public"], -)