How to organize a Go project [closed] - go

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I am working on a new Golang application which involves some proprietary code and also includes some open sources packages. The code will be part of an enterprise GitHub repository.
We don't plan to keep using the latest versions of the open source packages and would want to keep a stable version of the packages. In this context what is the best way to organize the code? From what I have read so far the best way to put the opensource packages into the Vendors directory.
In any case, a clear project layout is something we want to have in the beginning to keep things simple in the long run.

If you are using a version of Go < 1.11, you can take a look at dep for dependency management :
a dep init will generate the layout (see Creating a New Project)
a Gopkg.lock file will handle specific revisions for each dependency, thus ensuring the stability of your build (instead of having different developers using different versions of the same dependency, depending on when they go get that dependency).
However, if you are using a version of Go >= 1.11, as #oren points out in the comments section (credits to him), you'd probably want to use Go modules instead, as it is now introduced in the Go tool chain.

Related

goland on windows not recognizing imports and throw error [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 18 days ago.
Improve this question
i have enabled the go modules integration according to this docs .
https://www.jetbrains.com/help/go/create-a-project-with-go-modules-integration.html#enable-go-modules-in-a-project
but yet again as you can see in image below . goland keep throwing error on some code i have
as you can see in image i have that execlise package but it keep giving error . not only that i have some error on other files
That happens sometimes with IDEs, from my experience it may happen because of at least three reasons.
first: the differences between package versions in your go.sum, you should empty the go.sum and run go mod tidy command.
Second: the version you’re using is older or newer than what you’re expecting, so the package does not support these methods or didn’t include them. so you should set the exact version of the package. (I suggest you read the documentation of the package in this case)
Third: your IDE has got some problems with the caches. for solving this: you should click on file -> invalidate caches to rebuild your IDE caches.

How to develop golang modules efficiently [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 1 year ago.
Improve this question
I'm developing a golang project and a shared module simultaneously.
I feel the process is annoying If shared module is modified.
steps:
write something in shared module and give it a new GIT tag.
get latest module version in my project
test, if any bug is found, back to step (1)
Can anyone give a more efficient way?
While you're developing, I'd recommend just using replace directives in your go.mod to make any changes in dependencies instantly visible (regardless of version) to client code.
E.g. if you have package "client" using package "auth":
$SOMEDIR/client/go.mod would replace dependency on client with $SOMEDIR/auth, and now you can just develop the two alongside each other in $SOMEDIR, commit changes to source control, etc.
When you're ready to "ship" it, you'll have to create an actual version for these modules. That is, if you even want auth to be separately usable from client. Consider keeping everything as private as possible (using internal).
Read this official documentation on the subject for more details

Can all go libraries now be run outside of GOPATH? [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 3 years ago.
Improve this question
I read that go libraries no longer are forced to be saved under the GOPATH directory.
Do I have to modify libraries that are older or this just works for all libraries now assuming you have the correct version of Go?
A project using Go modules doesn't need to be under GOPATH (but you still need one for the package cache). A project using Go modules can import any library, whether or not that library uses Go modules.
A project NOT using Go modules must reside under GOPATH.

What would you want in a self-hosted project support/information web app? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 3 years ago.
Improve this question
My next project will be a lightweight PHP alternative to Trac, since Trac is often confusing to install and is often a little too big or feature-rich for smaller project.
Features planned so far:
Wiki
Bug tracker
Forum(s)
Static pages (easily edited of course)
Markdown support
No code repo hosting (I consider this a feature since most people would prefer to use a 3rd party such as GitHub for the actual code hosting)
My question: if you were to use a self-hosted app for making a website about one of your open source projects, what would you want? Is there anything on that list that's missing? Would you absolutely require the ability to actually host the code repo on the site itself, or would you be ok hosting the code elsewhere (Google Code, GitHub, BitBucket), and using the site only to upload major versions?
Summary: if you were to use a self-hosted app to provide info and support for an open source project of yours, what would you want it to be like?
Redmine is my current favorite, I usually install it via BitNami

How do I find an open source Ruby project to work on? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 8 years ago.
Improve this question
Should I just go to SourceForge and try to find something that looks interesting by doing a search? Or is there a Ruby-specific website that helps you to find open source projects to contribute to?
After you find it one, do you usually just send an email to the project owner to see if you can help or do you just start submitting code to their repository and they will take it or leave it after reviewing it for quality?
The standard hosting site for Ruby projects is RubyForge. Another site that is slightly older than RubyForge, is the Ruby Application Archive (RAA). In addition to RubyForge, there are also a lot of Ruby projects hosted on SourceForge. Projects that are specific or related to JRuby, are sometimes hosted on CodeHaus or Sun's new project hosting site Kenai. For IronRuby, some projects live on CodePlex. Projects that use the Git Version Control System, are often hosted on either Gitorious or GitHub, whereas projects that use the Darcs Version Control System tend to be self-hosted.
However, especially larger Ruby projects often have their own infrastructure, e.g. Merb, DataMapper and of course Ruby on Rails.
I'd recommend going onto github to look for projects. You can search around, check things out easily and its easier for the project owner to manager your changes.

Resources