github.com/TNTworks/flogo-cli@v0.9.1-0.20220522183836-60b8a963ae00/common/build.go (about)

     1  package common
     2  
     3  type BuildOptions struct {
     4  	OptimizeImports bool
     5  	EmbedConfig     bool
     6  	Shim            string
     7  }
     8  
     9  type Builder interface {
    10  	Build(project AppProject) error
    11  }
    12  
    13  type BuildPreProcessor interface {
    14  	DoPreProcessing(project AppProject, options BuildOptions) error
    15  }
    16  
    17  type BuildPostProcessor interface {
    18  	DoPostProcessing(project AppProject) error
    19  }
    20  
    21  var buildPreProcessors []BuildPreProcessor
    22  var buildPostProcessors []BuildPostProcessor
    23  
    24  func RegisterBuildPreProcessor(processor BuildPreProcessor) {
    25  	buildPreProcessors = append(buildPreProcessors, processor)
    26  }
    27  
    28  func BuildPreProcessors() []BuildPreProcessor {
    29  	return buildPreProcessors
    30  }
    31  
    32  func RegisterBuildPostProcessor(processor BuildPostProcessor) {
    33  	buildPostProcessors = append(buildPostProcessors, processor)
    34  }
    35  
    36  func BuildPostProcessors() []BuildPostProcessor {
    37  	return buildPostProcessors
    38  }
    39  
    40