novalagung / gorep

Simple tools to replace imported package name in golang project

Home Page:http://novalagung.com/gorep

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

gorep

Simple tools to replace imported package name in golang project. Useful to manage a project which deployed into multiple application on one server.

Please continue reading, you'll understand what is the purpose of this library

Story

This package is only useful when:

  1. You are not using golang vendor
  2. Your project is deployed as multiple app in one server

Say that you have a project which the package path is github.com/novalagung/project. This project deployed to server as 3 different environment (one for testing, one for dev, one for production).

screen shot 2016-09-26 at 10 03 12 pm

When you want to build the project-dev and project-test, you have to change imported package names in all files inside each folder.

import "github.com/novalagung/project/model"
import "github.com/novalagung/project/controller"
import "github.com/novalagung/project/conf"
import "github.com/novalagung/project/view"
// ... and so oon, in all files

need to be replaced into this for the project-dev, as well as project-test

import "github.com/novalagung/project-dev/model"
import "github.com/novalagung/project-dev/controller"
import "github.com/novalagung/project-dev/conf"
import "github.com/novalagung/project-dev/view"

It'll waste your time so much, espesially if there are tons of file inside. TONS!. This simple library could be your life-saver.

Installation

go get github.com/novalagung/gorep

Make sure $GOPATH/bin is added to your $PATH variable.

Usage

Go to your project folder, then run this

cd $GOPATH/src/github.com/novalagung/project-dev
gorep -from="github.com/novalagung/project" \ 
      -to="github.com/novalagung/project-dev"

Or use flag -path to specify the project location

gorep -path="/User/novalagung/goapp/src/github.com/novalagung/project-dev" \
      -from="github.com/novalagung/project" \
      -to="github.com/novalagung/project-dev"

All files which contains github.com/novalagung/project inside those choosen folder will be replaced with github.com/novalagung/project-dev.

  • Flag -from filled with package name you want to replace
  • Flag -to is the new name
  • Flag -path (optional) is the project path you want to hack. By default it'll be current active directory

Author

Noval Agung Prayogo

License

MIT

About

Simple tools to replace imported package name in golang project

http://novalagung.com/gorep

License:MIT License


Languages

Language:Go 100.0%