51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package bundle
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/metrue/fx/bundler"
 | |
| 	"github.com/metrue/fx/bundler/crystal"
 | |
| 	"github.com/metrue/fx/bundler/d"
 | |
| 	golang "github.com/metrue/fx/bundler/go"
 | |
| 	"github.com/metrue/fx/bundler/java"
 | |
| 	"github.com/metrue/fx/bundler/julia"
 | |
| 	"github.com/metrue/fx/bundler/node"
 | |
| 	"github.com/metrue/fx/bundler/perl"
 | |
| 	"github.com/metrue/fx/bundler/php"
 | |
| 	"github.com/metrue/fx/bundler/python"
 | |
| 	"github.com/metrue/fx/bundler/ruby"
 | |
| 	"github.com/metrue/fx/bundler/rust"
 | |
| )
 | |
| 
 | |
| // Bundle function to project
 | |
| func Bundle(workdir string, language string, fn string, deps ...string) error {
 | |
| 	var bundler bundler.Bundler
 | |
| 	switch language {
 | |
| 	case "d":
 | |
| 		bundler = d.New()
 | |
| 	case "node":
 | |
| 		bundler = node.New()
 | |
| 	case "go":
 | |
| 		bundler = golang.New()
 | |
| 	case "java":
 | |
| 		bundler = java.New()
 | |
| 	case "julia":
 | |
| 		bundler = julia.New()
 | |
| 	case "perl":
 | |
| 		bundler = perl.New()
 | |
| 	case "python":
 | |
| 		bundler = python.New()
 | |
| 	case "ruby":
 | |
| 		bundler = ruby.New()
 | |
| 	case "rust":
 | |
| 		bundler = rust.New()
 | |
| 	case "crystal":
 | |
| 		bundler = crystal.New()
 | |
| 	case "php":
 | |
| 		bundler = php.New()
 | |
| 	default:
 | |
| 		return fmt.Errorf("%s not suppported yet", language)
 | |
| 	}
 | |
| 	return bundler.Bundle(workdir, fn, deps...)
 | |
| }
 | 
