From 712f159130de328eeb10f3db9c90874474754b44 Mon Sep 17 00:00:00 2001 From: delarea Date: Thu, 29 Feb 2024 16:32:17 +0200 Subject: [PATCH 01/23] Add rbe - release bundle export function --- artifactory/cli.go | 4 +-- docs/lifecycle/export/help.go | 15 +++++++++++ go.mod | 8 +++--- go.sum | 26 ++++++++++++++++--- lifecycle/cli.go | 46 +++++++++++++++++++++++++++++++++ utils/cliutils/commandsflags.go | 5 ++++ 6 files changed, 95 insertions(+), 9 deletions(-) create mode 100644 docs/lifecycle/export/help.go diff --git a/artifactory/cli.go b/artifactory/cli.go index 324b5ffe4..d706c95c1 100644 --- a/artifactory/cli.go +++ b/artifactory/cli.go @@ -1234,7 +1234,7 @@ func downloadCmd(c *cli.Context) error { return err } fixWinPathsForDownloadCmd(downloadSpec, c) - configuration, err := createDownloadConfiguration(c) + configuration, err := CreateDownloadConfiguration(c) if err != nil { return err } @@ -2631,7 +2631,7 @@ func createDefaultDownloadSpec(c *cli.Context) (*spec.SpecFiles, error) { BuildSpec(), nil } -func createDownloadConfiguration(c *cli.Context) (downloadConfiguration *utils.DownloadConfiguration, err error) { +func CreateDownloadConfiguration(c *cli.Context) (downloadConfiguration *utils.DownloadConfiguration, err error) { downloadConfiguration = new(utils.DownloadConfiguration) downloadConfiguration.MinSplitSize, err = getMinSplit(c) if err != nil { diff --git a/docs/lifecycle/export/help.go b/docs/lifecycle/export/help.go new file mode 100644 index 000000000..ed1aacae0 --- /dev/null +++ b/docs/lifecycle/export/help.go @@ -0,0 +1,15 @@ +package export + +var Usage = []string{"rbe [command options] "} + +func GetDescription() string { + return "Export a Release Bundle" +} + +func GetArguments() string { + return ` release bundle name + Name of the Release Bundle to export. + + release bundle version + Version of the Release Bundle to export.` +} diff --git a/go.mod b/go.mod index 2f5f8962c..ab5f742c1 100644 --- a/go.mod +++ b/go.mod @@ -1,6 +1,8 @@ module github.com/jfrog/jfrog-cli -go 1.20 +go 1.21 + +toolchain go1.22.0 require ( github.com/agnivade/levenshtein v1.1.1 @@ -130,9 +132,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -// replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 v2.31.1-0.20240218115031-cc5c8b521695 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229142538-cc1d5f3a20d4 -// replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240218093454-1c352a93c23d +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229121115-a549c9e49d20 // replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.2-0.20240215122147-517c589b5ada diff --git a/go.sum b/go.sum index 77db2b40a..ca9833d0e 100644 --- a/go.sum +++ b/go.sum @@ -1,6 +1,7 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= @@ -23,11 +24,14 @@ github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVb github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= +github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= +github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= +github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= @@ -56,6 +60,7 @@ github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHf github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -76,19 +81,27 @@ github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s= github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= +github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229142538-cc1d5f3a20d4 h1:cB1hw4diN++SVl5YFogSptqDyg5D9jZNYW1B6/DPw70= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229142538-cc1d5f3a20d4/go.mod h1:yNbqL7tHJSz0yVKspWHbrjEiRzHUh3b3P32UB19nN4M= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229121115-a549c9e49d20 h1:OHyemNp4cNPrTV66GvXjYEamv09PJ5MWAGpMX39L1Gc= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229121115-a549c9e49d20/go.mod h1:7igFfdVykjKOFTvJAGF8VDyg76N5HX13yHNKWH0zjKQ= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= +github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= +github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/gocarina/gocsv v0.0.0-20231116093920-b87c2d0e983a h1:RYfmiM0zluBJOiPDJseKLEN4BapJ42uSi9SZBQ2YyiA= @@ -109,6 +122,7 @@ github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0= @@ -127,12 +141,8 @@ github.com/jfrog/gofrog v1.6.0 h1:jOwb37nHY2PnxePNFJ6e6279Pgkr3di05SbQQw47Mq8= github.com/jfrog/gofrog v1.6.0/go.mod h1:SZ1EPJUruxrVGndOzHd+LTiwWYKMlHqhKD+eu+v5Hqg= github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY= github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= -github.com/jfrog/jfrog-cli-core/v2 v2.48.1 h1:rRqI82btSFKFStGd7uEiheeBAuEjrw+ZZbE1abaKUBU= -github.com/jfrog/jfrog-cli-core/v2 v2.48.1/go.mod h1:9aZHtR9x7s9VUa5AalOjJkxMMPSgxXgQ5hdU3vzMwcs= github.com/jfrog/jfrog-cli-security v1.0.3 h1:TUfPmMEavLZzxvHJSzuXg1m9OQolGL/atE8cRbuPvls= github.com/jfrog/jfrog-cli-security v1.0.3/go.mod h1:NHmNHYlF6g4QSDyTQ3yUM57+WXZQfqskc2C1Mxj/FQY= -github.com/jfrog/jfrog-client-go v1.37.1 h1:BqIWGPajC5vhUo5dcQ9KEJr0EVANr/O4cfEqRYvzvRg= -github.com/jfrog/jfrog-client-go v1.37.1/go.mod h1:y+zeO0LeT2uHoHs4/fXHrm5dfF02bg6Dw3cNJxgJ5LY= github.com/jszwec/csvutil v1.10.0 h1:upMDUxhQKqZ5ZDCs/wy+8Kib8rZR8I8lOR34yJkdqhI= github.com/jszwec/csvutil v1.10.0/go.mod h1:/E4ONrmGkwmWsk9ae9jpXnv9QT8pLHEPcCirMFhxG9I= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4= @@ -149,9 +159,11 @@ github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -188,6 +200,7 @@ github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7P github.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc= github.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= @@ -216,6 +229,7 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= +github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= @@ -253,6 +267,7 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo= +github.com/terminalstatic/go-xsd-validate v0.1.5/go.mod h1:18lsvYFofBflqCrvo1umpABZ99+GneNTw2kEEc8UPJw= github.com/testcontainers/testcontainers-go v0.23.0 h1:ERYTSikX01QczBLPZpqsETTBO7lInqEP349phDOVJVs= github.com/testcontainers/testcontainers-go v0.23.0/go.mod h1:3gzuZfb7T9qfcH2pHpV4RLlWrPjeWNQah6XlYQ32c4I= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -373,6 +388,7 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= +golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -398,6 +414,7 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= @@ -410,3 +427,4 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= +gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= diff --git a/lifecycle/cli.go b/lifecycle/cli.go index a27268cb8..75607672e 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -7,13 +7,17 @@ import ( coreCommon "github.com/jfrog/jfrog-cli-core/v2/docs/common" "github.com/jfrog/jfrog-cli-core/v2/lifecycle" coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config" + "github.com/jfrog/jfrog-cli/artifactory" "github.com/jfrog/jfrog-cli/docs/common" rbCreate "github.com/jfrog/jfrog-cli/docs/lifecycle/create" rbDistribute "github.com/jfrog/jfrog-cli/docs/lifecycle/distribute" + rbExport "github.com/jfrog/jfrog-cli/docs/lifecycle/export" rbPromote "github.com/jfrog/jfrog-cli/docs/lifecycle/promote" "github.com/jfrog/jfrog-cli/utils/cliutils" "github.com/jfrog/jfrog-cli/utils/distribution" + "github.com/jfrog/jfrog-client-go/lifecycle/services" "github.com/jfrog/jfrog-client-go/utils" + distribution2 "github.com/jfrog/jfrog-client-go/utils/distribution" "github.com/jfrog/jfrog-client-go/utils/errorutils" "github.com/urfave/cli" "strings" @@ -59,6 +63,18 @@ func GetCommands() []cli.Command { Category: lcCategory, Action: distribute, }, + { + Name: "release-bundle-export", + Aliases: []string{"rbe"}, + Flags: cliutils.GetCommandFlags(cliutils.ReleaseBundleExport), + Usage: rbExport.GetDescription(), + HelpName: coreCommon.CreateUsage("rbe", rbExport.GetDescription(), rbExport.Usage), + UsageText: rbExport.GetArguments(), + ArgsUsage: common.CreateEnvVars(), + BashComplete: coreCommon.CreateBashCompletionFunc(), + Category: lcCategory, + Action: export, + }, }) } @@ -150,6 +166,27 @@ func distribute(c *cli.Context) error { return commands.Exec(distributeCmd) } +func export(c *cli.Context) error { + if err := validateDistributeCommand(c); err != nil { + return err + } + lcDetails, err := createLifecycleDetailsByFlags(c) + if err != nil { + return err + } + exportCmd, modifications, err := InitReleaseBundleExportCmd(c) + downloadConfig, err := artifactory.CreateDownloadConfiguration(c) + if err != nil { + return err + } + exportCmd. + SetServerDetails(lcDetails). + SetReleaseBundleExportModifications(&modifications). + SetDownloadConfiguration(downloadConfig) + + return commands.Exec(exportCmd) +} + func validateDistributeCommand(c *cli.Context) error { if err := distribution.ValidateReleaseBundleDistributeCmd(c); err != nil { return err @@ -195,3 +232,12 @@ func splitRepos(c *cli.Context, reposOptionKey string) []string { } return nil } + +func InitReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundleExportCommand, modifications services.Modifications, err error) { + command = lifecycle.NewReleaseBundleExportCommand(). + SetReleaseBundleName(c.Args().Get(0)). + SetReleaseBundleVersion(c.Args().Get(1)). + SetProject(c.String("project")) + modifications = services.Modifications{PathMappings: distribution2.CreatePathMappings(c.String("mapping-pattern"), c.String("mapping-target"))} + return +} diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index a5fe38b87..13c878f18 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -121,6 +121,7 @@ const ( ReleaseBundleCreate = "release-bundle-create" ReleaseBundlePromote = "release-bundle-promote" ReleaseBundleDistribute = "release-bundle-distribute" + ReleaseBundleExport = "release-bundle-export" // Access Token Create commands keys AccessTokenCreate = "access-token-create" @@ -2000,6 +2001,10 @@ var commandFlags = map[string][]string{ lcUrl, user, password, accessToken, serverId, lcDryRun, DistRules, site, city, countryCodes, InsecureTls, CreateRepo, lcPathMappingPattern, lcPathMappingTarget, }, + ReleaseBundleExport: { + lcUrl, user, password, accessToken, serverId, lcDryRun, lcPathMappingTarget, lcPathMappingPattern, Project, + repository, symlinks, validateSymlinks, minSplit, splitCount, skipChecksum, TargetWorkingDir, + }, // Mission Control's commands McConfig: { mcUrl, mcAccessToken, mcInteractive, From a8ef281b79807652b71394f60ffa735c2164ecc4 Mon Sep 17 00:00:00 2001 From: delarea Date: Thu, 29 Feb 2024 16:33:17 +0200 Subject: [PATCH 02/23] Add rbe - release bundle export function --- go.mod | 4 +--- go.sum | 18 ------------------ 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/go.mod b/go.mod index ab5f742c1..d3e3abb03 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/jfrog/jfrog-cli -go 1.21 - -toolchain go1.22.0 +go 1.20 require ( github.com/agnivade/levenshtein v1.1.1 diff --git a/go.sum b/go.sum index ca9833d0e..4951fa1ba 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,6 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= @@ -24,14 +23,11 @@ github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVb github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= @@ -60,7 +56,6 @@ github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHf github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= -github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -81,7 +76,6 @@ github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s= github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229142538-cc1d5f3a20d4 h1:cB1hw4diN++SVl5YFogSptqDyg5D9jZNYW1B6/DPw70= @@ -91,17 +85,14 @@ github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229121115-a549c9e49d20/go. github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= -github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/gocarina/gocsv v0.0.0-20231116093920-b87c2d0e983a h1:RYfmiM0zluBJOiPDJseKLEN4BapJ42uSi9SZBQ2YyiA= @@ -122,7 +113,6 @@ github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0= @@ -159,11 +149,9 @@ github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -200,7 +188,6 @@ github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7P github.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc= github.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= @@ -229,7 +216,6 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= @@ -267,7 +253,6 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo= -github.com/terminalstatic/go-xsd-validate v0.1.5/go.mod h1:18lsvYFofBflqCrvo1umpABZ99+GneNTw2kEEc8UPJw= github.com/testcontainers/testcontainers-go v0.23.0 h1:ERYTSikX01QczBLPZpqsETTBO7lInqEP349phDOVJVs= github.com/testcontainers/testcontainers-go v0.23.0/go.mod h1:3gzuZfb7T9qfcH2pHpV4RLlWrPjeWNQah6XlYQ32c4I= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -388,7 +373,6 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -414,7 +398,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= @@ -427,4 +410,3 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= -gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= From 07d6e3481e72bdf086113957df3206b594301123 Mon Sep 17 00:00:00 2001 From: delarea Date: Thu, 29 Feb 2024 17:20:05 +0200 Subject: [PATCH 03/23] remove destination flag --- lifecycle/cli.go | 8 ++++++-- utils/cliutils/commandsflags.go | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lifecycle/cli.go b/lifecycle/cli.go index 75607672e..3c427e237 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -237,7 +237,11 @@ func InitReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundl command = lifecycle.NewReleaseBundleExportCommand(). SetReleaseBundleName(c.Args().Get(0)). SetReleaseBundleVersion(c.Args().Get(1)). - SetProject(c.String("project")) - modifications = services.Modifications{PathMappings: distribution2.CreatePathMappings(c.String("mapping-pattern"), c.String("mapping-target"))} + SetProject(c.String(cliutils.Project)) + modifications = services.Modifications{ + PathMappings: distribution2.CreatePathMappings( + c.String(cliutils.PathMappingPattern), + c.String(cliutils.PathMappingTarget)), + } return } diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index 13c878f18..aaec5ca63 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -2003,7 +2003,7 @@ var commandFlags = map[string][]string{ }, ReleaseBundleExport: { lcUrl, user, password, accessToken, serverId, lcDryRun, lcPathMappingTarget, lcPathMappingPattern, Project, - repository, symlinks, validateSymlinks, minSplit, splitCount, skipChecksum, TargetWorkingDir, + repository, symlinks, validateSymlinks, minSplit, splitCount, skipChecksum, }, // Mission Control's commands McConfig: { From 5b4f50bb811c2e1bb26dad604eb5071c5f8c68b9 Mon Sep 17 00:00:00 2001 From: delarea Date: Thu, 29 Feb 2024 17:52:46 +0200 Subject: [PATCH 04/23] fix go version --- go.mod | 4 +--- go.sum | 18 ------------------ 2 files changed, 1 insertion(+), 21 deletions(-) diff --git a/go.mod b/go.mod index d32c4811c..fbe7ee117 100644 --- a/go.mod +++ b/go.mod @@ -1,8 +1,6 @@ module github.com/jfrog/jfrog-cli -go 1.21 - -toolchain go1.22.0 +go 1.20 require ( github.com/agnivade/levenshtein v1.1.1 diff --git a/go.sum b/go.sum index 2921195b9..aa9564005 100644 --- a/go.sum +++ b/go.sum @@ -1,7 +1,6 @@ dario.cat/mergo v1.0.0 h1:AGCNq9Evsj31mOgNPcLyXc+4PNABt905YmuqPYYpBWk= dario.cat/mergo v1.0.0/go.mod h1:uNxQE+84aUszobStD9th8a29P2fMDhsBdgRYvZOxGmk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24 h1:bvDV9vkmnHYOMsOr4WLk+Vo07yKIzd94sVoIqshQ4bU= -github.com/AdaLogics/go-fuzz-headers v0.0.0-20230811130428-ced1acdcaa24/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 h1:UQHMgLO+TxOElx5B5HZ4hJQsoJ/PvUvKRhJHDQXO8P8= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v1.3.2 h1:o7IhLm0Msx3BaB+n3Ag7L8EVlByGnpq14C4YWiu/gL8= @@ -24,14 +23,11 @@ github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVb github.com/andybalholm/brotli v1.1.0 h1:eLKJA0d02Lf0mVpIDgYnqXcUn0GqVmEFny3VuID1U3M= github.com/andybalholm/brotli v1.1.0/go.mod h1:sms7XGricyQI9K10gOSf56VKKWS4oLer58Q+mhRPtnY= github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be h1:9AeTilPcZAjCFIImctFaOjnTIavg87rW78vTPkQqLI8= -github.com/anmitsu/go-shlex v0.0.0-20200514113438-38f4b401e2be/go.mod h1:ySMOLuWl6zY27l47sB3qLNK6tF2fkHG55UZxx8oIVo4= github.com/apparentlymart/go-textseg/v13 v13.0.0/go.mod h1:ZK2fH7c4NqDTLtiYLvIkEghdlcqw7yxLeM89kiTRPUo= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0 h1:jfIu9sQUG6Ig+0+Ap1h4unLjW6YQJpKZVmUzxsD4E/Q= github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= -github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/bradleyjkemp/cupaloy/v2 v2.8.0/go.mod h1:bm7JXdkRd4BHJk9HpwqAI8BoAY1lps46Enkdqw6aRX0= github.com/buger/jsonparser v1.1.1 h1:2PnMjfWD7wBILjqQbt530v576A/cAbQvEW9gGIpYMUs= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/bwesterb/go-ristretto v1.2.3/go.mod h1:fUIoIZaG73pV5biE2Blr2xEzDoMj7NFEuV9ekS419A0= @@ -60,7 +56,6 @@ github.com/cpuguy83/dockercfg v0.3.1/go.mod h1:sugsbF4//dDlL/i+S+rtpIWp+5h0BHJHf github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.18 h1:n56/Zwd5o6whRC5PMGretI4IdRLlmBXYNjScPaBgsbY= -github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.4 h1:Ugdm7cg7i6ZK6x3xDF1oEu1nfkyfH53EtKeQYTC3kyg= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -81,7 +76,6 @@ github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5 h1:iFaUwBSo5Svw6L github.com/dsnet/compress v0.0.2-0.20210315054119-f66993602bf5/go.mod h1:qssHWj60/X5sZFNxpG4HBPDHVqxNm4DfnCKgrbZOT+s= github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdfkVLjJ8T6VcRQv3SXugXy999NBtR9aFY= github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= -github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229154655-1b8a3730da64 h1:9jz6++vdKjFd0BcDZrKF7ejYVkDZgYqwgajocxIDwTE= @@ -91,17 +85,14 @@ github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229154608-3336b05e8049/go. github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= -github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= github.com/gliderlabs/ssh v0.3.5 h1:OcaySEmAQJgyYcArR+gGGTHCyE7nvhEMTlYY+Dp8CpY= -github.com/gliderlabs/ssh v0.3.5/go.mod h1:8XB4KraRrX39qHhT6yxPsHedjA08I/uBVwj4xC+/+z4= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376 h1:+zs/tPmkDkHx3U66DAb0lQFJrpS6731Oaa12ikc+DiI= github.com/go-git/gcfg v1.5.1-0.20230307220236-3a3c6141e376/go.mod h1:an3vInlBmSxCcxctByoQdvwPiA7DTK7jaaFDBTtu0ic= github.com/go-git/go-billy/v5 v5.5.0 h1:yEY4yhzCDuMGSv83oGxiBotRzhwhNr8VZyphhiu+mTU= github.com/go-git/go-billy/v5 v5.5.0/go.mod h1:hmexnoNsr2SJU1Ju67OaNz5ASJY3+sHgFRpCtpDCKow= github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399 h1:eMje31YglSBqCdIqdhKBW8lokaMrL3uTkpGYlE2OOT4= -github.com/go-git/go-git-fixtures/v4 v4.3.2-0.20231010084843-55a94097c399/go.mod h1:1OCfN199q1Jm3HZlxleg+Dw/mwps2Wbk9frAWm+4FII= github.com/go-git/go-git/v5 v5.11.0 h1:XIZc1p+8YzypNr34itUfSvYJcv+eYdTnTvOZ2vD3cA4= github.com/go-git/go-git/v5 v5.11.0/go.mod h1:6GFcX2P3NM7FPBfpePbpLd21XxsgdAt+lKqXmCUiUCY= github.com/gocarina/gocsv v0.0.0-20231116093920-b87c2d0e983a h1:RYfmiM0zluBJOiPDJseKLEN4BapJ42uSi9SZBQ2YyiA= @@ -122,7 +113,6 @@ github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/gookit/color v1.5.4 h1:FZmqs7XOyGgCAxmWyPslpiok1k05wmY3SJTytgvYFs0= @@ -159,11 +149,9 @@ github.com/klauspost/pgzip v1.2.6 h1:8RXeL5crjEUFnR2/Sn6GJNWtSQ3Dk8pq4CL3jvdDyjU github.com/klauspost/pgzip v1.2.6/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= -github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/manifoldco/promptui v0.9.0 h1:3V4HzJk1TtXW1MTZMP7mdlwbBpIinw3HztaIlYthEiA= @@ -200,7 +188,6 @@ github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7P github.com/nwaples/rardecode v1.1.3 h1:cWCaZwfM5H7nAD6PyEdcVnczzV8i/JtotnyW/dD9lEc= github.com/nwaples/rardecode v1.1.3/go.mod h1:5DzqNKiOdpKKBH87u8VlvAnPZMXcGRhxWkRpHbbfGS0= github.com/onsi/gomega v1.27.10 h1:naR28SdDFlqrG6kScpT8VWpu1xWY5nJRCF3XaYyBjhI= -github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc5 h1:Ygwkfw9bpDvs+c9E34SdgGOj41dX/cbdlwvlWt0pnFI= @@ -229,7 +216,6 @@ github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJ github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.11.0 h1:cWPaGQEPrBb5/AsnsZesgZZ9yb1OQ+GOISoDNXVBh4M= -github.com/rogpeppe/go-internal v1.11.0/go.mod h1:ddIwULY96R17DhadqLgMfk9H9tvdUzkipdSkR5nkCZA= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= @@ -267,7 +253,6 @@ github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXl github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/terminalstatic/go-xsd-validate v0.1.5 h1:RqpJnf6HGE2CB/lZB1A8BYguk8uRtcvYAPLCF15qguo= -github.com/terminalstatic/go-xsd-validate v0.1.5/go.mod h1:18lsvYFofBflqCrvo1umpABZ99+GneNTw2kEEc8UPJw= github.com/testcontainers/testcontainers-go v0.23.0 h1:ERYTSikX01QczBLPZpqsETTBO7lInqEP349phDOVJVs= github.com/testcontainers/testcontainers-go v0.23.0/go.mod h1:3gzuZfb7T9qfcH2pHpV4RLlWrPjeWNQah6XlYQ32c4I= github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14= @@ -388,7 +373,6 @@ golang.org/x/text v0.8.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk= -golang.org/x/time v0.5.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= @@ -414,7 +398,6 @@ gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/warnings.v0 v0.1.2 h1:wFXVbFY8DY5/xOe1ECiWdKCzZlxgshcYVNkBHstARME= @@ -427,4 +410,3 @@ gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.0 h1:Ljk6PdHdOhAb5aDMWXjDLMMhph+BpztA4v1QdqEW2eY= -gotest.tools/v3 v3.5.0/go.mod h1:isy3WKz7GK6uNw/sbHzfKBLvlvXwUyV06n6brMxxopU= From 8b5d4340f29b5750bf4fbe0c325e5d4c66234718 Mon Sep 17 00:00:00 2001 From: delarea Date: Thu, 29 Feb 2024 17:59:40 +0200 Subject: [PATCH 05/23] fix static check --- lifecycle/cli.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lifecycle/cli.go b/lifecycle/cli.go index 3c427e237..ac336e316 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -175,6 +175,9 @@ func export(c *cli.Context) error { return err } exportCmd, modifications, err := InitReleaseBundleExportCmd(c) + if err != nil { + return err + } downloadConfig, err := artifactory.CreateDownloadConfiguration(c) if err != nil { return err From e6e29b7f42c2b019ccc39ec73ad3a4c9d6f3c35a Mon Sep 17 00:00:00 2001 From: delarea Date: Sun, 3 Mar 2024 12:37:10 +0200 Subject: [PATCH 06/23] add rb export test --- go.mod | 4 ++-- go.sum | 8 ++++---- lifecycle_test.go | 13 +++++++++++++ 3 files changed, 19 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index fbe7ee117..421a9482d 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229154655-1b8a3730da64 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229154608-3336b05e8049 +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.4-0.20240225141439-cc8b9f3d1962 diff --git a/go.sum b/go.sum index aa9564005..501ffb6dd 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,10 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229154655-1b8a3730da64 h1:9jz6++vdKjFd0BcDZrKF7ejYVkDZgYqwgajocxIDwTE= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240229154655-1b8a3730da64/go.mod h1:XB9qhtbm3ihoxqCVHsJrGwgN2PfTneSiIraQKY7tphM= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229154608-3336b05e8049 h1:wGfbv7Kc7kmtvBqkp6Apo/csHCtK5XQnNeIVeVgeaU0= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240229154608-3336b05e8049/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a h1:0SP8hHwRSklWp55MIxxhoUePKPPBafXrjYr98aA6vWg= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a/go.mod h1:g/GGm3XYAUbjG7U2gfphlCLlSJun93tPYvfDpRZ1u0g= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b h1:0mNx9aShOQjOylPAwVN5QE0oHZQ0T6Vvqka/GB6D+Mw= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= diff --git a/lifecycle_test.go b/lifecycle_test.go index b25d75646..16476db8c 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -73,6 +73,10 @@ func TestLifecycle(t *testing.T) { // Assert no artifacts were promoted to prod repo 2. assertExpectedArtifacts(t, tests.SearchAllProdRepo2, []string{}) + // Export release lifecycle bundle archive + exportRb(t, tests.LcRbName2, number2) + exportRb(t, tests.LcRbName3, number3) + // TODO Temporarily disabling till distribution on testing suite is stable. /* distributeRb(t) @@ -118,6 +122,15 @@ func createRb(t *testing.T, specName, sourceOption, rbName, rbVersion string, sy assert.NoError(t, lcCli.Exec(argsAndOptions...)) } +func exportRb(t *testing.T, rbName, rbVersion string) { + output := lcCli.RunCliCmdWithOutput(t, "rbe", rbName, rbVersion) + var exportResp *services.ReleaseBundleExportedStatusResponse + if !assert.NoError(t, json.Unmarshal([]byte(output), &exportResp)) { + return + } + assert.Equal(t, exportResp.Status, services.ExportCompleted) +} + /* func distributeRb(t *testing.T) { distributionRulesPath := filepath.Join(tests.GetTestResourcesPath(), "distribution", tests.DistributionRules) From 924686ff97ef5c5f4d72b47e25369314601cdf06 Mon Sep 17 00:00:00 2001 From: delarea Date: Sun, 3 Mar 2024 12:45:32 +0200 Subject: [PATCH 07/23] update deps --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 421a9482d..7e4cec1ef 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b diff --git a/go.sum b/go.sum index 501ffb6dd..673928856 100644 --- a/go.sum +++ b/go.sum @@ -78,8 +78,8 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a h1:0SP8hHwRSklWp55MIxxhoUePKPPBafXrjYr98aA6vWg= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103545-af22ae1b842a/go.mod h1:g/GGm3XYAUbjG7U2gfphlCLlSJun93tPYvfDpRZ1u0g= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f h1:Rg28yuFeNUwPFTTUtJ9d3l6y9DTZy7bL/ZcQNCScCzE= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f/go.mod h1:g/GGm3XYAUbjG7U2gfphlCLlSJun93tPYvfDpRZ1u0g= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b h1:0mNx9aShOQjOylPAwVN5QE0oHZQ0T6Vvqka/GB6D+Mw= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= From a6219e34f679daf3e521a29de27a93e0c6fb364b Mon Sep 17 00:00:00 2001 From: delarea Date: Sun, 3 Mar 2024 17:26:44 +0200 Subject: [PATCH 08/23] update deps --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 7e4cec1ef..702c1606d 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303152254-1f375fe1949d -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94 replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.4-0.20240225141439-cc8b9f3d1962 diff --git a/go.sum b/go.sum index 673928856..ed61396ca 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,10 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f h1:Rg28yuFeNUwPFTTUtJ9d3l6y9DTZy7bL/ZcQNCScCzE= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303103922-6de2e48ec99f/go.mod h1:g/GGm3XYAUbjG7U2gfphlCLlSJun93tPYvfDpRZ1u0g= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b h1:0mNx9aShOQjOylPAwVN5QE0oHZQ0T6Vvqka/GB6D+Mw= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303103437-7f83d26a572b/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303152254-1f375fe1949d h1:BTIE4CTRUJj7/4xIHgNa3dps1jGStFf4AuRwtdi+gCo= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240303152254-1f375fe1949d/go.mod h1:Mtk57z9bmmU8QXgQyOAN8X8PPMHSKk28HN6uxU98iCs= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94 h1:mJmDLnAba/j38ihsi5OZ+85WM1AYGjzSbcsFtHn3VcE= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= From fa617b8c148dfa9845151ffd7259cdf144617e40 Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 4 Mar 2024 11:11:08 +0200 Subject: [PATCH 09/23] verify downloaded exported file in tests and delete it afterward --- lifecycle_test.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lifecycle_test.go b/lifecycle_test.go index 16476db8c..d9a91e47f 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -16,6 +16,7 @@ import ( "github.com/jfrog/jfrog-client-go/lifecycle/services" clientUtils "github.com/jfrog/jfrog-client-go/utils" "github.com/jfrog/jfrog-client-go/utils/errorutils" + "github.com/jfrog/jfrog-client-go/utils/io/fileutils" clientTestUtils "github.com/jfrog/jfrog-client-go/utils/tests" "github.com/stretchr/testify/assert" "net/http" @@ -75,7 +76,9 @@ func TestLifecycle(t *testing.T) { // Export release lifecycle bundle archive exportRb(t, tests.LcRbName2, number2) + defer deleteExportedReleaseBundle(t, tests.LcRbName2) exportRb(t, tests.LcRbName3, number3) + defer deleteExportedReleaseBundle(t, tests.LcRbName3) // TODO Temporarily disabling till distribution on testing suite is stable. /* @@ -88,6 +91,10 @@ func TestLifecycle(t *testing.T) { } +func deleteExportedReleaseBundle(t *testing.T, rbName string) { + assert.NoError(t, os.RemoveAll(rbName)) +} + func assertExpectedArtifacts(t *testing.T, specFileName string, expected []string) { searchProdSpec, err := tests.CreateSpec(specFileName) assert.NoError(t, err) @@ -129,6 +136,9 @@ func exportRb(t *testing.T, rbName, rbVersion string) { return } assert.Equal(t, exportResp.Status, services.ExportCompleted) + exists, err := fileutils.IsDirExists(rbName, false) + assert.NoError(t, err) + assert.Equal(t, true, exists) } /* From 60974eb783293c00fc35e91102a4073070c61e41 Mon Sep 17 00:00:00 2001 From: delarea Date: Sun, 10 Mar 2024 11:23:17 +0200 Subject: [PATCH 10/23] CR --- artifactory/cli.go | 84 +------------------------------ artifactory/cli_test.go | 2 +- docs/lifecycle/export/help.go | 2 +- go.mod | 4 +- go.sum | 4 -- lifecycle/cli.go | 17 +++---- lifecycle_test.go | 2 - utils/cliutils/commandsflags.go | 23 +++++---- utils/cliutils/utils.go | 87 +++++++++++++++++++++++++++++++-- 9 files changed, 111 insertions(+), 114 deletions(-) diff --git a/artifactory/cli.go b/artifactory/cli.go index 115e1b4db..fbc8c46ea 100644 --- a/artifactory/cli.go +++ b/artifactory/cli.go @@ -945,37 +945,6 @@ func GetCommands() []cli.Command { }) } -func getSplitCount(c *cli.Context, defaultSplitCount, maxSplitCount int) (splitCount int, err error) { - splitCount = defaultSplitCount - err = nil - if c.String("split-count") != "" { - splitCount, err = strconv.Atoi(c.String("split-count")) - if err != nil { - err = errors.New("The '--split-count' option should have a numeric value. " + cliutils.GetDocumentationMessage()) - } - if splitCount > maxSplitCount { - err = errors.New("The '--split-count' option value is limited to a maximum of " + strconv.Itoa(maxSplitCount) + ".") - } - if splitCount < 0 { - err = errors.New("the '--split-count' option cannot have a negative value") - } - } - return -} - -func getMinSplit(c *cli.Context, defaultMinSplit int64) (minSplitSize int64, err error) { - minSplitSize = defaultMinSplit - if c.String(cliutils.MinSplit) != "" { - minSplitSize, err = strconv.ParseInt(c.String(cliutils.MinSplit), 10, 64) - if err != nil { - err = errors.New("The '--min-split' option should have a numeric value. " + cliutils.GetDocumentationMessage()) - return 0, err - } - } - - return minSplitSize, nil -} - func getRetries(c *cli.Context) (retries int, err error) { retries = cliutils.Retries if c.String("retries") != "" { @@ -1235,7 +1204,7 @@ func downloadCmd(c *cli.Context) error { return err } fixWinPathsForDownloadCmd(downloadSpec, c) - configuration, err := CreateDownloadConfiguration(c) + configuration, err := cliutils.CreateDownloadConfiguration(c) if err != nil { return err } @@ -1296,7 +1265,7 @@ func uploadCmd(c *cli.Context) (err error) { return } cliutils.FixWinPathsForFileSystemSourcedCmds(uploadSpec, c) - configuration, err := createUploadConfiguration(c) + configuration, err := cliutils.CreateUploadConfiguration(c) if err != nil { return } @@ -2418,15 +2387,6 @@ func transferSettingsCmd(_ *cli.Context) error { return commands.Exec(transferSettingsCmd) } -func getDebFlag(c *cli.Context) (deb string, err error) { - deb = c.String("deb") - slashesCount := strings.Count(deb, "/") - strings.Count(deb, "\\/") - if deb != "" && slashesCount != 2 { - return "", errors.New("the --deb option should be in the form of distribution/component/architecture") - } - return deb, nil -} - func createDefaultCopyMoveSpec(c *cli.Context) (*spec.SpecFiles, error) { offset, limit, err := getOffsetAndLimitValues(c) if err != nil { @@ -2632,25 +2592,6 @@ func createDefaultDownloadSpec(c *cli.Context) (*spec.SpecFiles, error) { BuildSpec(), nil } -func CreateDownloadConfiguration(c *cli.Context) (downloadConfiguration *utils.DownloadConfiguration, err error) { - downloadConfiguration = new(utils.DownloadConfiguration) - downloadConfiguration.MinSplitSize, err = getMinSplit(c, cliutils.DownloadMinSplitKb) - if err != nil { - return nil, err - } - downloadConfiguration.SplitCount, err = getSplitCount(c, cliutils.DownloadSplitCount, cliutils.DownloadMaxSplitCount) - if err != nil { - return nil, err - } - downloadConfiguration.Threads, err = cliutils.GetThreadsCount(c) - if err != nil { - return nil, err - } - downloadConfiguration.SkipChecksum = c.Bool("skip-checksum") - downloadConfiguration.Symlink = true - return -} - func setTransitiveInDownloadSpec(downloadSpec *spec.SpecFiles) { transitive := os.Getenv(coreutils.TransitiveDownload) if transitive == "" { @@ -2710,27 +2651,6 @@ func fixWinPathsForDownloadCmd(uploadSpec *spec.SpecFiles, c *cli.Context) { } } -func createUploadConfiguration(c *cli.Context) (uploadConfiguration *utils.UploadConfiguration, err error) { - uploadConfiguration = new(utils.UploadConfiguration) - uploadConfiguration.MinSplitSizeMB, err = getMinSplit(c, cliutils.UploadMinSplitMb) - if err != nil { - return nil, err - } - uploadConfiguration.SplitCount, err = getSplitCount(c, cliutils.UploadSplitCount, cliutils.UploadMaxSplitCount) - if err != nil { - return nil, err - } - uploadConfiguration.Threads, err = cliutils.GetThreadsCount(c) - if err != nil { - return nil, err - } - uploadConfiguration.Deb, err = getDebFlag(c) - if err != nil { - return - } - return -} - func getOffsetAndLimitValues(c *cli.Context) (offset, limit int, err error) { offset, err = cliutils.GetIntFlagValue(c, "offset", 0) if err != nil { diff --git a/artifactory/cli_test.go b/artifactory/cli_test.go index ead08ebb7..0f6a59a13 100644 --- a/artifactory/cli_test.go +++ b/artifactory/cli_test.go @@ -142,7 +142,7 @@ func TestCreateUploadConfiguration(t *testing.T) { for _, testCase := range createUploadConfigurationCases { t.Run(testCase.name, func(t *testing.T) { context, _ := tests.CreateContext(t, testCase.flags, []string{}) - uploadConfiguration, err := createUploadConfiguration(context) + uploadConfiguration, err := cliutils.CreateUploadConfiguration(context) assert.NoError(t, err) assert.Equal(t, testCase.expectedMinSplit, uploadConfiguration.MinSplitSizeMB) assert.Equal(t, testCase.expectedSplitCount, uploadConfiguration.SplitCount) diff --git a/docs/lifecycle/export/help.go b/docs/lifecycle/export/help.go index ed1aacae0..809fb14d5 100644 --- a/docs/lifecycle/export/help.go +++ b/docs/lifecycle/export/help.go @@ -3,7 +3,7 @@ package export var Usage = []string{"rbe [command options] "} func GetDescription() string { - return "Export a Release Bundle" + return "Export and download a Release Bundle" } func GetArguments() string { diff --git a/go.mod b/go.mod index 70c31a14e..8bce1241e 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240306142259-7f718fa1303c +replace github.com/jfrog/jfrog-cli-core/v2 => ../jfrog-cli-core -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94 +replace github.com/jfrog/jfrog-client-go => ../jfrog-client-go replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.4-0.20240303113253-d82ecc02d9eb diff --git a/go.sum b/go.sum index be4ececbc..b1a562ffe 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,6 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240306142259-7f718fa1303c h1:WjT8wks4BdRACBNn0ufFq+87y5bwntyJ0e7abNB2M20= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240306142259-7f718fa1303c/go.mod h1:Mtk57z9bmmU8QXgQyOAN8X8PPMHSKk28HN6uxU98iCs= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94 h1:mJmDLnAba/j38ihsi5OZ+85WM1AYGjzSbcsFtHn3VcE= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240303151139-9fe6562c9e94/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= diff --git a/lifecycle/cli.go b/lifecycle/cli.go index ac336e316..86e9a3008 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -7,7 +7,6 @@ import ( coreCommon "github.com/jfrog/jfrog-cli-core/v2/docs/common" "github.com/jfrog/jfrog-cli-core/v2/lifecycle" coreConfig "github.com/jfrog/jfrog-cli-core/v2/utils/config" - "github.com/jfrog/jfrog-cli/artifactory" "github.com/jfrog/jfrog-cli/docs/common" rbCreate "github.com/jfrog/jfrog-cli/docs/lifecycle/create" rbDistribute "github.com/jfrog/jfrog-cli/docs/lifecycle/distribute" @@ -167,25 +166,22 @@ func distribute(c *cli.Context) error { } func export(c *cli.Context) error { - if err := validateDistributeCommand(c); err != nil { - return err - } lcDetails, err := createLifecycleDetailsByFlags(c) if err != nil { return err } - exportCmd, modifications, err := InitReleaseBundleExportCmd(c) + exportCmd, modifications, err := initReleaseBundleExportCmd(c) if err != nil { return err } - downloadConfig, err := artifactory.CreateDownloadConfiguration(c) + downloadConfig, err := cliutils.CreateDownloadConfiguration(c) if err != nil { return err } exportCmd. SetServerDetails(lcDetails). - SetReleaseBundleExportModifications(&modifications). - SetDownloadConfiguration(downloadConfig) + SetReleaseBundleExportModifications(modifications). + SetDownloadConfiguration(*downloadConfig) return commands.Exec(exportCmd) } @@ -236,11 +232,12 @@ func splitRepos(c *cli.Context, reposOptionKey string) []string { return nil } -func InitReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundleExportCommand, modifications services.Modifications, err error) { +func initReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundleExportCommand, modifications services.Modifications, err error) { command = lifecycle.NewReleaseBundleExportCommand(). SetReleaseBundleName(c.Args().Get(0)). SetReleaseBundleVersion(c.Args().Get(1)). - SetProject(c.String(cliutils.Project)) + SetProject(c.String(cliutils.Project)). + SetTargetPath(c.String(cliutils.TargetDirectory)) modifications = services.Modifications{ PathMappings: distribution2.CreatePathMappings( c.String(cliutils.PathMappingPattern), diff --git a/lifecycle_test.go b/lifecycle_test.go index d9a91e47f..880c6f60c 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -77,8 +77,6 @@ func TestLifecycle(t *testing.T) { // Export release lifecycle bundle archive exportRb(t, tests.LcRbName2, number2) defer deleteExportedReleaseBundle(t, tests.LcRbName2) - exportRb(t, tests.LcRbName3, number3) - defer deleteExportedReleaseBundle(t, tests.LcRbName3) // TODO Temporarily disabling till distribution on testing suite is stable. /* diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index 8ed96a989..5dffaccc6 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -447,13 +447,14 @@ const ( deleteFromDist = "delete-from-dist" // Common release-bundle-* v1&v2 flags - DistRules = "dist-rules" - site = "site" - city = "city" - countryCodes = "country-codes" - sync = "sync" - maxWaitMinutes = "max-wait-minutes" - CreateRepo = "create-repo" + DistRules = "dist-rules" + site = "site" + city = "city" + countryCodes = "country-codes" + sync = "sync" + maxWaitMinutes = "max-wait-minutes" + CreateRepo = "create-repo" + TargetDirectory = target + "-directory" // *** Xray Commands' flags *** // Base flags @@ -1717,6 +1718,10 @@ var flagsMap = map[string]cli.Flag{ Name: Reference, Usage: "[Default: false] Generate a Reference Token (alias to Access Token) in addition to the full token (available from Artifactory 7.38.10)` `", }, + TargetDirectory: cli.StringFlag{ + Name: TargetDirectory, + Usage: "[Optional] Specify the destination PATH where the downloaded file will be saved. If not provided, the file will be saved in the current directory.` `", + }, } var commandFlags = map[string][]string{ @@ -2014,8 +2019,8 @@ var commandFlags = map[string][]string{ InsecureTls, CreateRepo, lcPathMappingPattern, lcPathMappingTarget, }, ReleaseBundleExport: { - lcUrl, user, password, accessToken, serverId, lcDryRun, lcPathMappingTarget, lcPathMappingPattern, Project, - repository, symlinks, validateSymlinks, minSplit, splitCount, skipChecksum, + lcUrl, user, password, accessToken, serverId, lcPathMappingTarget, lcPathMappingPattern, Project, + repository, downloadMinSplit, downloadSplitCount, TargetDirectory, }, // Mission Control's commands McConfig: { diff --git a/utils/cliutils/utils.go b/utils/cliutils/utils.go index 7cff55dc9..ed626ac29 100644 --- a/utils/cliutils/utils.go +++ b/utils/cliutils/utils.go @@ -9,6 +9,7 @@ import ( "os" "path" "path/filepath" + "strconv" "strings" "time" @@ -91,7 +92,7 @@ func GetCliError(err error, success, failed int, failNoOp bool) error { type DetailedSummaryRecord struct { Source string `json:"source,omitempty"` - Target string `json:"target"` + Target string `json:"Target"` } type ExtendedDetailedSummaryRecord struct { @@ -176,7 +177,7 @@ func PrintDetailedSummaryReport(basicSummary string, reader *content.ContentRead } // Get the detailed summary record. -// For uploads, we need to print the sha256 of the uploaded file along with the source and target, and prefix the target with the Artifactory URL. +// For uploads, we need to print the sha256 of the uploaded file along with the source and Target, and prefix the Target with the Artifactory URL. func getDetailedSummaryRecord(transferDetails *clientutils.FileTransferDetails, uploaded bool) interface{} { record := DetailedSummaryRecord{ Source: transferDetails.SourcePath, @@ -253,6 +254,46 @@ func CreateBuildInfoSummaryReportString(success, failed int, sha256 string, err return clientutils.IndentJson(buildInfoSummaryContent), mErr } +func CreateDownloadConfiguration(c *cli.Context) (downloadConfiguration *artifactoryUtils.DownloadConfiguration, err error) { + downloadConfiguration = new(artifactoryUtils.DownloadConfiguration) + downloadConfiguration.MinSplitSize, err = getMinSplit(c, DownloadMinSplitKb) + if err != nil { + return nil, err + } + downloadConfiguration.SplitCount, err = getSplitCount(c, DownloadSplitCount, DownloadMaxSplitCount) + if err != nil { + return nil, err + } + downloadConfiguration.Threads, err = GetThreadsCount(c) + if err != nil { + return nil, err + } + downloadConfiguration.SkipChecksum = c.Bool("skip-checksum") + downloadConfiguration.Symlink = true + return +} + +func CreateUploadConfiguration(c *cli.Context) (uploadConfiguration *artifactoryUtils.UploadConfiguration, err error) { + uploadConfiguration = new(artifactoryUtils.UploadConfiguration) + uploadConfiguration.MinSplitSizeMB, err = getMinSplit(c, UploadMinSplitMb) + if err != nil { + return nil, err + } + uploadConfiguration.SplitCount, err = getSplitCount(c, UploadSplitCount, UploadMaxSplitCount) + if err != nil { + return nil, err + } + uploadConfiguration.Threads, err = GetThreadsCount(c) + if err != nil { + return nil, err + } + uploadConfiguration.Deb, err = getDebFlag(c) + if err != nil { + return + } + return +} + func PrintHelpAndReturnError(msg string, context *cli.Context) error { return commonCliUtils.PrintHelpAndReturnError(msg, GetPrintCurrentCmdHelp(context)) } @@ -467,7 +508,7 @@ func OverrideFieldsIfSet(spec *speccore.File, c *cli.Context) { overrideIntIfSet(&spec.Limit, c, "limit") overrideStringIfSet(&spec.SortOrder, c, "sort-order") overrideStringIfSet(&spec.Props, c, "props") - overrideStringIfSet(&spec.TargetProps, c, "target-props") + overrideStringIfSet(&spec.TargetProps, c, "Target-props") overrideStringIfSet(&spec.ExcludeProps, c, "exclude-props") overrideStringIfSet(&spec.Build, c, "build") overrideStringIfSet(&spec.Project, c, "project") @@ -695,3 +736,43 @@ func GetProject(c *cli.Context) string { projectKey := c.String("project") return getOrDefaultEnv(projectKey, coreutils.Project) } + +func getSplitCount(c *cli.Context, defaultSplitCount, maxSplitCount int) (splitCount int, err error) { + splitCount = defaultSplitCount + err = nil + if c.String("split-count") != "" { + splitCount, err = strconv.Atoi(c.String("split-count")) + if err != nil { + err = errors.New("The '--split-count' option should have a numeric value. " + GetDocumentationMessage()) + } + if splitCount > maxSplitCount { + err = errors.New("The '--split-count' option value is limited to a maximum of " + strconv.Itoa(maxSplitCount) + ".") + } + if splitCount < 0 { + err = errors.New("the '--split-count' option cannot have a negative value") + } + } + return +} + +func getMinSplit(c *cli.Context, defaultMinSplit int64) (minSplitSize int64, err error) { + minSplitSize = defaultMinSplit + if c.String(MinSplit) != "" { + minSplitSize, err = strconv.ParseInt(c.String(MinSplit), 10, 64) + if err != nil { + err = errors.New("The '--min-split' option should have a numeric value. " + GetDocumentationMessage()) + return 0, err + } + } + + return minSplitSize, nil +} + +func getDebFlag(c *cli.Context) (deb string, err error) { + deb = c.String("deb") + slashesCount := strings.Count(deb, "/") - strings.Count(deb, "\\/") + if deb != "" && slashesCount != 2 { + return "", errors.New("the --deb option should be in the form of distribution/component/architecture") + } + return deb, nil +} From f0d62c5fc6ad3f419edbc03e977cb4529653b9e6 Mon Sep 17 00:00:00 2001 From: delarea Date: Sun, 10 Mar 2024 11:28:23 +0200 Subject: [PATCH 11/23] update deps --- go.mod | 4 ++-- go.sum | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/go.mod b/go.mod index 8bce1241e..e8980bfda 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => ../jfrog-cli-core +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069 -replace github.com/jfrog/jfrog-client-go => ../jfrog-client-go +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2 replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.4-0.20240303113253-d82ecc02d9eb diff --git a/go.sum b/go.sum index b1a562ffe..37beda580 100644 --- a/go.sum +++ b/go.sum @@ -78,6 +78,10 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069 h1:fldVq5X8BbNYC/4CkXWbNouvHSBzcarAUEjeTwuVr5s= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069/go.mod h1:/dqXaqnjKGwQf/os1pCWRJFkTGgtkSdItFQVML/41gk= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2 h1:8lpohEu8ABHZ966cvYnYXmu1+w8Ftc2AZaaSYJU0vg8= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= From acdfc346efba07dc174a94f3e63e330e7a94f35a Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 11 Mar 2024 11:48:48 +0200 Subject: [PATCH 12/23] update deps --- go.mod | 4 ++-- go.sum | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index 7c8c3a1f6..ab5eeff4f 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240311092732-79d1fb63985a -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2 +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240311084609-d75d6a7b329e replace github.com/jfrog/jfrog-cli-security => github.com/jfrog/jfrog-cli-security v1.0.4-0.20240303113253-d82ecc02d9eb diff --git a/go.sum b/go.sum index 1775fa921..4f1d93ca7 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,10 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069 h1:fldVq5X8BbNYC/4CkXWbNouvHSBzcarAUEjeTwuVr5s= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240310092230-67da13f19069/go.mod h1:/dqXaqnjKGwQf/os1pCWRJFkTGgtkSdItFQVML/41gk= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2 h1:8lpohEu8ABHZ966cvYnYXmu1+w8Ftc2AZaaSYJU0vg8= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240310080908-cc232c3254d2/go.mod h1:zki1Xqr6JSZvKFzTLI/r1WRJG9Sc7dpk3P4/xg/YgoE= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240311092732-79d1fb63985a h1:XRsGFZFPobgp/vYDvm8KURXC2Vk3Rr/Vx+lt0pbxzgU= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240311092732-79d1fb63985a/go.mod h1:eFU2o1ye3spsXP6V3LBIoC3pMGLfLDOPsEqlxYqr+3c= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240311084609-d75d6a7b329e h1:7sGZhc1FdvgQe/g/7KMUntWBUjr/jzc7TdSoeAXtLxg= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240311084609-d75d6a7b329e/go.mod h1:knm1qYrsNqkeElD7pxCoVD8DSDnanhugVs42slz48U4= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= From f3d4ce54afce120dddf997857d4c6e3b10bc6c6c Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 11 Mar 2024 12:05:57 +0200 Subject: [PATCH 13/23] change path mapping from distribution to artifactory --- lifecycle/cli.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/lifecycle/cli.go b/lifecycle/cli.go index 86e9a3008..4a0e888ea 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -14,9 +14,9 @@ import ( rbPromote "github.com/jfrog/jfrog-cli/docs/lifecycle/promote" "github.com/jfrog/jfrog-cli/utils/cliutils" "github.com/jfrog/jfrog-cli/utils/distribution" + artClientUtils "github.com/jfrog/jfrog-client-go/artifactory/services/utils" "github.com/jfrog/jfrog-client-go/lifecycle/services" "github.com/jfrog/jfrog-client-go/utils" - distribution2 "github.com/jfrog/jfrog-client-go/utils/distribution" "github.com/jfrog/jfrog-client-go/utils/errorutils" "github.com/urfave/cli" "strings" @@ -238,10 +238,14 @@ func initReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundl SetReleaseBundleVersion(c.Args().Get(1)). SetProject(c.String(cliutils.Project)). SetTargetPath(c.String(cliutils.TargetDirectory)) + modifications = services.Modifications{ - PathMappings: distribution2.CreatePathMappings( - c.String(cliutils.PathMappingPattern), - c.String(cliutils.PathMappingTarget)), + PathMappings: []artClientUtils.PathMapping{ + { + Input: c.String(cliutils.PathMappingPattern), + Output: c.String(cliutils.PathMappingTarget), + }, + }, } return } From f641b901849fac26c3630e2a8cceaed864cabf16 Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 11 Mar 2024 12:09:11 +0200 Subject: [PATCH 14/23] fix static check --- lifecycle/cli.go | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lifecycle/cli.go b/lifecycle/cli.go index 4a0e888ea..ba483d907 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -170,10 +170,7 @@ func export(c *cli.Context) error { if err != nil { return err } - exportCmd, modifications, err := initReleaseBundleExportCmd(c) - if err != nil { - return err - } + exportCmd, modifications := initReleaseBundleExportCmd(c) downloadConfig, err := cliutils.CreateDownloadConfiguration(c) if err != nil { return err @@ -232,7 +229,7 @@ func splitRepos(c *cli.Context, reposOptionKey string) []string { return nil } -func initReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundleExportCommand, modifications services.Modifications, err error) { +func initReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundleExportCommand, modifications services.Modifications) { command = lifecycle.NewReleaseBundleExportCommand(). SetReleaseBundleName(c.Args().Get(0)). SetReleaseBundleVersion(c.Args().Get(1)). From 3b7eeeca5d083247e3ee3609f691f37505f69320 Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 11 Mar 2024 16:04:58 +0200 Subject: [PATCH 15/23] Update repo flag --- utils/cliutils/commandsflags.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index 5dffaccc6..fa416359f 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -2020,7 +2020,7 @@ var commandFlags = map[string][]string{ }, ReleaseBundleExport: { lcUrl, user, password, accessToken, serverId, lcPathMappingTarget, lcPathMappingPattern, Project, - repository, downloadMinSplit, downloadSplitCount, TargetDirectory, + rbRepo, downloadMinSplit, downloadSplitCount, TargetDirectory, }, // Mission Control's commands McConfig: { From bd802ae2fb7e76ddcb0ba48884c7f0fb31ce04d4 Mon Sep 17 00:00:00 2001 From: delarea Date: Mon, 18 Mar 2024 11:45:23 +0200 Subject: [PATCH 16/23] update deps --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index b4b91b993..0c971550c 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318092309-bfc067e0e067 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318093441-5596edb9ddf6 replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240318091644-cd1b2ea37878 diff --git a/go.sum b/go.sum index bdc4eca82..aa8d15af4 100644 --- a/go.sum +++ b/go.sum @@ -78,8 +78,8 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318092309-bfc067e0e067 h1:1ss6s6jTPpi7xNFSksOapzwcpOkGYof27bgbEGXSlJI= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318092309-bfc067e0e067/go.mod h1:cfXM0WcFuAVpRjMLqCyV4kLW8/5DQA9SidzUnZcWYyY= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318093441-5596edb9ddf6 h1:C8KH3OwVQ3x9BXtfXyc8j79UNqk7fzjw271VQmLtpHU= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318093441-5596edb9ddf6/go.mod h1:cfXM0WcFuAVpRjMLqCyV4kLW8/5DQA9SidzUnZcWYyY= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240318091644-cd1b2ea37878 h1:RU1vSHXmXk405ak3WizaiZH6yhfAapVrw3NY5LrVP6A= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240318091644-cd1b2ea37878/go.mod h1:knm1qYrsNqkeElD7pxCoVD8DSDnanhugVs42slz48U4= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= From 17c2db40dcf91612f95a32fbabab029fc7921c90 Mon Sep 17 00:00:00 2001 From: delarea Date: Tue, 19 Mar 2024 15:32:36 +0200 Subject: [PATCH 17/23] CR --- utils/cliutils/commandsflags.go | 2 +- utils/cliutils/utils.go | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index b89b418e0..88b7587e8 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -2027,7 +2027,7 @@ var commandFlags = map[string][]string{ }, ReleaseBundleExport: { platformUrl, user, password, accessToken, serverId, lcPathMappingTarget, lcPathMappingPattern, Project, - rbRepo, downloadMinSplit, downloadSplitCount, TargetDirectory, + downloadMinSplit, downloadSplitCount, TargetDirectory, }, // Mission Control's commands McConfig: { diff --git a/utils/cliutils/utils.go b/utils/cliutils/utils.go index ed626ac29..7872d0994 100644 --- a/utils/cliutils/utils.go +++ b/utils/cliutils/utils.go @@ -92,7 +92,7 @@ func GetCliError(err error, success, failed int, failNoOp bool) error { type DetailedSummaryRecord struct { Source string `json:"source,omitempty"` - Target string `json:"Target"` + Target string `json:"target"` } type ExtendedDetailedSummaryRecord struct { @@ -177,7 +177,7 @@ func PrintDetailedSummaryReport(basicSummary string, reader *content.ContentRead } // Get the detailed summary record. -// For uploads, we need to print the sha256 of the uploaded file along with the source and Target, and prefix the Target with the Artifactory URL. +// For uploads, we need to print the sha256 of the uploaded file along with the source and target, and prefix the target with the Artifactory URL. func getDetailedSummaryRecord(transferDetails *clientutils.FileTransferDetails, uploaded bool) interface{} { record := DetailedSummaryRecord{ Source: transferDetails.SourcePath, @@ -508,7 +508,7 @@ func OverrideFieldsIfSet(spec *speccore.File, c *cli.Context) { overrideIntIfSet(&spec.Limit, c, "limit") overrideStringIfSet(&spec.SortOrder, c, "sort-order") overrideStringIfSet(&spec.Props, c, "props") - overrideStringIfSet(&spec.TargetProps, c, "Target-props") + overrideStringIfSet(&spec.TargetProps, c, "target-props") overrideStringIfSet(&spec.ExcludeProps, c, "exclude-props") overrideStringIfSet(&spec.Build, c, "build") overrideStringIfSet(&spec.Project, c, "project") From c0469a309b563df54497b250cf64464841a613bd Mon Sep 17 00:00:00 2001 From: delarea Date: Tue, 19 Mar 2024 15:51:04 +0200 Subject: [PATCH 18/23] move target pattern to arg --- docs/lifecycle/export/help.go | 13 +++++++++++-- lifecycle/cli.go | 4 ++-- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/docs/lifecycle/export/help.go b/docs/lifecycle/export/help.go index 809fb14d5..20404521a 100644 --- a/docs/lifecycle/export/help.go +++ b/docs/lifecycle/export/help.go @@ -1,6 +1,6 @@ package export -var Usage = []string{"rbe [command options] "} +var Usage = []string{"rbe [command options] [target pattern]"} func GetDescription() string { return "Export and download a Release Bundle" @@ -11,5 +11,14 @@ func GetArguments() string { Name of the Release Bundle to export. release bundle version - Version of the Release Bundle to export.` + Version of the Release Bundle to export. + + target pattern + The third argument is optional and specifies the local file system target path. + If the target path ends with a slash, the path is assumed to be a directory. + For example, if you specify the target as "repo-name/a/b/", then "b" is assumed to be a directory into which files should be downloaded. + If there is no terminal slash, the target path is assumed to be a file to which the downloaded file should be renamed. + For example, if you specify the target as "a/b", the downloaded file is renamed to "b". + For flexibility in specifying the target path, you can include placeholders in the form of {1}, {2} which are replaced by corresponding + tokens in the source path that are enclosed in parenthesis.` } diff --git a/lifecycle/cli.go b/lifecycle/cli.go index e5e537d1d..7c6f077c3 100644 --- a/lifecycle/cli.go +++ b/lifecycle/cli.go @@ -346,8 +346,8 @@ func initReleaseBundleExportCmd(c *cli.Context) (command *lifecycle.ReleaseBundl command = lifecycle.NewReleaseBundleExportCommand(). SetReleaseBundleName(c.Args().Get(0)). SetReleaseBundleVersion(c.Args().Get(1)). - SetProject(c.String(cliutils.Project)). - SetTargetPath(c.String(cliutils.TargetDirectory)) + SetTargetPath(c.Args().Get(2)). + SetProject(c.String(cliutils.Project)) modifications = services.Modifications{ PathMappings: []artClientUtils.PathMapping{ From bf37e7fd409fcc1e280a01357efdb11a4e44bbcd Mon Sep 17 00:00:00 2001 From: delarea Date: Tue, 19 Mar 2024 16:31:05 +0200 Subject: [PATCH 19/23] update deps and verify downloaded file in test --- go.mod | 4 ++-- go.sum | 8 ++++---- lifecycle_test.go | 17 ++++++++--------- 3 files changed, 14 insertions(+), 15 deletions(-) diff --git a/go.mod b/go.mod index 1aa855fc6..e9075da39 100644 --- a/go.mod +++ b/go.mod @@ -130,9 +130,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319132613-31bf9f83e5ff +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60 -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319131716-00b9f7b1d77f +replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374 // replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go dev diff --git a/go.sum b/go.sum index 2d4ae598f..a44bfa4ff 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,10 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319132613-31bf9f83e5ff h1:gYGoLlD+qUzmwUittJMQbSBPxCZCKUqrK7BsuhUy8j4= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319132613-31bf9f83e5ff/go.mod h1:LkMx+nwQEJtR6KzK0wu88HqtTZiJUUhvZLOs/hiIROY= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319131716-00b9f7b1d77f h1:0TF/iV7EQEHZhS1GVgZTZaX8j6ybHOIRrUKTOO/5O34= -github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319131716-00b9f7b1d77f/go.mod h1:MJmkLyB9YmdiRxwLO7j1PB/bEIrvZIpaS0MA58TOT9o= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60 h1:+84C4QKncGte8FyCeg2C42FppYx2VdT9n2bb9+uFCi0= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60/go.mod h1:w91LjZZIiaowz2eb+YPoBmycZDhafGQuqUXrrC1MXSc= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374 h1:nY/nIX8IL9obve912r1MsPYhOKGOvnS02biF/nzh+8o= +github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374/go.mod h1:MJmkLyB9YmdiRxwLO7j1PB/bEIrvZIpaS0MA58TOT9o= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= github.com/forPelevin/gomoji v1.1.8/go.mod h1:8+Z3KNGkdslmeGZBC3tCrwMrcPy5GRzAD+gL9NAwMXg= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= diff --git a/lifecycle_test.go b/lifecycle_test.go index 35b315f33..c38db5a84 100644 --- a/lifecycle_test.go +++ b/lifecycle_test.go @@ -140,7 +140,11 @@ func TestLifecycleFullFlow(t *testing.T) { assertExpectedArtifacts(t, tests.SearchAllProdRepo2, []string{}) // Export release lifecycle bundle archive - exportRb(t, tests.LcRbName2, number2) + + tempDir, cleanUp := coreTests.CreateTempDirWithCallbackAndAssert(t) + defer cleanUp() + + exportRb(t, tests.LcRbName2, number2, tempDir) defer deleteExportedReleaseBundle(t, tests.LcRbName2) // TODO Temporarily disabling till distribution on testing suite is stable. @@ -202,14 +206,9 @@ func createRb(t *testing.T, specFilePath, sourceOption, rbName, rbVersion string assert.NoError(t, lcCli.Exec(argsAndOptions...)) } -func exportRb(t *testing.T, rbName, rbVersion string) { - output := lcCli.RunCliCmdWithOutput(t, "rbe", rbName, rbVersion) - var exportResp *services.ReleaseBundleExportedStatusResponse - if !assert.NoError(t, json.Unmarshal([]byte(output), &exportResp)) { - return - } - assert.Equal(t, exportResp.Status, services.ExportCompleted) - exists, err := fileutils.IsDirExists(rbName, false) +func exportRb(t *testing.T, rbName, rbVersion, targetPath string) { + lcCli.RunCliCmdWithOutput(t, "rbe", rbName, rbVersion, targetPath+"/") + exists, err := fileutils.IsDirExists(path.Join(targetPath, rbName), false) assert.NoError(t, err) assert.Equal(t, true, exists) } From c1563f65fa853497ba00da311469fa9db453a5b1 Mon Sep 17 00:00:00 2001 From: delarea Date: Tue, 19 Mar 2024 16:48:52 +0200 Subject: [PATCH 20/23] update deps --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index e9075da39..0ee7b14f2 100644 --- a/go.mod +++ b/go.mod @@ -130,7 +130,7 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319144309-be480483bf30 replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374 diff --git a/go.sum b/go.sum index a44bfa4ff..1ce32d8b2 100644 --- a/go.sum +++ b/go.sum @@ -78,8 +78,8 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60 h1:+84C4QKncGte8FyCeg2C42FppYx2VdT9n2bb9+uFCi0= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319142910-9373e0a5fb60/go.mod h1:w91LjZZIiaowz2eb+YPoBmycZDhafGQuqUXrrC1MXSc= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319144309-be480483bf30 h1:OlUsUV0xqd6bAsnuwKBJyno5nfD5LBi7VRWeBQKkHvY= +github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240319144309-be480483bf30/go.mod h1:w91LjZZIiaowz2eb+YPoBmycZDhafGQuqUXrrC1MXSc= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374 h1:nY/nIX8IL9obve912r1MsPYhOKGOvnS02biF/nzh+8o= github.com/eyaldelarea/jfrog-client-go v1.28.4-0.20240319142726-22f1f4a74374/go.mod h1:MJmkLyB9YmdiRxwLO7j1PB/bEIrvZIpaS0MA58TOT9o= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= From 42ffee17fd6439b485c2a47db4c2a76f4dc84237 Mon Sep 17 00:00:00 2001 From: delarea Date: Tue, 19 Mar 2024 16:56:56 +0200 Subject: [PATCH 21/23] Docs update --- docs/lifecycle/export/help.go | 18 +++++++++--------- utils/cliutils/commandsflags.go | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/docs/lifecycle/export/help.go b/docs/lifecycle/export/help.go index 20404521a..87ac34e3f 100644 --- a/docs/lifecycle/export/help.go +++ b/docs/lifecycle/export/help.go @@ -1,9 +1,9 @@ package export -var Usage = []string{"rbe [command options] [target pattern]"} +var Usage = []string{"rbe [target pattern]"} func GetDescription() string { - return "Export and download a Release Bundle" + return "Triggers the Export process and downloads the Release Bundle archive" } func GetArguments() string { @@ -14,11 +14,11 @@ func GetArguments() string { Version of the Release Bundle to export. target pattern - The third argument is optional and specifies the local file system target path. - If the target path ends with a slash, the path is assumed to be a directory. - For example, if you specify the target as "repo-name/a/b/", then "b" is assumed to be a directory into which files should be downloaded. - If there is no terminal slash, the target path is assumed to be a file to which the downloaded file should be renamed. - For example, if you specify the target as "a/b", the downloaded file is renamed to "b". - For flexibility in specifying the target path, you can include placeholders in the form of {1}, {2} which are replaced by corresponding - tokens in the source path that are enclosed in parenthesis.` + The third argument is optional and specifies the local file system target path. + If the target path ends with a slash, the path is assumed to be a directory. + For example, if you specify the target as "repo-name/a/b/", then "b" is assumed to be a directory into which files should be downloaded. + If there is no terminal slash, the target path is assumed to be a file to which the downloaded file should be renamed. + For example, if you specify the target as "a/b", the downloaded file is renamed to "b". + For flexibility in specifying the target path, you can include placeholders in the form of {1}, {2} which are replaced by corresponding + tokens in the source path that are enclosed in parenthesis.` } diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index 88b7587e8..af4b1f021 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -2027,7 +2027,7 @@ var commandFlags = map[string][]string{ }, ReleaseBundleExport: { platformUrl, user, password, accessToken, serverId, lcPathMappingTarget, lcPathMappingPattern, Project, - downloadMinSplit, downloadSplitCount, TargetDirectory, + downloadMinSplit, downloadSplitCount, }, // Mission Control's commands McConfig: { From 17b615eff7b69ab95b81cb1a720247ba926bfc3c Mon Sep 17 00:00:00 2001 From: delarea Date: Wed, 20 Mar 2024 12:53:26 +0200 Subject: [PATCH 22/23] CR --- docs/lifecycle/export/help.go | 4 +--- utils/cliutils/commandsflags.go | 19 +++++++------------ 2 files changed, 8 insertions(+), 15 deletions(-) diff --git a/docs/lifecycle/export/help.go b/docs/lifecycle/export/help.go index 87ac34e3f..2e250f941 100644 --- a/docs/lifecycle/export/help.go +++ b/docs/lifecycle/export/help.go @@ -18,7 +18,5 @@ func GetArguments() string { If the target path ends with a slash, the path is assumed to be a directory. For example, if you specify the target as "repo-name/a/b/", then "b" is assumed to be a directory into which files should be downloaded. If there is no terminal slash, the target path is assumed to be a file to which the downloaded file should be renamed. - For example, if you specify the target as "a/b", the downloaded file is renamed to "b". - For flexibility in specifying the target path, you can include placeholders in the form of {1}, {2} which are replaced by corresponding - tokens in the source path that are enclosed in parenthesis.` + For example, if you specify the target as "a/b", the downloaded file is renamed to "b". ` } diff --git a/utils/cliutils/commandsflags.go b/utils/cliutils/commandsflags.go index af4b1f021..a886e51f6 100644 --- a/utils/cliutils/commandsflags.go +++ b/utils/cliutils/commandsflags.go @@ -449,14 +449,13 @@ const ( deleteFromDist = "delete-from-dist" // Common release-bundle-* v1&v2 flags - DistRules = "dist-rules" - site = "site" - city = "city" - countryCodes = "country-codes" - sync = "sync" - maxWaitMinutes = "max-wait-minutes" - CreateRepo = "create-repo" - TargetDirectory = target + "-directory" + DistRules = "dist-rules" + site = "site" + city = "city" + countryCodes = "country-codes" + sync = "sync" + maxWaitMinutes = "max-wait-minutes" + CreateRepo = "create-repo" // *** Xray Commands' flags *** // Base flags @@ -1717,10 +1716,6 @@ var flagsMap = map[string]cli.Flag{ Name: Reference, Usage: "[Default: false] Generate a Reference Token (alias to Access Token) in addition to the full token (available from Artifactory 7.38.10)` `", }, - TargetDirectory: cli.StringFlag{ - Name: TargetDirectory, - Usage: "[Optional] Specify the destination PATH where the downloaded file will be saved. If not provided, the file will be saved in the current directory.` `", - }, } var commandFlags = map[string][]string{ From 50f796891ed25e3a6c351f6f7484535d807e1f55 Mon Sep 17 00:00:00 2001 From: delarea Date: Wed, 20 Mar 2024 12:57:57 +0200 Subject: [PATCH 23/23] Update deps --- go.mod | 6 +++--- go.sum | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/go.mod b/go.mod index a109fda56..0f1d821e4 100644 --- a/go.mod +++ b/go.mod @@ -66,7 +66,7 @@ require ( github.com/gookit/color v1.5.4 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 // indirect - github.com/jedib0t/go-pretty/v6 v6.5.4 // indirect + github.com/jedib0t/go-pretty/v6 v6.5.5 // indirect github.com/jfrog/jfrog-apps-config v1.0.1 // indirect github.com/kevinburke/ssh_config v1.2.0 // indirect github.com/klauspost/compress v1.17.4 // indirect @@ -137,9 +137,9 @@ require ( gopkg.in/yaml.v3 v3.0.1 // indirect ) -replace github.com/jfrog/jfrog-cli-core/v2 => github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318065853-b785b7d7f693 +replace github.com/jfrog/jfrog-cli-core/v2 => github.com/jfrog/jfrog-cli-core/v2 v2.31.1-0.20240320104952-b5807fd0102d -replace github.com/jfrog/jfrog-client-go => github.com/eyaldelarea/jfrog-client-go v1.28.1-0.20240318065424-90669dbbcc54 +replace github.com/jfrog/jfrog-client-go => github.com/jfrog/jfrog-client-go v1.28.1-0.20240320102352-af2f392bb490 // replace github.com/jfrog/build-info-go => github.com/jfrog/build-info-go dev diff --git a/go.sum b/go.sum index fe95a401e..a36417b6c 100644 --- a/go.sum +++ b/go.sum @@ -78,10 +78,6 @@ github.com/dsnet/golib v0.0.0-20171103203638-1ea166775780/go.mod h1:Lj+Z9rebOhdf github.com/elazarl/goproxy v0.0.0-20230808193330-2592e75ae04a h1:mATvB/9r/3gvcejNsXKSkQ6lcIaNec2nyfOdlTBR2lU= github.com/emirpasic/gods v1.18.1 h1:FXtiHYKDGKCW2KzwZKx0iC0PQmdlorYgdFG9jPXJ1Bc= github.com/emirpasic/gods v1.18.1/go.mod h1:8tpGGwCnJ5H4r6BWwaV6OrWmMoPhUl5jm/FMNAnJvWQ= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318065853-b785b7d7f693 h1:GVLNIuuPEYw369c7qf5FhP2EKtwDotYNJdXiRU1lSYw= -github.com/eyaldelarea/jfrog-cli-core/v2 v2.0.0-20240318065853-b785b7d7f693/go.mod h1:mWr+fwcpgoNDTqBeYmXN0AU4FwC/a90MlzL0SoNrMC0= -github.com/eyaldelarea/jfrog-client-go v1.28.1-0.20240318065424-90669dbbcc54 h1:O9fazrwjgMoDAPTuVLk8+5QfKRbT2g/sUARHC59+eaY= -github.com/eyaldelarea/jfrog-client-go v1.28.1-0.20240318065424-90669dbbcc54/go.mod h1:NB8tYFgkWtn+wHsKC+aYC75aLnS6yW81d8JAFTBxsi0= github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk= github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/forPelevin/gomoji v1.1.8 h1:JElzDdt0TyiUlecy6PfITDL6eGvIaxqYH1V52zrd0qQ= @@ -129,8 +125,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99 h1:BQSFePA1RWJOlocH6Fxy8MmwDt+yVQYULKfN0RoTN8A= github.com/jbenet/go-context v0.0.0-20150711004518-d14ea06fba99/go.mod h1:1lJo3i6rXxKeerYnT8Nvf0QmHCRC1n8sfWVwXF2Frvo= -github.com/jedib0t/go-pretty/v6 v6.5.4 h1:gOGo0613MoqUcf0xCj+h/V3sHDaZasfv152G6/5l91s= -github.com/jedib0t/go-pretty/v6 v6.5.4/go.mod h1:5LQIxa52oJ/DlDSLv0HEkWOFMDGoWkJb9ss5KqPpJBg= +github.com/jedib0t/go-pretty/v6 v6.5.5 h1:PpIU8lOjxvVYGGKule0QxxJfNysUSbC9lggQU2cpZJc= +github.com/jedib0t/go-pretty/v6 v6.5.5/go.mod h1:5LQIxa52oJ/DlDSLv0HEkWOFMDGoWkJb9ss5KqPpJBg= github.com/jfrog/archiver/v3 v3.6.0 h1:OVZ50vudkIQmKMgA8mmFF9S0gA47lcag22N13iV3F1w= github.com/jfrog/archiver/v3 v3.6.0/go.mod h1:fCAof46C3rAXgZurS8kNRNdSVMKBbZs+bNNhPYxLldI= github.com/jfrog/build-info-go v1.9.24 h1:MjT+4bYecbNQ+dbLczg0lkE5DoLAhdyrF0cRXtnEJqI= @@ -139,8 +135,12 @@ github.com/jfrog/gofrog v1.6.3 h1:F7He0+75HcgCe6SGTSHLFCBDxiE2Ja0tekvvcktW6wc= github.com/jfrog/gofrog v1.6.3/go.mod h1:SZ1EPJUruxrVGndOzHd+LTiwWYKMlHqhKD+eu+v5Hqg= github.com/jfrog/jfrog-apps-config v1.0.1 h1:mtv6k7g8A8BVhlHGlSveapqf4mJfonwvXYLipdsOFMY= github.com/jfrog/jfrog-apps-config v1.0.1/go.mod h1:8AIIr1oY9JuH5dylz2S6f8Ym2MaadPLR6noCBO4C22w= +github.com/jfrog/jfrog-cli-core/v2 v2.31.1-0.20240320104952-b5807fd0102d h1:DEMgTYNfXlJbrTjBWOJo1twLGTztJJ26RFZhL6J1u/Q= +github.com/jfrog/jfrog-cli-core/v2 v2.31.1-0.20240320104952-b5807fd0102d/go.mod h1:XZP7fmNBBoieQTUE2p2mvA8h/CFO5z4PE7KW1s2cdNk= github.com/jfrog/jfrog-cli-security v1.0.4 h1:wJwvpaozhzvMCwJA/puU5jQCnjFPqMUeZAntndgYuB0= github.com/jfrog/jfrog-cli-security v1.0.4/go.mod h1:jtRSzr/E2s7LnwUzKX5w4vtJxHFHCKGmuo8qm8HSy2o= +github.com/jfrog/jfrog-client-go v1.28.1-0.20240320102352-af2f392bb490 h1:oGgwRJatirSNZyqO3e4FtHCe5W30VNgULCW/GYhHdao= +github.com/jfrog/jfrog-client-go v1.28.1-0.20240320102352-af2f392bb490/go.mod h1:8z6in1qalzL1DqchUCrDKVgz2gKoPRhJpzm2Ww+VWYI= github.com/jszwec/csvutil v1.10.0 h1:upMDUxhQKqZ5ZDCs/wy+8Kib8rZR8I8lOR34yJkdqhI= github.com/jszwec/csvutil v1.10.0/go.mod h1:/E4ONrmGkwmWsk9ae9jpXnv9QT8pLHEPcCirMFhxG9I= github.com/kevinburke/ssh_config v1.2.0 h1:x584FjTGwHzMwvHx18PXxbBVzfnxogHaAReU4gf13a4=