Comments (6)
I agree with @ForestEckhardt that it is hard to come up with a reasonable solution to the problem without a real use-case. I am wary of building out a solution when the need here is mostly hypothetical at this point. I propose that we close this issue and address this concern anew if/when it surfaces again.
from go-mod-vendor.
@kvedurmu Do you have any examples of apps with multiple go.mod
files? I was under the impression that was not a work flow that is natively supported in for Go.
from go-mod-vendor.
This was one of the issues pulled over as part of the Paketo migration. Unfortunately I can't find the original slack thread where this was requested, as it's pretty old. If I remember correctly, the true request here is to support building apps that are in a single repo with multiple modules (e.g golang/go#27056).
This to me seems pretty similar to what we support in the .NET Core Buildpack where users can specify project-path
in a buildpack.yml
. @sclevine do you remember the initial request around this? If not, I'm fine closing this one out.
from go-mod-vendor.
@kvedurmu
There are a couple things around this that I would like to address:
- The issue in question was never addressed and was closed due to inactivity almost a year ago, I would need some other use case or sample app in order to move forward on this.
- The concept of building multiple apps is not something the CNBs support, the idea (for the most part) is one app == one container.
- The
project-path
in .Net allows you to specify one path to the root of your project if it is not at the base of your application. The rest of the logic is handled by the .Net build system itself. The .Net Buildpack does not run multiple builds.
from go-mod-vendor.
@ryanmoran Can you speak any to this workflow?
from go-mod-vendor.
I think this request came from a Cloud Foundry team that was using multiple modules in a repo with local replace
directives in go.mod
so that they could depend on each other. This means that the buildpack couldn't be provided with a subdirectory of the whole repo -- it requires the whole set of modules in /workspace
.
from go-mod-vendor.
Related Issues (20)
- Don't create an empty `mod-cache` layer
- Support for using private go modules HOT 5
- Require Go version specified in go.mod as a minimum version
- Buildpack should run to set BP_GO_VERSION for go-dist buildpack HOT 1
- Should go-mod-vendor provide a dependency for downstream buildpacks? HOT 3
- Rewrite with packit
- Use GOMODCACHE environment variable instead of setting GOPATH
- SBOM generation includes all dependencies in working dir, not just Go ones. HOT 1
- Go src code that compiles but leads to an incomplete executable logs cryptic error
- Refactor proposal: simplify detect logic when go.mod file does not exist. HOT 1
- Failure: Go get update workflow HOT 1
- Failure: Create Draft Release workflow HOT 3
- `go mod graph` can run for a long time slowing down rebuilds HOT 1
- Use new io.paketo.stacks.tiny ID to indicate "tiny" HOT 3
- Failure: Approve bot PR workflow HOT 5
- Failure: Update GitHub config workflow HOT 1
- Discussion: go 1.21+ toolchain version
- Failure: Push Buildpackage workflow HOT 1
- Rename to go-mod-vendor
- Cannot build vendored go mod apps HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go-mod-vendor.