Code Monkey home page Code Monkey logo

golang-tools's Introduction

golang-tools

Purpose

This repository holds some useful golang tools.

Tools

goglide-container

Build a golang with glide and gosu container. README

New golang Project Start Templates

example-project

A base golang project framework to use to create new golang projects/repos. README

Summary

  • Create your new repository area.
  • Copy the contents of /example-project/* to that location. i.e. It should be at the root level of the repository.
  • Edit and rename the appropriate files. See the README for instructions.

golang-dev-container/sample_golang_proj

A different simplified base golang project setup. README

Summary

Still under development/refinement.

golang-tools's People

Contributors

alejandroesc avatar alika avatar coffeepac avatar davidewatson avatar mikeln avatar oneilcin avatar samba avatar sostheim avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

golang-tools's Issues

OS-X Docker and gosu

gosu does not appear to be effective with native OS-X docker. Containers seem to run as root:root no matter what. Investigation needed.

Separate goglide container from example-project container

For clarity of use and ease of maintenance, have two separate repositories:

  • goglide build repository (maintains the build tool for golang)
  • example-project repository (provides a basic golang app that uses the above container to build itself)

Suggestion:

Namespace the repositories under the solas repositories, e.g. solas-golang-container and solas-golang-app.

Having these two functionalities be top-level repositories should also come with their own, workable gitlab CI runs. Manual builds and pushes should be automated.

Clarify instruction on purpose and use of example-project

With the solas template repositories come step-by-step instructions on how to get a new, immediately workable project up and running. This project should match.

  • Provide use-case and purpose of project
  • Explain what the project provides (i.e. it provides a setup for a certain kind of golang project? It builds a command line tool?)
  • Provide step-by-step, complete instructions on how to copy the template and customize it (look at instructions for solas-container for an example).

Support developing inside controlled environment

The purpose of the goglide container is to use it to build go binaries in a controlled way. Adding instructions for local development are prone to result in erroneous behavior.

Remove any ambiguities/support for locally building these tools.

Create an Example golang Project Setup

Create an Example golang Project Setup for new projects to start with.

README
DEVELOPMENT
Makefile
build.sh
make.golang

Explain structure, and which tools to use and why.
requirements for consideration of a clean build etc.

Add clarification in build.sh, and Jenkinsfile corrections

In build.sh clarify the path needed for go_dir. Also make it clear that if you have go tools installed for building on your mac (OSX) the GOPATH needs to be separate from the GOPATH for linux development.

In Jenkinsfile, correct the directory for containerize and push. Also separate out the vet stages to vet and lint.

I'm thinking we should comment out the gosimple test too, what do you think?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.