@@ -14,6 +14,7 @@ import (
1414 "github.com/paketo-buildpacks/packit/v2"
1515 "github.com/paketo-buildpacks/packit/v2/scribe"
1616 pythonpackagers "github.com/paketo-buildpacks/python-packagers"
17+ common "github.com/paketo-buildpacks/python-packagers/pkg/packagers/common"
1718 conda "github.com/paketo-buildpacks/python-packagers/pkg/packagers/conda"
1819 pip "github.com/paketo-buildpacks/python-packagers/pkg/packagers/pip"
1920 pipenv "github.com/paketo-buildpacks/python-packagers/pkg/packagers/pipenv"
@@ -71,8 +72,8 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
7172 Requires : []packit.BuildPlanRequirement {
7273 {
7374 Name : conda .CondaPlanEntry ,
74- Metadata : map [ string ] interface {} {
75- "build" : true ,
75+ Metadata : common. BuildPlanMetadata {
76+ Build : true ,
7677 },
7778 },
7879 },
@@ -101,8 +102,8 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
101102 Requires : []packit.BuildPlanRequirement {
102103 {
103104 Name : conda .CondaPlanEntry ,
104- Metadata : map [ string ] interface {} {
105- "build" : true ,
105+ Metadata : common. BuildPlanMetadata {
106+ Build : true ,
106107 },
107108 },
108109 },
@@ -133,19 +134,19 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
133134 Requires : []packit.BuildPlanRequirement {
134135 {
135136 Name : pip .CPython ,
136- Metadata : pip .BuildPlanMetadata {
137+ Metadata : common .BuildPlanMetadata {
137138 Build : true ,
138139 },
139140 },
140141 {
141142 Name : pip .Pip ,
142- Metadata : pip .BuildPlanMetadata {
143+ Metadata : common .BuildPlanMetadata {
143144 Build : true ,
144145 },
145146 },
146147 {
147148 Name : pip .Manager ,
148- Metadata : pip .BuildPlanMetadata {
149+ Metadata : common .BuildPlanMetadata {
149150 Build : true ,
150151 },
151152 },
@@ -177,19 +178,19 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
177178 Requires : []packit.BuildPlanRequirement {
178179 {
179180 Name : pipenv .CPython ,
180- Metadata : pipenv .BuildPlanMetadata {
181+ Metadata : common .BuildPlanMetadata {
181182 Build : true ,
182183 },
183184 },
184185 {
185186 Name : pipenv .Pipenv ,
186- Metadata : pipenv .BuildPlanMetadata {
187+ Metadata : common .BuildPlanMetadata {
187188 Build : true ,
188189 },
189190 },
190191 {
191192 Name : pipenv .Manager ,
192- Metadata : pipenv .BuildPlanMetadata {
193+ Metadata : common .BuildPlanMetadata {
193194 Build : true ,
194195 },
195196 },
@@ -218,13 +219,13 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
218219 Requires : []packit.BuildPlanRequirement {
219220 {
220221 Name : poetry .CPython ,
221- Metadata : poetry .BuildPlanMetadata {
222+ Metadata : common .BuildPlanMetadata {
222223 Build : true ,
223224 },
224225 },
225226 {
226227 Name : poetry .Poetry ,
227- Metadata : poetry .BuildPlanMetadata {
228+ Metadata : common .BuildPlanMetadata {
228229 Build : true ,
229230 },
230231 },
@@ -233,10 +234,11 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
233234 })
234235 })
235236
236- context ("When only a uv.lock file is present" , func () {
237+ context ("When a uv.lock file is present" , func () {
237238 it .Before (func () {
238239 Expect (os .RemoveAll (filepath .Join (workingDir , "x.py" ))).To (Succeed ())
239240 Expect (os .WriteFile (filepath .Join (workingDir , "uv.lock" ), []byte {}, os .ModePerm )).To (Succeed ())
241+ Expect (os .WriteFile (filepath .Join (workingDir , "pyproject.toml" ), []byte {}, os .ModePerm )).To (Succeed ())
240242 })
241243
242244 it ("passes detection" , func () {
@@ -253,8 +255,8 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
253255 Requires : []packit.BuildPlanRequirement {
254256 {
255257 Name : uv .UvPlanEntry ,
256- Metadata : map [ string ] interface {} {
257- "build" : true ,
258+ Metadata : common. BuildPlanMetadata {
259+ Build : true ,
258260 },
259261 },
260262 },
@@ -264,8 +266,13 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
264266
265267 context ("When a uv.lock and pyproject.toml file is present" , func () {
266268 it .Before (func () {
269+ content := []byte (`
270+ [build-system]
271+ requires = ["uv_build>=0.10.0,<0.11.0"]
272+ build-backend = "uv_build"
273+ ` )
267274 Expect (os .RemoveAll (filepath .Join (workingDir , "x.py" ))).To (Succeed ())
268- Expect (os .WriteFile (filepath .Join (workingDir , "pyproject.toml" ), [] byte {} , os .ModePerm )).To (Succeed ())
275+ Expect (os .WriteFile (filepath .Join (workingDir , "pyproject.toml" ), content , os .ModePerm )).To (Succeed ())
269276 Expect (os .WriteFile (filepath .Join (workingDir , "uv.lock" ), []byte {}, os .ModePerm )).To (Succeed ())
270277 })
271278
@@ -283,8 +290,8 @@ func testDetect(t *testing.T, context spec.G, it spec.S) {
283290 Requires : []packit.BuildPlanRequirement {
284291 {
285292 Name : uv .UvPlanEntry ,
286- Metadata : map [ string ] interface {} {
287- "build" : true ,
293+ Metadata : common. BuildPlanMetadata {
294+ Build : true ,
288295 },
289296 },
290297 },
0 commit comments