Skip to content

Commit

Permalink
(#12313) Add "devtools" namespace to all mage functions coming from d…
Browse files Browse the repository at this point in the history
…ev-tools directory (#12314)

Closes #12314
  • Loading branch information
mdelapenya authored Jun 12, 2019
1 parent 260f095 commit f6629a8
Show file tree
Hide file tree
Showing 43 changed files with 630 additions and 630 deletions.
68 changes: 34 additions & 34 deletions auditbeat/magefile.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,11 @@ import (
"github.com/magefile/mage/mg"

auditbeat "github.com/elastic/beats/auditbeat/scripts/mage"
"github.com/elastic/beats/dev-tools/mage"
devtools "github.com/elastic/beats/dev-tools/mage"
)

func init() {
mage.BeatDescription = "Audit the activities of users and processes on your system."
devtools.BeatDescription = "Audit the activities of users and processes on your system."
}

// Aliases provides compatibility with CI while we transition all Beats
Expand All @@ -42,33 +42,33 @@ var Aliases = map[string]interface{}{

// Build builds the Beat binary.
func Build() error {
return mage.Build(mage.DefaultBuildArgs())
return devtools.Build(devtools.DefaultBuildArgs())
}

// GolangCrossBuild build the Beat binary inside of the golang-builder.
// Do not use directly, use crossBuild instead.
func GolangCrossBuild() error {
return mage.GolangCrossBuild(mage.DefaultGolangCrossBuildArgs())
return devtools.GolangCrossBuild(devtools.DefaultGolangCrossBuildArgs())
}

// BuildGoDaemon builds the go-daemon binary (use crossBuildGoDaemon).
func BuildGoDaemon() error {
return mage.BuildGoDaemon()
return devtools.BuildGoDaemon()
}

// CrossBuild cross-builds the beat for all target platforms.
func CrossBuild() error {
return mage.CrossBuild()
return devtools.CrossBuild()
}

// CrossBuildGoDaemon cross-builds the go-daemon binary using Docker.
func CrossBuildGoDaemon() error {
return mage.CrossBuildGoDaemon()
return devtools.CrossBuildGoDaemon()
}

// Clean cleans all generated files and build artifacts.
func Clean() error {
return mage.Clean()
return devtools.Clean()
}

// Package packages the Beat for distribution.
Expand All @@ -79,30 +79,30 @@ func Package() {
start := time.Now()
defer func() { fmt.Println("package ran for", time.Since(start)) }()

mage.UseElasticBeatOSSPackaging()
mage.PackageKibanaDashboardsFromBuildDir()
devtools.UseElasticBeatOSSPackaging()
devtools.PackageKibanaDashboardsFromBuildDir()
auditbeat.CustomizePackaging(auditbeat.OSSPackaging)

mg.SerialDeps(Fields, Dashboards, Config, mage.GenerateModuleIncludeListGo)
mg.SerialDeps(Fields, Dashboards, Config, devtools.GenerateModuleIncludeListGo)
mg.Deps(CrossBuild, CrossBuildGoDaemon)
mg.SerialDeps(mage.Package, TestPackages)
mg.SerialDeps(devtools.Package, TestPackages)
}

// TestPackages tests the generated packages (i.e. file modes, owners, groups).
func TestPackages() error {
return mage.TestPackages()
return devtools.TestPackages()
}

// Update is an alias for running fields, dashboards, config, includes.
func Update() {
mg.SerialDeps(Fields, Dashboards, Config,
mage.GenerateModuleIncludeListGo, Docs)
devtools.GenerateModuleIncludeListGo, Docs)
}

// Config generates both the short/reference configs and populates the modules.d
// directory.
func Config() error {
return mage.Config(mage.AllConfigTypes, auditbeat.OSSConfigFileParams(), ".")
return devtools.Config(devtools.AllConfigTypes, auditbeat.OSSConfigFileParams(), ".")
}

// Fields generates fields.yml and fields.go files for the Beat.
Expand All @@ -114,20 +114,20 @@ func Fields() {
// libbeatAndAuditbeatCommonFieldsGo generates a fields.go containing both
// libbeat and auditbeat's common fields.
func libbeatAndAuditbeatCommonFieldsGo() error {
if err := mage.GenerateFieldsYAML(); err != nil {
if err := devtools.GenerateFieldsYAML(); err != nil {
return err
}
return mage.GenerateAllInOneFieldsGo()
return devtools.GenerateAllInOneFieldsGo()
}

// moduleFieldsGo generates a fields.go for each module.
func moduleFieldsGo() error {
return mage.GenerateModuleFieldsGo("module")
return devtools.GenerateModuleFieldsGo("module")
}

// fieldsYML generates the fields.yml file containing all fields.
func fieldsYML() error {
return mage.GenerateFieldsYAML("module")
return devtools.GenerateFieldsYAML("module")
}

// ExportDashboard exports a dashboard and writes it into the correct directory.
Expand All @@ -136,12 +136,12 @@ func fieldsYML() error {
// - MODULE: Name of the module
// - ID: Dashboard id
func ExportDashboard() error {
return mage.ExportDashboard()
return devtools.ExportDashboard()
}

// Dashboards collects all the dashboards and generates index patterns.
func Dashboards() error {
return mage.KibanaDashboards("module")
return devtools.KibanaDashboards("module")
}

// Docs collects the documentation.
Expand All @@ -151,18 +151,18 @@ func Docs() {

// Fmt formats source code and adds file headers.
func Fmt() {
mg.Deps(mage.Format)
mg.Deps(devtools.Format)
}

// Check runs fmt and update then returns an error if any modifications are found.
func Check() {
mg.SerialDeps(mage.Format, Update, mage.Check)
mg.SerialDeps(devtools.Format, Update, devtools.Check)
}

// IntegTest executes integration tests (it uses Docker to run the tests).
func IntegTest() {
mage.AddIntegTestUsage()
defer mage.StopIntegTestEnv()
devtools.AddIntegTestUsage()
defer devtools.StopIntegTestEnv()
mg.SerialDeps(GoIntegTest, PythonIntegTest)
}

Expand All @@ -176,32 +176,32 @@ func UnitTest() {
// Use RACE_DETECTOR=true to enable the race detector.
func GoUnitTest(ctx context.Context) error {
mg.Deps(Fields)
return mage.GoTest(ctx, mage.DefaultGoTestUnitArgs())
return devtools.GoTest(ctx, devtools.DefaultGoTestUnitArgs())
}

// GoIntegTest executes the Go integration tests.
// Use TEST_COVERAGE=true to enable code coverage profiling.
// Use RACE_DETECTOR=true to enable the race detector.
func GoIntegTest(ctx context.Context) error {
mg.Deps(Fields)
return mage.RunIntegTest("goIntegTest", func() error {
return mage.GoTest(ctx, mage.DefaultGoTestIntegrationArgs())
return devtools.RunIntegTest("goIntegTest", func() error {
return devtools.GoTest(ctx, devtools.DefaultGoTestIntegrationArgs())
})
}

// PythonUnitTest executes the python system tests.
func PythonUnitTest() error {
mg.Deps(mage.BuildSystemTestBinary)
return mage.PythonNoseTest(mage.DefaultPythonTestUnitArgs())
mg.Deps(devtools.BuildSystemTestBinary)
return devtools.PythonNoseTest(devtools.DefaultPythonTestUnitArgs())
}

// PythonIntegTest executes the python system tests in the integration environment (Docker).
func PythonIntegTest(ctx context.Context) error {
if !mage.IsInIntegTestEnv() {
if !devtools.IsInIntegTestEnv() {
mg.SerialDeps(Fields, Dashboards)
}
return mage.RunIntegTest("pythonIntegTest", func() error {
mg.Deps(mage.BuildSystemTestBinary)
return mage.PythonNoseTest(mage.DefaultPythonTestIntegrationArgs())
return devtools.RunIntegTest("pythonIntegTest", func() error {
mg.Deps(devtools.BuildSystemTestBinary)
return devtools.PythonNoseTest(devtools.DefaultPythonTestIntegrationArgs())
})
}
34 changes: 17 additions & 17 deletions auditbeat/scripts/mage/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ import (

"github.com/pkg/errors"

"github.com/elastic/beats/dev-tools/mage"
devtools "github.com/elastic/beats/dev-tools/mage"
)

const (
Expand All @@ -31,52 +31,52 @@ const (
)

// OSSConfigFileParams returns the parameters for generating OSS config.
func OSSConfigFileParams() mage.ConfigFileParams {
params, err := configFileParams(mage.OSSBeatDir())
func OSSConfigFileParams() devtools.ConfigFileParams {
params, err := configFileParams(devtools.OSSBeatDir())
if err != nil {
panic(err)
}
return params
}

// XPackConfigFileParams returns the parameters for generating X-Pack config.
func XPackConfigFileParams() mage.ConfigFileParams {
params, err := configFileParams(mage.OSSBeatDir(), mage.XPackBeatDir())
func XPackConfigFileParams() devtools.ConfigFileParams {
params, err := configFileParams(devtools.OSSBeatDir(), devtools.XPackBeatDir())
if err != nil {
panic(err)
}
return params
}

func configFileParams(dirs ...string) (mage.ConfigFileParams, error) {
func configFileParams(dirs ...string) (devtools.ConfigFileParams, error) {
var globs []string
for _, dir := range dirs {
globs = append(globs, filepath.Join(dir, configTemplateGlob))
}

configFiles, err := mage.FindFiles(globs...)
configFiles, err := devtools.FindFiles(globs...)
if err != nil {
return mage.ConfigFileParams{}, errors.Wrap(err, "failed to find config templates")
return devtools.ConfigFileParams{}, errors.Wrap(err, "failed to find config templates")
}
if len(configFiles) == 0 {
return mage.ConfigFileParams{}, errors.Errorf("no config files found in %v", globs)
return devtools.ConfigFileParams{}, errors.Errorf("no config files found in %v", globs)
}

return mage.ConfigFileParams{
return devtools.ConfigFileParams{
ShortParts: join(
mage.OSSBeatDir("_meta/common.p1.yml"),
devtools.OSSBeatDir("_meta/common.p1.yml"),
configFiles,
mage.OSSBeatDir("_meta/common.p2.yml"),
mage.LibbeatDir("_meta/config.yml"),
devtools.OSSBeatDir("_meta/common.p2.yml"),
devtools.LibbeatDir("_meta/config.yml"),
),
ReferenceParts: join(
mage.OSSBeatDir("_meta/common.reference.yml"),
devtools.OSSBeatDir("_meta/common.reference.yml"),
configFiles,
mage.LibbeatDir("_meta/config.reference.yml"),
devtools.LibbeatDir("_meta/config.reference.yml"),
),
DockerParts: []string{
mage.OSSBeatDir("_meta/beat.docker.yml"),
mage.LibbeatDir("_meta/config.docker.yml"),
devtools.OSSBeatDir("_meta/beat.docker.yml"),
devtools.LibbeatDir("_meta/config.docker.yml"),
},
ExtraVars: map[string]interface{}{
"ArchBits": archBits,
Expand Down
28 changes: 14 additions & 14 deletions auditbeat/scripts/mage/docs.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,20 @@ import (
"github.com/magefile/mage/sh"
"github.com/pkg/errors"

"github.com/elastic/beats/dev-tools/mage"
devtools "github.com/elastic/beats/dev-tools/mage"
)

// ModuleDocs collects documentation from modules (both OSS and X-Pack).
func ModuleDocs() error {
dirsWithModules := []string{
mage.OSSBeatDir(),
mage.XPackBeatDir(),
devtools.OSSBeatDir(),
devtools.XPackBeatDir(),
}

// Generate config.yml files for each module.
var configFiles []string
for _, path := range dirsWithModules {
files, err := mage.FindFiles(filepath.Join(path, configTemplateGlob))
files, err := devtools.FindFiles(filepath.Join(path, configTemplateGlob))
if err != nil {
return errors.Wrap(err, "failed to find config templates")
}
Expand All @@ -56,9 +56,9 @@ func ModuleDocs() error {
for _, src := range configFiles {
dst := strings.TrimSuffix(src, ".tmpl")
configs = append(configs, dst)
mage.MustExpandFile(src, dst, params)
devtools.MustExpandFile(src, dst, params)
}
defer mage.Clean(configs)
defer devtools.Clean(configs)

// Remove old.
for _, path := range dirsWithModules {
Expand All @@ -71,18 +71,18 @@ func ModuleDocs() error {
}

// Run the docs_collector.py script.
ve, err := mage.PythonVirtualenv()
ve, err := devtools.PythonVirtualenv()
if err != nil {
return err
}

python, err := mage.LookVirtualenvPath(ve, "python")
python, err := devtools.LookVirtualenvPath(ve, "python")
if err != nil {
return err
}

// TODO: Port this script to Go.
args := []string{mage.OSSBeatDir("scripts/docs_collector.py"), "--base-paths"}
args := []string{devtools.OSSBeatDir("scripts/docs_collector.py"), "--base-paths"}
args = append(args, dirsWithModules...)

return sh.Run(python, args...)
Expand All @@ -92,12 +92,12 @@ func ModuleDocs() error {
// (including x-pack).
func FieldDocs() error {
inputs := []string{
mage.OSSBeatDir("module"),
mage.XPackBeatDir("module"),
devtools.OSSBeatDir("module"),
devtools.XPackBeatDir("module"),
}
output := mage.CreateDir("build/fields/fields.all.yml")
if err := mage.GenerateFieldsYAMLTo(output, inputs...); err != nil {
output := devtools.CreateDir("build/fields/fields.all.yml")
if err := devtools.GenerateFieldsYAMLTo(output, inputs...); err != nil {
return err
}
return mage.Docs.FieldDocs(output)
return devtools.Docs.FieldDocs(output)
}
Loading

0 comments on commit f6629a8

Please sign in to comment.