Skip to content

Commit 38c4555

Browse files
authored
Merge pull request #246 from JRaver/feaure/add_force
Add force option to kcl mod push and update kpm to the v0.11.3
2 parents f645599 + 39d24bf commit 38c4555

File tree

18 files changed

+55
-25
lines changed

18 files changed

+55
-25
lines changed

cmd/kcl/commands/mod.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ var (
4040
rename string
4141
noSumCheck bool
4242
insecureSkipTLSverify bool
43+
force bool
4344
)
4445

4546
// NewModCmd returns the mod command.

cmd/kcl/commands/mod_push.go

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ const (
2424
# Push the current module to the specified registry
2525
kcl mod push oci://ghcr.io/<some_repo>/<some_package>
2626
27+
# Push the current module to the registry to override the existing artifact
28+
kcl mod push --force
29+
2730
# Push the current module to the registry in the vendor mode
2831
kcl mod push --vendor`
2932
)
@@ -44,6 +47,7 @@ func NewModPushCmd(cli *client.KpmClient) *cobra.Command {
4447
cmd.Flags().BoolVar(&vendor, "vendor", false, "run in vendor mode (default: false)")
4548
cmd.Flags().StringVar(&target, "tar_path", "", "packaged target path that will be pushed")
4649
cmd.Flags().BoolVar(&insecureSkipTLSverify, "insecure-skip-tls-verify", false, "skip tls certificate checks for the KCL module download")
50+
cmd.Flags().BoolVar(&force, "force", false, "force push the package to the registry")
4751

4852
return cmd
4953
}
@@ -178,6 +182,7 @@ func pushPackage(ociUrl string, kclPkg *pkg.KclPkg, vendorMode bool, cli *client
178182
client.WithPushModPath(kclPkg.HomePath),
179183
client.WithPushSource(ociSource),
180184
client.WithPushVendorMode(vendorMode),
185+
client.WithPushForce(force),
181186
)
182187
if err != (*reporter.KpmEvent)(nil) {
183188
return err

go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ require (
1111
kcl-lang.io/kcl-go v0.11.2
1212
kcl-lang.io/kcl-openapi v0.10.0
1313
kcl-lang.io/kcl-plugin v0.11.0
14-
kcl-lang.io/kpm v0.11.2
14+
kcl-lang.io/kpm v0.11.3
1515
)
1616

1717
require (
@@ -88,17 +88,17 @@ require (
8888
github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect
8989
github.com/BurntSushi/toml v1.5.0 // indirect
9090
github.com/Microsoft/go-winio v0.6.2 // indirect
91-
github.com/ProtonMail/go-crypto v1.1.5 // indirect
91+
github.com/ProtonMail/go-crypto v1.1.6 // indirect
9292
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 // indirect
9393
github.com/bahlo/generic-list-go v0.2.0 // indirect
9494
github.com/beorn7/perks v1.0.1 // indirect
9595
github.com/buger/jsonparser v1.1.1 // indirect
9696
github.com/cespare/xxhash/v2 v2.3.0 // indirect
9797
github.com/chai2010/jsonv v1.1.3 // indirect
9898
github.com/chai2010/protorpc v1.1.4 // indirect
99-
github.com/cloudflare/circl v1.3.7 // indirect
99+
github.com/cloudflare/circl v1.6.1 // indirect
100100
github.com/containerd/containerd v1.7.20 // indirect
101-
github.com/cyphar/filepath-securejoin v0.3.6 // indirect
101+
github.com/cyphar/filepath-securejoin v0.4.1 // indirect
102102
github.com/docker/cli v27.5.1+incompatible // indirect
103103
github.com/docker/distribution v2.8.3+incompatible // indirect
104104
github.com/docker/docker v27.5.1+incompatible // indirect
@@ -112,7 +112,7 @@ require (
112112
github.com/getkin/kin-openapi v0.132.0 // indirect
113113
github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 // indirect
114114
github.com/go-git/go-billy/v5 v5.6.2 // indirect
115-
github.com/go-git/go-git/v5 v5.13.2 // indirect
115+
github.com/go-git/go-git/v5 v5.16.2 // indirect
116116
github.com/go-logr/logr v1.4.2 // indirect
117117
github.com/go-logr/stdr v1.2.2 // indirect
118118
github.com/go-openapi/analysis v0.23.0 // indirect
@@ -129,7 +129,7 @@ require (
129129
github.com/gofrs/flock v0.12.1 // indirect
130130
github.com/gogo/protobuf v1.3.2 // indirect
131131
github.com/golang-collections/collections v0.0.0-20130729185459-604e922904d3 // indirect
132-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
132+
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 // indirect
133133
github.com/golang/protobuf v1.5.4 // indirect
134134
github.com/golang/snappy v0.0.4 // indirect
135135
github.com/google/gnostic-models v0.6.8 // indirect
@@ -167,10 +167,10 @@ require (
167167
github.com/prometheus/common v0.57.0 // indirect
168168
github.com/prometheus/procfs v0.15.1 // indirect
169169
github.com/qri-io/jsonpointer v0.1.1 // indirect
170-
github.com/rogpeppe/go-internal v1.13.1 // indirect
170+
github.com/rogpeppe/go-internal v1.14.1 // indirect
171171
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 // indirect
172172
github.com/sirupsen/logrus v1.9.3 // indirect
173-
github.com/skeema/knownhosts v1.3.0 // indirect
173+
github.com/skeema/knownhosts v1.3.1 // indirect
174174
github.com/spf13/pflag v1.0.6
175175
github.com/thoas/go-funk v0.9.3
176176
github.com/ugorji/go/codec v1.2.11 // indirect

go.sum

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -631,8 +631,8 @@ github.com/Microsoft/hcsshim v0.12.9/go.mod h1:fJ0gkFAna6ukt0bLdKB8djt4XIJhF/vEP
631631
github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ=
632632
github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c=
633633
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
634-
github.com/ProtonMail/go-crypto v1.1.5 h1:eoAQfK2dwL+tFSFpr7TbOaPNUbPiJj4fLYwwGE1FQO4=
635-
github.com/ProtonMail/go-crypto v1.1.5/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
634+
github.com/ProtonMail/go-crypto v1.1.6 h1:ZcV+Ropw6Qn0AX9brlQLAUXfqLBc7Bl+f/DmNxpLfdw=
635+
github.com/ProtonMail/go-crypto v1.1.6/go.mod h1:rA3QumHc/FZ8pAHreoekgiAbzpNsfQAosU5td4SnOrE=
636636
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
637637
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
638638
github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8=
@@ -710,8 +710,8 @@ github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWR
710710
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
711711
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
712712
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
713-
github.com/cloudflare/circl v1.3.7 h1:qlCDlTPz2n9fu58M0Nh1J/JzcFpfgkFHHX3O35r5vcU=
714-
github.com/cloudflare/circl v1.3.7/go.mod h1:sRTcRWXGLrKw6yIGJ+l7amYJFfAXbZG0kBSc8r4zxgA=
713+
github.com/cloudflare/circl v1.6.1 h1:zqIqSPIndyBh1bjLVVDHMPpVKqp8Su/V+6MeDzzQBQ0=
714+
github.com/cloudflare/circl v1.6.1/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs=
715715
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
716716
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
717717
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
@@ -771,8 +771,8 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3
771771
github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
772772
github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY=
773773
github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4=
774-
github.com/cyphar/filepath-securejoin v0.3.6 h1:4d9N5ykBnSp5Xn2JkhocYDkOpURL/18CYMpo6xB9uWM=
775-
github.com/cyphar/filepath-securejoin v0.3.6/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
774+
github.com/cyphar/filepath-securejoin v0.4.1 h1:JyxxyPEaktOD+GAnqIqTf9A8tHyAG22rowi7HkoSU1s=
775+
github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI=
776776
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
777777
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
778778
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
@@ -812,8 +812,8 @@ github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25Kn
812812
github.com/ebitengine/purego v0.8.3-0.20250507171810-1638563e3615 h1:W7mpP4uiOAbBOdDnRXT9EUdauFv7bz+ERT5rPIord00=
813813
github.com/ebitengine/purego v0.8.3-0.20250507171810-1638563e3615/go.mod h1:iIjxzd6CiRiOG0UyXP+V1+jWqUXVjPKLAI0mRfJZTmQ=
814814
github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc=
815-
github.com/elazarl/goproxy v1.4.0 h1:4GyuSbFa+s26+3rmYNSuUVsx+HgPrV1bk1jXI0l9wjM=
816-
github.com/elazarl/goproxy v1.4.0/go.mod h1:X/5W/t+gzDyLfHW4DrMdpjqYjpXsURlBt9lpBDxZZZQ=
815+
github.com/elazarl/goproxy v1.7.2 h1:Y2o6urb7Eule09PjlhQRGNsqRfPmYI3KKQLFpCAV3+o=
816+
github.com/elazarl/goproxy v1.7.2/go.mod h1:82vkLNir0ALaW14Rc399OTTjyNREgmdL2cVoIbS6XaE=
817817
github.com/elliotchance/orderedmap/v2 v2.7.0 h1:WHuf0DRo63uLnldCPp9ojm3gskYwEdIIfAUVG5KhoOc=
818818
github.com/elliotchance/orderedmap/v2 v2.7.0/go.mod h1:85lZyVbpGaGvHvnKa7Qhx7zncAdBIBq6u56Hb1PRU5Q=
819819
github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs=
@@ -868,8 +868,8 @@ github.com/go-git/go-billy/v5 v5.6.2 h1:6Q86EsPXMa7c3YZ3aLAQsMA0VlWmy43r6FHqa/UN
868868
github.com/go-git/go-billy/v5 v5.6.2/go.mod h1:rcFC2rAsp/erv7CMz9GczHcuD0D32fWzH+MJAU+jaUU=
869869
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4=
870870
github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII=
871-
github.com/go-git/go-git/v5 v5.13.2 h1:7O7xvsK7K+rZPKW6AQR1YyNhfywkv7B8/FsP3ki6Zv0=
872-
github.com/go-git/go-git/v5 v5.13.2/go.mod h1:hWdW5P4YZRjmpGHwRH2v3zkWcNl6HeXaXQEMGb3NJ9A=
871+
github.com/go-git/go-git/v5 v5.16.2 h1:fT6ZIOjE5iEnkzKyxTHK1W4HGAsPhqEqiSAssSO77hM=
872+
github.com/go-git/go-git/v5 v5.16.2/go.mod h1:4Ge4alE/5gPs30F2H1esi2gPd69R0C39lolkucHBOp8=
873873
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
874874
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
875875
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
@@ -944,8 +944,9 @@ github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4er
944944
github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
945945
github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
946946
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
947-
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE=
948947
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
948+
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ=
949+
github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw=
949950
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
950951
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
951952
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
@@ -1361,8 +1362,8 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L
13611362
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
13621363
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
13631364
github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs=
1364-
github.com/rogpeppe/go-internal v1.13.1 h1:KvO1DLK/DRN07sQ1LQKScxyZJuNnedQ5/wKSR38lUII=
1365-
github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o=
1365+
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
1366+
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
13661367
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
13671368
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
13681369
github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w=
@@ -1379,8 +1380,8 @@ github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic
13791380
github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0=
13801381
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
13811382
github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ=
1382-
github.com/skeema/knownhosts v1.3.0 h1:AM+y0rI04VksttfwjkSTNQorvGqmwATnvnAHpSgc0LY=
1383-
github.com/skeema/knownhosts v1.3.0/go.mod h1:sPINvnADmT/qYH1kfv+ePMmOBTH6Tbl7b5LvTDjFK7M=
1383+
github.com/skeema/knownhosts v1.3.1 h1:X2osQ+RAjK76shCbvhHHHVl3ZlgDm8apHEHFqRjnBY8=
1384+
github.com/skeema/knownhosts v1.3.1/go.mod h1:r7KTdC8l4uxWRyK2TpQZ/1o5HaSzh06ePQNxPwTcfiY=
13841385
github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc=
13851386
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
13861387
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
@@ -2353,8 +2354,8 @@ kcl-lang.io/kcl-openapi v0.10.0 h1:yetZMSnn/HHaMcfiLt1P2zhCF06O33jxkjtHrm08VR8=
23532354
kcl-lang.io/kcl-openapi v0.10.0/go.mod h1:kGCf0AZygrZyB+xpmMtiC3FYoiV/1rCLXuAq2QtuLf8=
23542355
kcl-lang.io/kcl-plugin v0.11.0 h1:Get9hvYhQDS180GOqhdhKwxRcZGKUGvPkQkqEOfcwtk=
23552356
kcl-lang.io/kcl-plugin v0.11.0/go.mod h1:0H6hJEYMyPUm0zJQP0bgTuNrqktwgA21EcUvQTiZIb4=
2356-
kcl-lang.io/kpm v0.11.2 h1:0IW3yYNI4HfR2N+qFSnObZAyZehDgFFmHKis3F4LZ3g=
2357-
kcl-lang.io/kpm v0.11.2/go.mod h1:hZaikHrG2GVyCfGfydoy8yXtY5tdi+SABkme6LDFbeM=
2357+
kcl-lang.io/kpm v0.11.3 h1:oTI541SN/qlJCJZkvjHBcTdIx4QRVEnCtBPkHf0LrL8=
2358+
kcl-lang.io/kpm v0.11.3/go.mod h1:MDfrxRkbsZWatxoPB23O5JW44ENYB8ArKb1Dv3LF5BA=
23582359
kcl-lang.io/lib v0.11.2 h1:u1hqCaoDMov9MQ1TAR27sA8XYj8ICGUd1IR4ms/Fy5M=
23592360
kcl-lang.io/lib v0.11.2/go.mod h1:0Dw/MQwRMjLDksxl4JerGBn/ueaxRyCCKBCCwQwJ1MI=
23602361
lukechampine.com/uint128 v1.1.1/go.mod h1:c4eWIwlEGaxC/+H1VguhU4PHXNWDCDMUlWdIWl2j1gk=

pkg/options/run.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,8 @@ type RunOptions struct {
8383
Writer io.Writer
8484
// ModSpec is the module spec for the KCL module.
8585
ModSpec *downloader.ModSpec
86+
// Force is used to force push the package to the registry.
87+
Force bool
8688
}
8789

8890
// NewRunOptions returns a new instance of RunOptions with default values.

scripts/e2e/reg.sh

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,5 +25,8 @@ docker run -p ${KCL_REGISTRY_PORT}:5000 \
2525
-e "REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd" \
2626
-d registry
2727

28+
# Wait for the container to start and registry to be ready
29+
for i in {1..60}; do nc -z 127.0.0.1 ${KCL_REGISTRY_PORT} && break || sleep 1; echo "Waiting for registry to start $i.."; done
30+
2831
# clean the registry
2932
docker exec kcl-registry rm -rf /var/lib/registry/docker/registry/v2/repositories/
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
kcl mod push --force oci://localhost:5001/myrepo:latest

test/e2e/test_suites/test_kcl_mod_push_existing_package_with_force/stderr

Whitespace-only changes.
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package 'test_space' will be pushed
2+
package version '0.0.1' already exists, force pushing
3+
pushed [registry] localhost:5001/myrepo:latest
4+
digest:
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
[package]
2+
name = "test_space"
3+
edition = "v0.9.0"
4+
version = "0.0.1"

0 commit comments

Comments
 (0)