prow/gcsupload/run.go
func PathsForJob(options *prowapi.GCSConfiguration, spec *downwardapi.JobSpec, subdir string) (string, string, gcs.RepoPathBuilder) {
	builder := builderForStrategy(options.PathStrategy, options.DefaultOrg, options.DefaultRepo)
	jobBasePath := gcs.PathForSpec(spec, builder)
	if options.PathPrefix != "" {
		jobBasePath = path.Join(options.PathPrefix, jobBasePath)
	}
	var gcsPath string
	if subdir == "" {
		gcsPath = jobBasePath
	} else {
		gcsPath = path.Join(jobBasePath, subdir)
	}

	return jobBasePath, gcsPath, builder
}
func PathsForJob(options *prowapi.GCSConfiguration, spec *downwardapi.JobSpec, subdir string) (string, string, gcs.RepoPathBuilder) {
	builder := builderForStrategy(options.PathStrategy, options.DefaultOrg, options.DefaultRepo)
	jobBasePath := gcs.PathForSpec(spec, builder)
	if options.PathPrefix != "" {
		jobBasePath = path.Join(options.PathPrefix, jobBasePath)
	}
	var gcsPath string
	if subdir == "" {
		gcsPath = jobBasePath
	} else {
		gcsPath = path.Join(jobBasePath, subdir)
	}

	return jobBasePath, gcsPath, builder
}
func PathsForJob ( options * prowapi . GCSConfiguration , spec * downwardapi . JobSpec , subdir string ) ( string , string , gcs . RepoPathBuilder ) { builder := builderForStrategy ( options . PathStrategy , options . DefaultOrg , options . DefaultRepo ) jobBasePath := gcs . PathForSpec ( spec , builder ) if options . PathPrefix != " " { jobBasePath = path . Join ( options . PathPrefix , jobBasePath ) } var gcsPath string if subdir == " " { gcsPath = jobBasePath } else { gcsPath = path . Join ( jobBasePath , subdir ) } return jobBasePath , gcsPath , builder }
// PathsForJob determines the following for a job:
//  - path in GCS under the bucket where job artifacts will be uploaded for:
//     - the job
//     - this specific run of the job (if any subdir is present)
// The builder for the job is also returned for use in other path resolution.
PathsForJob determines the following for a job : - path in GCS under the bucket where job artifacts will be uploaded for : - the job - this specific run of the job ( if any subdir is present ) The builder for the job is also returned for use in other path resolution .