Skip to content

Commit 411e076

Browse files
authored
refactor: code cleanup (#77)
1 parent 7db59ce commit 411e076

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+309
-738
lines changed

build.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616
poetryinstall "github.com/paketo-buildpacks/python-packagers/pkg/packagers/poetry"
1717
uvinstall "github.com/paketo-buildpacks/python-packagers/pkg/packagers/uv"
1818

19-
pythonpackagers "github.com/paketo-buildpacks/python-packagers/pkg/packagers/common"
19+
"github.com/paketo-buildpacks/python-packagers/pkg/build"
2020
)
2121

2222
// filtered returns the slice passed in parameter with the needle removed
@@ -37,7 +37,7 @@ type PackagerParameters interface {
3737

3838
func Build(
3939
logger scribe.Emitter,
40-
commonBuildParameters pythonpackagers.CommonBuildParameters,
40+
commonBuildParameters build.CommonBuildParameters,
4141
buildParameters map[string]PackagerParameters,
4242
) packit.BuildFunc {
4343
return func(context packit.BuildContext) (packit.BuildResult, error) {

build_test.go

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717
"github.com/paketo-buildpacks/packit/v2/scribe"
1818

1919
pythonpackagers "github.com/paketo-buildpacks/python-packagers"
20-
pkgcommon "github.com/paketo-buildpacks/python-packagers/pkg/packagers/common"
20+
"github.com/paketo-buildpacks/python-packagers/pkg/build"
2121
conda "github.com/paketo-buildpacks/python-packagers/pkg/packagers/conda"
2222
condafakes "github.com/paketo-buildpacks/python-packagers/pkg/packagers/conda/fakes"
2323
pipinstall "github.com/paketo-buildpacks/python-packagers/pkg/packagers/pip"
@@ -28,6 +28,7 @@ import (
2828
poetryfakes "github.com/paketo-buildpacks/python-packagers/pkg/packagers/poetry/fakes"
2929
uvinstall "github.com/paketo-buildpacks/python-packagers/pkg/packagers/uv"
3030
uvfakes "github.com/paketo-buildpacks/python-packagers/pkg/packagers/uv/fakes"
31+
sbomfakes "github.com/paketo-buildpacks/python-packagers/pkg/sbom/fakes"
3132

3233
"github.com/sclevine/spec"
3334

@@ -44,11 +45,11 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
4445

4546
buffer *bytes.Buffer
4647
logger scribe.Emitter
47-
build packit.BuildFunc
48+
buildFunc packit.BuildFunc
4849
buildContext packit.BuildContext
4950

5051
// common
51-
sbomGenerator *pipfakes.SBOMGenerator
52+
sbomGenerator *sbomfakes.SBOMGenerator
5253

5354
// conda
5455
runner *condafakes.Runner
@@ -70,7 +71,7 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
7071
// uv
7172
uvRunner *uvfakes.Runner
7273

73-
buildParameters pkgcommon.CommonBuildParameters
74+
buildParameters build.CommonBuildParameters
7475

7576
plans []packit.BuildpackPlan
7677
)
@@ -83,7 +84,7 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
8384
buffer = bytes.NewBuffer(nil)
8485
logger = scribe.NewEmitter(buffer)
8586

86-
sbomGenerator = &pipfakes.SBOMGenerator{}
87+
sbomGenerator = &sbomfakes.SBOMGenerator{}
8788
sbomGenerator.GenerateCall.Returns.SBOM = sbom.SBOM{}
8889

8990
// conda
@@ -113,8 +114,8 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
113114
// uv
114115
uvRunner = &uvfakes.Runner{}
115116

116-
buildParameters = pkgcommon.CommonBuildParameters{
117-
SbomGenerator: pkgcommon.Generator{},
117+
buildParameters = build.CommonBuildParameters{
118+
SbomGenerator: sbomGenerator,
118119
Clock: chronos.DefaultClock,
119120
Logger: logger,
120121
}
@@ -142,7 +143,7 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
142143
},
143144
}
144145

145-
build = pythonpackagers.Build(logger, buildParameters, packagerParameters)
146+
buildFunc = pythonpackagers.Build(logger, buildParameters, packagerParameters)
146147

147148
buildContext = packit.BuildContext{
148149
BuildpackInfo: packit.BuildpackInfo{
@@ -221,7 +222,7 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
221222
it("runs the build process and returns expected layers", func() {
222223
for _, plan := range plans {
223224
buildContext.Plan = plan
224-
result, err := build(buildContext)
225+
result, err := buildFunc(buildContext)
225226
Expect(err).NotTo(HaveOccurred())
226227

227228
layers := result.Layers
@@ -232,11 +233,11 @@ func testBuild(t *testing.T, context spec.G, it spec.S) {
232233
it("fails if packager parameters is missing", func() {
233234
packagerParameters := map[string]pythonpackagers.PackagerParameters{}
234235

235-
build = pythonpackagers.Build(logger, buildParameters, packagerParameters)
236+
buildFunc = pythonpackagers.Build(logger, buildParameters, packagerParameters)
236237

237238
for _, plan := range plans {
238239
buildContext.Plan = plan
239-
_, err := build(buildContext)
240+
_, err := buildFunc(buildContext)
240241
Expect(err).To(HaveOccurred())
241242
}
242243
})

detect_test.go

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,9 @@ import (
1313

1414
"github.com/paketo-buildpacks/packit/v2"
1515
"github.com/paketo-buildpacks/packit/v2/scribe"
16+
1617
pythonpackagers "github.com/paketo-buildpacks/python-packagers"
17-
common "github.com/paketo-buildpacks/python-packagers/pkg/packagers/common"
18+
"github.com/paketo-buildpacks/python-packagers/pkg/build"
1819
conda "github.com/paketo-buildpacks/python-packagers/pkg/packagers/conda"
1920
pip "github.com/paketo-buildpacks/python-packagers/pkg/packagers/pip"
2021
pipenv "github.com/paketo-buildpacks/python-packagers/pkg/packagers/pipenv"
@@ -72,7 +73,7 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
7273
Requires: []packit.BuildPlanRequirement{
7374
{
7475
Name: conda.CondaPlanEntry,
75-
Metadata: common.BuildPlanMetadata{
76+
Metadata: build.BuildPlanMetadata{
7677
Build: true,
7778
},
7879
},
@@ -102,7 +103,7 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
102103
Requires: []packit.BuildPlanRequirement{
103104
{
104105
Name: conda.CondaPlanEntry,
105-
Metadata: common.BuildPlanMetadata{
106+
Metadata: build.BuildPlanMetadata{
106107
Build: true,
107108
},
108109
},
@@ -134,19 +135,19 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
134135
Requires: []packit.BuildPlanRequirement{
135136
{
136137
Name: pip.CPython,
137-
Metadata: common.BuildPlanMetadata{
138+
Metadata: build.BuildPlanMetadata{
138139
Build: true,
139140
},
140141
},
141142
{
142143
Name: pip.Pip,
143-
Metadata: common.BuildPlanMetadata{
144+
Metadata: build.BuildPlanMetadata{
144145
Build: true,
145146
},
146147
},
147148
{
148149
Name: pip.Manager,
149-
Metadata: common.BuildPlanMetadata{
150+
Metadata: build.BuildPlanMetadata{
150151
Build: true,
151152
},
152153
},
@@ -178,19 +179,19 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
178179
Requires: []packit.BuildPlanRequirement{
179180
{
180181
Name: pipenv.CPython,
181-
Metadata: common.BuildPlanMetadata{
182+
Metadata: build.BuildPlanMetadata{
182183
Build: true,
183184
},
184185
},
185186
{
186187
Name: pipenv.Pipenv,
187-
Metadata: common.BuildPlanMetadata{
188+
Metadata: build.BuildPlanMetadata{
188189
Build: true,
189190
},
190191
},
191192
{
192193
Name: pipenv.Manager,
193-
Metadata: common.BuildPlanMetadata{
194+
Metadata: build.BuildPlanMetadata{
194195
Build: true,
195196
},
196197
},
@@ -219,13 +220,13 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
219220
Requires: []packit.BuildPlanRequirement{
220221
{
221222
Name: poetry.CPython,
222-
Metadata: common.BuildPlanMetadata{
223+
Metadata: build.BuildPlanMetadata{
223224
Build: true,
224225
},
225226
},
226227
{
227228
Name: poetry.Poetry,
228-
Metadata: common.BuildPlanMetadata{
229+
Metadata: build.BuildPlanMetadata{
229230
Build: true,
230231
},
231232
},
@@ -255,7 +256,7 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
255256
Requires: []packit.BuildPlanRequirement{
256257
{
257258
Name: uv.UvPlanEntry,
258-
Metadata: common.BuildPlanMetadata{
259+
Metadata: build.BuildPlanMetadata{
259260
Build: true,
260261
},
261262
},
@@ -290,7 +291,7 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
290291
Requires: []packit.BuildPlanRequirement{
291292
{
292293
Name: uv.UvPlanEntry,
293-
Metadata: common.BuildPlanMetadata{
294+
Metadata: build.BuildPlanMetadata{
294295
Build: true,
295296
},
296297
},
Lines changed: 4 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,23 +3,14 @@
33
//
44
// SPDX-License-Identifier: Apache-2.0
55

6-
package pythonpackagers
6+
package build
77

88
import (
99
"github.com/paketo-buildpacks/packit/v2/chronos"
10-
"github.com/paketo-buildpacks/packit/v2/sbom"
1110
"github.com/paketo-buildpacks/packit/v2/scribe"
12-
)
13-
14-
type SBOMGenerator interface {
15-
Generate(dir string) (sbom.SBOM, error)
16-
}
1711

18-
type Generator struct{}
19-
20-
func (f Generator) Generate(dir string) (sbom.SBOM, error) {
21-
return sbom.Generate(dir)
22-
}
12+
"github.com/paketo-buildpacks/python-packagers/pkg/sbom"
13+
)
2314

2415
// BuildPlanMetadata is the buildpack-specific data included in build plan
2516
// requirements.
@@ -37,7 +28,7 @@ type BuildPlanMetadata struct {
3728
// CommonBuildParameters are the parameters shared
3829
// by all packager build function implementation
3930
type CommonBuildParameters struct {
40-
SbomGenerator SBOMGenerator
31+
SbomGenerator sbom.SBOMGenerator
4132
Clock chronos.Clock
4233
Logger scribe.Emitter
4334
}

pkg/executable/executable.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// SPDX-FileCopyrightText: Copyright (c) 2013-Present CloudFoundry.org Foundation, Inc. All Rights Reserved.
2+
//
3+
// SPDX-License-Identifier: Apache-2.0
4+
5+
package executable
6+
7+
import (
8+
"github.com/paketo-buildpacks/packit/v2/pexec"
9+
)
10+
11+
//go:generate faux --interface Executable --output fakes/executable.go
12+
13+
// Executable defines the interface for invoking an executable.
14+
type Executable interface {
15+
Execute(pexec.Execution) error
16+
}

pkg/packagers/conda/build.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,10 @@ import (
1313
"github.com/paketo-buildpacks/packit/v2/fs"
1414
"github.com/paketo-buildpacks/packit/v2/sbom"
1515

16-
pythonpackagers "github.com/paketo-buildpacks/python-packagers/pkg/packagers/common"
16+
"github.com/paketo-buildpacks/python-packagers/pkg/build"
1717
)
1818

1919
//go:generate faux --interface Runner --output fakes/runner.go
20-
//go:generate faux --interface SBOMGenerator --output fakes/sbom_generator.go
2120

2221
// Runner defines the interface for setting up the conda environment.
2322
type Runner interface {
@@ -39,7 +38,7 @@ type CondaBuildParameters struct {
3938
// determined by the runner.
4039
func Build(
4140
buildParameters CondaBuildParameters,
42-
parameters pythonpackagers.CommonBuildParameters,
41+
parameters build.CommonBuildParameters,
4342
) packit.BuildFunc {
4443
return func(context packit.BuildContext) (packit.BuildResult, error) {
4544
runner := buildParameters.Runner

0 commit comments

Comments
 (0)