// Package build is for building source into a package package build // Build is an interface for building packages type Build interface { // Package builds a package Package(name string, src *Source) (*Package, error) // Remove removes the package Remove(*Package) error } // Source is the source of a build type Source struct { // Path to the source if local Path string // Language is the language of code Language string // Location of the source Repository string } // Package is packaged format for source type Package struct { // Name of the package Name string // Location of the package Path string // Type of package e.g tarball, binary, docker Type string // Source of the package Source *Source }