From ad57d7ec0549fcb5c0d0b8d8bca571669a9a7581 Mon Sep 17 00:00:00 2001 From: John Guo Date: Mon, 29 May 2023 16:49:41 +0800 Subject: [PATCH 1/2] template updates --- cmd/gf/internal/packed/template-mono.go | 2 +- cmd/gf/internal/packed/template-single.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/gf/internal/packed/template-mono.go b/cmd/gf/internal/packed/template-mono.go index 00fd3e47a25..dbed154a8d4 100644 --- a/cmd/gf/internal/packed/template-mono.go +++ b/cmd/gf/internal/packed/template-mono.go @@ -3,7 +3,7 @@ package packed import "github.com/gogf/gf/v2/os/gres" func init() { - if err := gres.Add("H4sIAAAAAAAC/+x9BVRW29b2BgGRVkolBASluxsB6ZASlJB46e5WCVFQUUBRQRCUkhaQBunuVLqRkJaGf5x7rx5eFXzL84/v+y5j3MvR4ZjPmnOtvfZa85l7Pspyx1AIAHQAHVgxs9YADvyQAicAR5CVraW+I4jJysbahoXZxMxR39HR3szAyRHkoK6GCiC5O+AZtavU1jXKsTQxMrc1yTTKsSjIK+U4rR9HAYD9fWW54+gdymz8pAAAEAEAcDjc6V/CmZlY29iDvkNx1maeLGfFQm3dCw65dM0Hmx2Yqiw/GcD0kqZii4B0/rXh52T3OkxHLquKeGVP0vGOKPsLtfHcO/LJBGj+RjOmZa9cIjX87aZvWJJ0WJUumKm2BuH0yurVTYOmxak2cekGNkm+DRo7iR3LGAAAryMHTfTToBX0LUDGZpZ/D9lSeciCgO20Z8kOYcV7UqJiCa8i37ekvUSVhFXHkyRHJxtwXyg8bMq96r+3FDKQFvjViv35SMRzfO24cv7La5s3OPF5fYUozePLe0sLkadI4x6dY+5b13s/bYCng4X/aGz85ChKUF/HWJTk1nHrqhknyuo7zhv0Gi5po0TN5Rzn6jXoiHuDh0DhHhPvsuq1uJSpdRIT+aLZN5mrUh7Yf+37HDpKdzkPS1ZKO3s+IWu/jufceriJZvpsU/P6x+HPwe6Oxm/sifR1USKicedaX3vfvea4kFTorziZO7dUgls6yrKjZGiSyTdKWt96JY7tcpGgXumHXSGfqjWuFx1XsbnvtQra2DpkJY/Fm2tfmeJ4EbSjsb7SH0MB0j312O1OufsN0jv9J58/Il2tdTtpisMnQxdBV/O2J1eNQ4mFxLkU+dtUZG5ruwsjAQAB8lFTQfzTVKhIikkoSDIrSHyfCxUN2xYXBtlGBXV0mSamWhlGGXXbBhaVxaaWBlxZptop5O9r1nK+JOwCAAAUB6Yf+Anz5E+Y+ra239H+snPwXx9uh/xXdlj0bc2Yvv3tb43+HJCLvzX682LFWF7HveeyhKWirKycoa7cRtss3VR3hZZWqW182WHVCRvH1tEZVY4u7k08zdPJMFq7/Dy0jQ2pat83YqP3UJ8X0CTlo/Ldo0mS1Wbeax5ME+OlzmdfCXGQVVUhXF1dXVtd5TgVmrUWuuLgsLKyap+FhPQt3IMUndccAQAIPNIj2t979POchz0SC+pjxfNf2CTEdbe251nFcy6kbH0XMzAY96T6obmM4eWxkNUeYj67UyEq03XVK4PrTRvHuHeouE86l4vU0Q3SYrfRj/ijzg4QDcl4o0oFVUVumHuYi1ML2slyb7ffWDp54WPUsAEr9vv8xAcnGTfYNjBU73w5Qai9Ouq59c6fvWYiboEpAo2knjqnm+1t0ivQ7c1Irmm7tSJvHaHSs5pTmp61A/IukX2tDwy4bKMCTf3xGwcLBl9NTMukpdnzN3L2atGh4OdjWjerm/IsnHwXkt09YEnwjr2x0fVWgJFAeZ/7ymdb3mdoQ9VYYx/XqF3Pia/GY8TnOnx1fyjDHfA0ME0R1SFAB8fw436EVVap59vPJNfJFG7tt7qfpTq38GRXM0x1QwGXWL0m38Gduv5aze6GYohMknxpNMrLRd4dr6Aks6c3vz+HRZgqQpeRAOAN8lFrmer3k6RvawbDQ0ILkWEWU5ClpQ0M5hmgMM/izAbDA8kJHcK//4PZ5G9nLJsyFcXZsPxH8r0xGvAZH9xoxM/IyMjs0ia9SHWB0u6txl0XqQJpebIW2730la9l9K7eAG13n22R7zGzpaLBh9ezXimothI0B1Nic5+QtcUd7mHeoNLj9UppWiLBcfckMhF0+kpKZ5SUc5J/9v7qKo+8YO66NL0ib/iZYIs3Pe9Zn7CRrePaszj6RN80GhRNeSZhn+9aa/1EmdmyWPbN59eeM+Qb2N/WitfktF4CAACDR8b8/O8jYqpvaAFDrFkgs8xiaGNtbGbC7KZvZfkdhaC6DKOCAgtoLdQ7Oe1EK64Zw+rcm5QR/Yjb6TbnSeyHu15LX/tRFlow4ut5lEdEHn14SKbVcM/gVnvSWywPnrKelGwavxQphYvuqXxhYZn+ihsky2YcKm7Y6dscwpOu0a8baqqz8xi+RarW9KKJOQAAtkdGCoLN3MzaEWRvrW/5Z9b+N+sshlZGMMwHO3QIf/3v4Mp3VC4zH2DFE5TTy5w2Ol7jQ46dT936NURZ9/Nxy/mcqMTsUwybNMqDpcQN6ZwBk9TOzpwcAmem9KbRJ/NM5w0VVWI66hvvMRSrv85hb+5Z+eoQqZrNnN9V0KUr/FGdNcRpUhxZNeeLtsXes5BAJwftvVkVuslbT74YjhqxmQR9HNqXTJ2SLT89F6Wmgk79VZ6S+rVHKgvt9pmW6TPkN9ZPR6vcr22wSe3EvPwCkJdoMW6V3aWdNnU/LhiY4ISsSi/rv4tOS00c8n63aEmwrGCpv2kN21rngVKNgOhlOmrbHs/SnJiAhxK3JEJWMwKUUeOP246tx/etYZ8tlf5kb5JyBscrt8W2x51UySyZ+oF9h7KViPA26MRq4KWBsp3jnpK6yHX3ZBW1E2+uz7attOdo5UxWE7vPb8VQPnAp9ue38hzHfxvBmoF7LWn2VZf6+pYS8G3hfT2fGauMBADiR27nzNBMnI21g6MDDKuDF2qQ//w6uEbopeWbFeWV1KWbWxiY6Sb/Pst9IMZqJAQAAPfIZ4AdujE42ttYWoLsYXjYeGECgvC99nNsxeCA+8UrKLhMEZkN705Lo+p9D9bryH3DDI9OK5EX2aY5vbe0FAA5E7H5ufBIctsvtnLuR6fvGgeuRDPjfaG7jHZaRf+KpX6ba7PsRSuASOG0o0ixS1QoNqk7ibuH57viPAnuHTnauFMv2/ntjGdlM9OwZvNTy3SffM0z+wBMu1D222uMnJaxVXteFMUC7IYJlbRftbB1Ox6pT/km1Mhzx6KF+Jle9h45z4aKVWoP/iDR7PvSdQx/nDxB6wIe/tOW/tXXz16VplrLeEaPRfjctNNkJLtLdbdZLcOWPKmv7hWBQ5+2Tp7hvXO4D54f98fc+b52XJYHDOYAALBGQtT+aaRv82fODgcR/nV3tgCB/r6MfD9q/2UN9beLlAkKPEsbEzNDGHzihhbjH/XKysYIZPmHvfoXBtxesUKNaATLEuSDAQZu3zihBgVZO5o5usHgnxCMUHD7CM0r1lbf0AJk9Idfsf8G+c+vX71igbYkOu1b308SK2jmXfi/fcGyQDECB5C9s5kh6A/7+R8UKCfwZ8wLv8e00jezPhjJ+w/FMMpZ8SR7Xqr6pYVIcgwLOY6gGsl3nJ6Tv/QykWJQhz6v3b+vZar4Kl0knWRFGCqFA1PQWcyBslW62SQyL9r7SW9OcNm/lBn7IImhkirNhRtNmGWq7Wes/dhuDqmAReLFYkGZfRnB6t7KUjr1Yq/vsWcv/FyKnCaRdIbbbOiChngykysXRpv4jyu5on5zVswVT+YRAAAz8N5ErPStzYxBDo4wHI6YIbf+n7sbDGuEH2qQX94TOe9fwUBmw5LYdwikPN7qLas4QoiMPSvb+/TN9XQWQpcSY9dGuSAzShTTVP3nPoRPpej8T5gO4Mxvq9bIfXCZ355/Oa9JK1JgRUS8pXRh+X19SIGCA7rmwM3wK318KOcVz1NtoX2bGb0knIfGAADcRFjsjEC2ljZuf+b0+gMIi4WTg6ONlZk7CAY4ITjgWAz0HWDZQhTgxfzP31qBrB3BV4xjcLFiDStW5bpgVbGof4GxuIHRdKW1CiZjJG4VWmeuFFLgtc59hSvN6x1kXG6j1ipyKDnGLuccXEPfXRa07SgAMZOzC6SOExxTpnVAWTcPdbCWbUZSdjfOGTG8sXdOc4yzsVmB5rFkIxKrhqLuthJjaEJPzbGpEJS5lqHOmE+PogAevA+6prRdo9T+25TcXgsSEhfobpbeMnLPf3bzXbhLV9zbN0yjuiJmWXgl35N+tooRyekAAJggHRUyZbhD9u2P+o5mNtbgUWOsz8QuZ8VDbd2LX0Rmkw0oQhYqthOebljSGXeg8v9MJ735JpxHuO1lPF3nQACX98mgzxHRmgvkZrmG3vrjWvROMiN2qYKm9GTWHiyL1KqaGanO3NN3TayT5cvacIl26KhKv7/IqtDrqv96zmyOXB+ycDv7nxcPuJvaD9gwkMWwJLcjqYg1WxXb3W+jVgk3ehvZmpxi129hEXhwY31joUI1naUysds/mMHLfMjv3N3XRMriM/FJlxp1SPxOcj+VWNHB5ySdcLR+POYHil2cv9TYSP5Uw5LYe7An/001Sf6e4jEB2Wu1nTN7Q69svrv90jTykTMAALFHPopi8Lht4wyyt9R3c4BhC5BBBC6LEcgZZGljC8N2oIlI/P+8SKz0bcEn3zJYQa5CFO/OwiahuH9sQHV8mwZaoA/5rEKRUlZohuPXigGZmOHg8Go1bNfIdV8X8sCvL1Xfl50nTR69USzmilOSM8BQVZ4ZQknDCAjyXR4mWL70UZJyQpKDmqxqNGRLox6fT2yDEQDShv3Dvoa5OW5LmPuyHO+5T45DfMsvbcwxH/ALZkRnPf/4Y/CLLj/dk5xrgoF3rs9I7nOmikQGfQkTQVFFD+x6W1KoZ0M+qfSpctY8hy584l1KRlr4bERfmldYq6VLDOVzKdnnQylj825jLh8XSxaqR07a8BTtnOsnMBZFinwlL/r3rsKyK+w2CwDAwyN3lRsIjfzfmzLTX88fyP6Hx6+J7W2FKBZKq7cSGzFr9NDb5jPtmB7oVE81XP0pc3FxLAMTT9ncuNzxRfDOGp7p5IbAfl+HAX7/M4+bfK9fZDl2qJiJJqp+eB0cN51vkflg3B2En3bumfvAp9edPjXPkBmjmdG1mUowns2OuVzijur3KDn2LRbupS/onQAASD9yFWojNBZH7baNCuZ+onhSS14vY1lu3CtsvYquhfqOpa80vnXvVTKpraII1tjeehTnrjhPKs2dXc50rehhtYa3JAt61ddqajgrQLE6Dacq1lMrc4hicZJNlDKkxW+QP6/RwuL0a6GWG5NbFuus7BCZ6ynk5VYQmSYZ7PJx7mR4vcEUZKQZ6neaKMWeXFFiFeNbcHbiancCAQBIRtzJx8bQAoK8HUz33x9AWCT+9QuMYbXHXF5Xr61TkqfrVmqkq22Uy2HvzhoeVYlnHlbRoAAEd33ESb08ScUFd3cTrQXCk/WeXcq7+Sg3yATvTtPWPVRU7YfMzBiSSVWbcZJ1SdMYaq/418rerq7KqThgrjqwr8gyjOI7qDbKrzrgc6zgvRUVTHulLOI/fr9/hwB1HoOT7u32wxu99LS0KAG8aP7KA8aaj8oFayfmMDEoMnj+pmNjrYMnYwAA0EKG86r1Y0D+/YvZwfQAJd+pVN/YoSTL2Dw8qqKBXlfLqPFv1rmWUUM6VVqBmUlG4Yq0rEIDi6y6dJ1SsyKTijR9U6NM2xjyMdHvr7DHWSpL4gAAiMJ7d7EHOdg42RvCclZlhNw6ixkbrzUMa5ALSoh/IjfxHdDWycASgkTgzyAcUIOwmDpawZKcE4QNCe4wckGPa2vpZGIGyxoRhhULbi95oEeG43ETgB2NxdABFppKAj5EuOMrBAe+mZW+CSyX4cvwYsLtNT8cIzCHZZrF4QL8J9L53+HgKA/jgwEGbt9+XehmbmOA+EK3g0YRWuimtSkDe6GbXvYEIayFbmAe/arQrcychA3vzoJ34Dn3NC+9acrKBzJmMrSfvYzMnFPT3mhdzqr63EFs9U5RWjbm4ommnSGe17i8tQ8KGvOubtYNLn5wk20+zRPb6/DUh8W+37J7i4fH/hz+2DV7Z5pOnIjgV3OX7yg95u9/as5Mc3e0huBsPYqzAadlTtDS1iyTPLUVy+awHz9pXsb7XgrT+EBdgtV8zeyagb0Z69zS87wLkuKMFbLrKlu8jTOMslo+0+rs0+M70tM0qN3EV0G7hEKqAR4JT8Rk7kz3lKCRdfMZsHUPbl7FrzJAvnZmYZit8PaSrdOGo3B0UsV6/i2fjceENXzxogoZ/VEeet0xc7Jz+Z++0InaZPSZpSXczNI5EZ7QvVvfLYs5LJJ9O4E62ObJmLaC/U7TArf5w6nGjsf5mgzBK49zMux0SqIJfesFd70CaWT6RL5P0vpo0qfLSAAQiwx98RLYJCG0eOkny//Di5fA/EF48dIvrSO0eOlQhB+Ll/wetwV1suJVR4eWGjSqeoSheGrnHV+QIFCrrDJhiYj/6NrUyC7Tcuzjvk7I0xVe7bhH7Z95VrZL6uoKPEgE8zhlz3TcyxO96G/vVyVCROMfm/KGgL7SXhvn0xX22+VG5UbkuhH3rJYvJAYh11/I49yT+uC3rxH5LDKkOAz3aXKZEjeVtjhZqg0dTdAYC12lScQOjigNyRVslbs2H9FKPTTyRqYTyBK1GYkThw1wF31x5hcKUQdw4lF1purPW15vzZ31uBU6MXcm7ey63PZ0zErj8PN7HokXJFrP0TkW793C7+I71q+uHCc6Nrim/tUrUYcJFX+GZywvsItQUMg8b9rYV6htcKvilO6oq9j90xrD+S/tzHuv9tyyGzTOYME0TOXREbp/O124UltQXJgZ9CYaXSpobE4rN2xN8e2sF9ZCz5Z3h1OTw0Mk2lkvLNOpcOv9gojU3fzrhsPGF1xwHXJUskT5tkQe2kek5ebwKPSc7ZFWubtCUaX1ddnl+82QQOSBhDsSAMzCUOZ0yBQjtszpKBDElzlB87QgslTlUIQ/VNTxazzElqocgfGPeoXYUpUjMP7Q2fYoRASWqhwN84dKVY4CRXCpyu+h/lA66NfACC5VOQrknylV+fUIEF2qciTKHypVAcOErFTlRTzbp+cnuNTFigrVbOMwc6NbPNKVeVUD79Bhik7GOnARvfA1U02riVsXOxMaf9JinP3KA7JkWhU61/aS7ZRncdVapuWEZwKIXm1eenMynaQTM155QeTcviwyLhPvLbvHiw9zmwVfnRDcYAItbUvO0S8VumY1l+HrfveW7T4yxWMYa1V+8BbBtSq/tI7oWpWjQH55LaivU1JSYno3qqJcK8Mk13QlQ0VZtrHuyqiKMi2zTB0LU6YKLR29Aur3w0SOsX0+47/WC6IigOCKk6NA/kDFCWRwiK04gQLzvxUn0Ifsf3zFCTTO/i+qOIHQbYRXnECJi/CKExjx/1txAnfFCayR/99YcQJrLP5PVJwcEhzEVpwcBfJ/suLkyID8f644+TXh5eBsiHjC66BRhBJeVaA62AmvtNa0GVgJLzCPftnZwaKfFc9/YZuBfLV/oDAmgNPsqajcpYhBrsfVul0h1ferQR16euMPeCjp/CMtBRe8hu6L3GDpkX1ul7AcVDwStRJWe7ondkPee/zUou+ay2rRx5QkG077c/hjKvbxp8wDmqTy5M9XJEzz94eZh52SWHLAwDZFFmA9W/Tpo8fmGtqFkPdT3hR2ZF+1Na9b4XGqSrJgrMdpZtcMdFXNf5npvl1EjJ2JxTAg93mMlUEr7B1BW7JR3rHNtphwAs1onTXHZ7O2UtfOMNfh7b6waNUfOE9kOF9X2ktLhJ/3ZAmNnAP7/nbQbsLY0jS/ZzSmNp7Iu1H9h3R5FzQHo961TOXJ03zVtnKhz7vaO8/ZU7H/Ua18U1WuNCOnDdk1gHsxbHwpxz4yWebhzY0myaalTj4hdmKLMTvvG0yW2uFDLYFioKi94qp2x77S7/N0rNnfSwYJABJhaO4ANk+wNXe4CJFhFpChKSy9Heghtw5bawd2qAD+9ftgikX7YaZiJSse6uwGg8b1237NPu3YqLGvXuWrOWpFNlUj1wh7kNVd2hHA4Lw4k/Cc5/nO8RMV3jbyd/kI/Uk4XqHo9G3XJZjS1BmAMrd9dTAk3/tMdp+ef67/xnsSU42picHzuZhiegoKK6i9KwZUeuF60nlaGaeNuR6U8+FCrpfvpli8IMNguGTFpvIZZ0jFV3YXR3f4gx17heqnMB6hh+UXWOdxMPWu0QqebxwckSYz5/fUD5WKbFx30i+m30nnn+aYasHZs9n0/7tPCI10Y3k9AADESNDTp2AhQyh9+pPl/+H0KZg/CKdPf2kdofTpoQjQ9H6YyIlKzPlV74cBllUU5uZrAc9C1aaz2Znt4nLNszWqA9wHvR8yS86G6qXozU2E6qCc17IRpmZVn23JmQymS9JcGN3RC5dlS9f8LHxBkcjh/cTol/1Yblsafe35KLX2ghBN+ykjx/Q1VFDp6JljFcfmiMZUA0+67aU+cS+Txr9173Qv1rWkc6hCCgu3pE5ky9+QlUzKGAL8xy+1v4/mccZnJCls7uLJU+cSJlsAzsQ9+qCzstt9h5z/FNIpmfYK8kuEz8g/BA9FWPfwmO5QmTW8zDTmXd0VrtBJthOMSw3hrFcQz9ndIJ10i7tKMIMzKTLMsFwUEpk4Xum/5VJKfqxFJ6JLt3/jUrqOCOertrRc+YQHwa6XnPDRcJI1ZvhNnbqK9/C/rTsBusuaSkgAIAYDJ3rIvCGWEz0K5Pec6ChyB8ZZ7ciHqKhRdBjvMU5UgSS/H2BOaL84QAeMCdy8zPWvJQp9a4hDxwh7awgemIAgeyv+HHoR2NF+eoPJPyy19hXFCjDZISASr5L0U+1O+yjAqWSbQ+qDMRXExom+9IXQao9V8+nNrZ2PdK0uiWeeMyO3Osp0ZtxivHivmqcB6V2R9Ry7pzr1y/Q4YY8x5pwy1yEZgnMqy7vS21Iz4uY7MytjlMeP31A1EJTlfPIeVDXoSBFBfGsF74TIRoJtXh/AYVTPbVqZe5WfZbGX1jRIQNA/iaJwZHdqZmNITq1k1FpQLYHVa7lLP6a/1KdEQkNHrtMqWPj2ZgvBvBeX+ro+HRs3E+Pi9/Z/LpxdOI0AAAgiIWrvRCSZfijCH6Kdf42HWDL9CIx/1CvEkulHYPwhMv0oRASS6UfD/CEy/ShQBJPpv4f6Q2T6r4ERTKYfBfLPkOm/HgGiyfQjUf4QmQ6GCRmZHhnP1vvcjzvVx9UlaViW2Fokel2XskQF6zItnWhISII5I+fFjmo1loaPDkT3+XA0fcMem09TW1ymR516UtgSKGPxLOxy/6MYG6QXLBKktgP6UWz2xfueOwz6n6/bAhWxO/8i0/U/70aFbI3FOoduiOdpTQ2fSP8+j2VKeBmwkuk/eItgMv2X1hFNph8Fcmjjh3JWPIl9h0B93FcbJusEuvqU4qmMCr0Ks2s0sStcFYa67Ip3iD6YYxvTG0ss5IIeI2c3D2x9zVhSq+3acnYD9V2sz01lGAv2VpVd4m4I41fiJzD4MtSQOH868OTxvwuRs8dK0kEAAHggLHQIZuGPAvkDLDxkcIhl4aHA/C8LD33I/sez8NA4+7+IhYfQbYSz8FDiIpyFhxH/vyw83Cw8rJH/38jCwxqL/xMs/CHBQSwLfxTI/0kW/siA/H9m4VmhGLGtvY2jjYGTMcI+HD4ahoX5rxsok5kxkzXIEOTgoG/vBms+gQEKeAc7yz+TjTyIwOLk8NekH4C635opWyFKWrNUrLQ09OKWr48PBVna56SycaoldscZsrokMfcT4UHNzO1NkimtVTIDc3hM0yvUbbmPzma003XYbHkGRE8YSrApd7qwZgjiB95uQ7phV0nx9FPvJ07KcC3PC5Iola9FkWuQCJRtjPAbapgvEDC27A5Ye62rKBB9fVWYaflGsKFdwgwtXNt/SvtMn8Ak/bv4ksCEZefMkKv3Aj/VLa/FexdZv7lfgVlXE/syhXxwZsrtvDhNHtH5tDMS2phkwahYi8IYkU7XFY0npqS4vPajiB40dSTGpRpLOonsmwR79Unu4T1cxLs/MW9cgyKPY+nj8T6s7tX+1Xc4j2/6mLH0JBR6vIz+vnr52ZYpMZEAoBAJzos3wruW/NI6YruWHA4Bd2KG4CdAExtmK5u/82f1TUp0TTLq0i2MdbQK7XLNLV1KLUpKHSz/UYXpampqaZgalW25ytrJwTkxSi/LxNjEWK4WHRWvZ/xG2fiNSYpJLSr6t0GlNpQlyAIAoAb9oBycrL4PKvuZTPjb3vCvUwsJtfkNw5HHjvMuXON6dBllTlQMdHlonWImIR1UKZJ8v7bR4/WXeoF7tqseUcUfySo/P7o/GKEXHsbq3GV7eps67k4B415eOc8G2p708H6LR76H9DuMFaNw+u2855efFMa0Fl4Z+9ir2K9gQU+Vaxu/17O/Tfc4cDb3HU7UjSXnksQ+xfHrXE+SQbmF95gTBjIztAmn6t8pj8WVCA4WRyydmCOOuq5uRqg6wfQ6bTqYwb3CZuNeSrBg0bWYyLNoNJsMC3Z5uMaEC1q7is5Za1jo+K6knDwXll0esRiHWrmbKz2SMc4X6UORo3rXGcf9Wr7bPDRNyjmR9nWUjnjnTarjX7hWx/wCZ92G/DrkdMnqGi2PGcTJS/DLYpfIbn60riczrJHGXNGv1HF6P8zvtThEUaLZlYd5c0nJNOKCl/YnLnXdzwZshGrRC+/lC3RBAbovN10lb6JJfXl0IUyP2GkdJ07Ec3l2oCpgC1TKsrBl3L9858GbVLdP7rMvdAQodNZ3Uhg1nkV53/Fge55OnDQpRB7w8vzH6xPMXCNf4tn6A/WvjwhWaeoEDILy+yU3Tcz1usTPDuxP1YQ+GHp2kYNDqOrqRedgbn0SeUNsjQx9Lo/51MzsdmJ3uySfGuN3ZGvXG4kLBa7faBmwXtOUn1I4b5NnV+qxod9+jfvdtXmNT1PsuG9PuXdfdNRuCeL/kjgVfZGwOIbYnOh0udfCg13dYqqZK0Qjt9GfGwfgRGBaF6WDkm2EtsXKqpQSV/ED3phnJKhb9zSpE1mtKKcs7SmHKj/fDNI+JSWiFzzo3J0zbJJ3s81IBOXmnb1B6YAOK/Xcmg0/nER1zwxhZrXG9gJflq0q+YerxkkCJCwOY9EjuvJPI14U4JTjHCdmkZfPx1mY+9i+oOZ6ukGeID2m85lObW/Bjv9ZKTXS3YSJzzwbfg+aKMz5K6y0dm8oSsVcY7424pjEzJwjgJl/zFny3fnYZrfqYH0WtIBBhoA6PYJapR25AZW2qMjW9nvArKJ8fShHk9qgvnpoA7ExGfEIh3up5V6eD89OdbELzZv2SAWSOl6Kq0v+0gOjN2hOcDLID+jnBWC+JsMlbjOeiV7WtdTgSCeRp6iu/uqYfWxOs2GS9u4OiE7a4qUsbbodV1TInYEeQWezK3mdBO5e81Mji22XFo4ZlUaHkYJwFXHWFYo/qXBkLkY+FpmzMbt+H0+hOSp2W1Vrc8igpLf4medtN+WBgNY85k7D+6cCIuf9llij6ogm0IIYfdqMn3hm9nVtZo2ExjBO7rbGNXnajnmT97SE3QpmB9rYtBQtFirnkzzDyf3JWxt0BXor+19hg5QjdGjO8nip+u6T7NAAjqc/pjFLyottF3FwfzF78IUcc9OfbjFJJyvM6NS7G8e+rKQwD/CuzdYrCLz9PHNh7g7nXPTmyFDvReKEwTr9DszerQoNvi7BXGfMpEdk3UbDmWuCdUyh0jH3pXatvgTNC1hZXF3yvv64rcS8JjSFcXwtxLmj4WtJz7Eip+kt1peFNJglwwEx7iwlU9dsi6k841FKHl/Mtonbcv7qY5s5KHPsEVHMhU/YTTxCdjO9j4mnLOe07DPNZj1aiSvOFyY0B7AOmkiJFDEZc3nkZDMnppxkrYu3vsT+0fiTaUD3vofzp8IK2/2WY54vBUvClwXUZccYXlRHlAyNWehvofUzkaZLxjZOrw+mP4/r2vGdVRpfF3LOrfH3WNDSJxxoZ3T+Gmx2WaDq7sLlFAYPCZqSkVTBL4sgjZ1jy1WMCbQzXbKp1wZ7nd2CaONlZ7v4xqTNU1Y/XNJOy5RJp/Xb9LDn0RgJQxNfRrp503o2BI+0TccR88UtIfL6NqKr76XO1PXenxptXypOVLlM0bIXc7rkkh5WOoBtc+2zTKdMWGfqcm0aGl/aMoqjh1dO5BPa9zgD0+oRLQzFzOWejbP06UkjWidVw3H018tulhKsS9u5XYt9TufP1dariiznYHksXluF5+1d/2O5E0RRYX5762Xp66Ml+mvl/SaDVk8jNzysV21jmcocAu/rPHg7eb1euI5Ye2/zDDdow7Zw+PlTigexVGtRA8eFL9CdPxFK7Ztqz2OuP5H6oMGbX3P7Wn+kPGMtLlcClSbvYHmvJ+6WAW/XVdLwnoZxe4GZjKUm+p4Vbv5uu4Uq7TnLecyOiPaqGOHwyyKOI8MXydQ9Ps6/XtLNTAZ5Uz5SD8+yxnhjmlVrZc0jb8jQG6w4SRiq/jT3I/UQ9/KQYUDG/gr1mPAku/BZ/gsXGTuutsbc0GYWtFbK+HDBPq+woavecVPBmc/yYfgChV7ju4an6QpDlY49AyeAYIVkUPzzwYLP8rMm5VT0MYqq3H7RNqHbz4Qx89FlcxuiNSdVceqTTi3bxgVMS/At32jkNU0oqEqnpHc7Tbj6hfNeK53nnttst40Tvoa4ph+I13E9Nzt+hpJRuN+7iO+Vgdi5YyJISeMu95yfdl6ibtSKcsvlD5Cjany25ksf5r2iOhikwIiiUXzl3Ab1+jA/0BbCUzEyTI7LIJaRwJxE3p8yQ+25fVvhLe4ycXJjmiDWg/S+wmn6eQO74RRmnbnjxcwXuPK5uvSTVVy80FAXmSZnpUXqC8fG378VIn+i1mdvhmHWZcEraDZRFXLpheG1bpcLDVtI7tPaIp5sRa/5ch46aNZuVgsGhArxKuM9dPbnyh95olj45cRytobRrI2KHqNU8JoYhbpF7OJO3nwLebuiRNfEx7LSaGKsm6UNjXYeqVfnCyfKU0dzC4KSSCZc1o03WnaBSXRRZNMP51H4alu8Kjkc0W+I9vc0ERj19YYLSN8DWCoF73zml+XCbMDGxGa4qujZh+KV7vNxVZULncIPxeBsixvzotsppLtLFpbrnLrXxj+lkYerTaYuvw0oiWi4RqSWcL+Z/c6j2GtbbtRv9TqjbjG4GgqTrQqxbmExV972274jy71uLC6Fis+XShedTZcnbR/xLGlMM4glb8aNtmT8HhJW7EnsJcHVjCmP05drvbzKztTKnqHyzukbtHWVGFC2YyIhv65elP1U57OQEPU1BRKFk/sSgZIA0i2AJ0HoQwYrlhd5aVrWcSKFbVfBp5gPJvLGDIs1Us4svtvFSVmxy1U8g8Hg6zyTtCelgo5MfqP2PMqz/NkC1kXNhxsUro+puh48xaLB+Vp08fQpa5uzjewGZOfEPxFbXBZBF2Jr66oOPycnht62IqLQonWqvdLhGPPi0NCEhPqYpo2yVyhOOP3TMfGmyYyui7EWIwokTTmyBNZdwzJ7NA9u0kTu6W5GYyK3AWyCKCsJ9NgUYsKTetmNfRdwLlpa5NacNqDveMhOXpFSN2dArPL5NT7vq66TAf1NuDl4KOhIoud9RkhbGXEfB1yK+rpPk7qnqoluUEtR/sgNEEQv/uDkNej1mJ90vcjxyRdhwsTesWDez6GULTgcz8VqZgZtJC3OGXm/pb6pMGJCh0aFYoY+zTfCe9aOExvdjakExTor9FxIVr4GVr6Ineprmyp5yvYMpspy8nCLjyfepF68mbqipIIOoGsthlE7BI+x6uNRkvt6BxFc4hwHMMsEP1DOtlMu3ybZw0la18LAw813q+Qgl5IeD2DcJ3kz7JGzclfKFOd05fAHFySs/iEaVLed/pO3/MgrAgQfIn/Jlc7kBIDzZxvFJKiIM60rHdK91BdW3twmSZXLq8cgubLoIMhAHGwqld18nbPPao78mKRKsF7A1lU6cjw/PN/nbh+yIhtaHytNL/JIxwSX+NxFcniBow3oV9p9KbzMZRTxtqbDS0nyOhHubQo2tvSRe+lAZZaaukc79ke+0lt67RtXy8+Up+1oT971b3l5d1Ib71T0rUcoZbNl86B+ylNNYo8UGRrOe9HEBSlrW0+I8Zg70ttopkg1NxW92wvqnvfy9dx7W2TFU2Q5z1irppXWdqWQr+lstM7xrrA3YS+4OsyHv6zbfTqzX+ux23z75acELIfW+Y4KaWffDDdyXpUsow5rKXK/UhlvzfXXIXscwdG+ucFkx1l9Fl6iuwUbi447WK+WSD1Zq7SS9z7JRPAmLFDv01Lz9S8aUw3F956kqLw9q6/6gn5r1mjvfaOc8rL97P2EZPv8pHiaaBN+myej9gVhit1bOl2X5u47n+TNX8l5eqeAWZcHCRd9HM8HJZYP6XHDcq0U8/YnUsJcwpoPxImy3v2Wcdoe7Z99IqYdtXN9WKgG9LO2Jwr060uNFoNOuykq+J0mH+Oj8kTxxF0W9CRcMZauLhsNiUzI4sB+UnEtSEP5pAjmY70Q91oxW4zmZP+dcPstVSzvLdICjU9N9Drs9haWVy900u+/yZZi7P2S75mXtSL/KKzgGWph39VhprmCgu0i7vypnIeUlxzCF3lfnfmQ/yU5UnbkuNxGCVVBwznxposkxclMDOaoZWRKz9vSuLL7pCb0CnZsxgeVnNHYWwRqKh7pD1AMn9jvG4967Q/IZzmMoj6e9WcMPrO1XksJuH4QjboNNNtN459ayiaRXBg6PnrWnZ/mSnl75uP67bcnP6QyC3AoKwW8Rj7/eTrh/ifm3fSrn9edvIVSLgQPtQcuh7a2DKUt0vgzStwKEHxzMuo8HgUpFTnr8K5Dl9DJ+Q1mdi4sqzZJX1XbESTHLF+1LL+v2eU4gZfOjCsP7byolRM1aIqPSmUi7ypXX3k/ErrES/iCkh94p0V2pSQXNIdfIqh7rKAQtOQct5/Xvh8hsOVGTXVrJFLiLkg83K8/gSmVY0xoijySon7b2WjieS17+DSGl2/DOe0E/p5O+lwOvqc8ImE+ADLOKQm8Fxx+VVjOWmdtB7fbynJVhPKWvTuJaqxVo4AswoRnhVTjaRp3o+OryVIlLhZuhXN6c0Xu43y7dDY9YXtFjwMAXueOut2f+unSCWNRNekvDbEY2lhZ2VgzW/1tMlLdyqaPG2/PcjfQdyan+2zgdTYsX1+jNYOWE92SYiE4tDNUrypD5Z+dQn3sPEOzuVBxxZlAoIG78Rw1+UJ+7lRzwuePa03nQhuSs8Z3EkUyHDrPYkyIxjadfULFekF9rPvDs9ZcA6vbbBcx3O9xWtk6reKzamCEN400zfTx2OIS0RRlRi49K/W4ICW2iNFMP+vXvWPI5C9ui9ZPKoYZ0F1WF8BhWz3Ne5dFMXRFSbw2G4M99Y7YQrHkcSxcfaJVa0z+i8rjrC5p78WbMScmGzib5eswVceLat18z/pLNlxf0H7RJ0tC6fZ4SLDbAkgmlA8dp3f35isQ5HswvGYR+LxJ7vzI/FWMT4OVRbViOWvAdRvriFPSJ5UzLzo0ElHQb6Jv92GMPeB2tR9Mzqu9nTp8Oq+SMP3ptYrCsZ6hil2hRFLhm3cyhvb5UDQo/Yb8FycaKNuulTEC02usESToCZNXr8S2iGol3u+74L8MpOA/8C1gOxOrpo5k8LmRiCKSXZ20JkYp7mogqson3fquGBanQELuzrak29pm2Y8i0Kpf+wXjCydF2s+mGdPJU/h/ZCpZL6mN+VBvobfq6t8kC+rdfDcvmeFWOuwQhKFbxiIXR5OoQuAKnLKw6k4dJ8khiotPanyq4PvEt4q9qtHsLHrXs7dvBMrdTpl38NbPaHCG3M+u87ujYuSgLqTwuBZ7xyE9dTAId/CelexLeTGcwsq4OqLe7Ms66Cxoe/k1ojdvMcSMTLpzovL67IlOtJYWkiucwxleaj0nqIV2hWDXhKN9YZhFWPels2sIeq4QXsi1d3Q+XR9U0J8DV+rP3QSMxZLNN58Q4DScPT1454M26m4ZL9+mlb2bg/CW1ynsbReCjRiy4qmiDZw2lPDyJHnT4jvuZlOdsdgpZZ/mMonxqacfdr5NExElJM0swObbO2e4YrRT7NRacqdQu1Qip5LQXFXqSgaPGGaS4OPdMlCI9tD9Fubziv1LVe38qm9Flh69D+9HCotVyR+6JxyA09CEQcLU/dSGLgq1WIrpTdTM2E10Inz81CsNwK1Ei2K0p/vJhHPPuvYqyhPXO1eTg9rqqD/ZSnku790QzN945Glu4sOLvmAck8oW4V9RqCVNabqWq3JPUXpEgsHscez7ea33z7TyBvb3Gla/kpA0lR/f8t9bcKE8KxeRaX2f4zP7ECPNjHdbGn07UQSoy6lQ0ZffS5+p63NzfJ+DwvZDFUV/SVuqAYcg72S0voogSu68v2WV9fQ9keKOAcDC8aM2EMKfnnsnRzNL2CrtyA+zBXcpHfaPlo8YHRIywbG/x3dQnPyvPe7bz5vbf/0/RPrnP5o8KB1+GsykzS9N/qBx/qO5g/LXRGDmqJGA36mP/2jsoK41MZixdGTgt/rZf1v7tRb2v3/wgHmx88eAI5WxD7dDDmbH4ld2DlPGBnf1oKb0RTBXP/zW6O8DeVAMmRbMeggKAL1K9VERoQKLCA8aAJ2+8uGGacEMP4LI8E86lIebZwAzvwCFefCP8MADf1BZmBMs8FeOA/DpKx/lzHkwZwzRASiFi8GdOPjhFwuYE8WQWf5lXeJR478INv4HJwAY5IQhnepZyK3/8EkZeJQOKtSyg0VJAQOAR074KFeYwVxBwwJgl78F9+Zgf0ZeMG8soAb5xTdQR/nEDv4kQgf38+dMhwPxggFpYgOIULoFD+NBRVYxsDDWwAEH3WYAvtwZcAEY1V/BPTt41AHf2R5Ah/DzceooZ5jAnNmFAurHD4AOd4cbzB19PABe4VfIHeqAAuzHb38gdYjnJACv5utRDrGCOZQENZgRZGuOD8wnvFMAAuRej3KLE8wtf6jxfvri53DXhMBcW4QRCjr3wF8kZvgA7CKv4I4d/OwG/EXSDDXILz72OconFjCflAkAOBRdD58tcKfeQ49y1ET9G+6g1ukFMDh6QgBaMVfIz13ERAAM4qmQrjEnyK3//A0NeHwOKo7yg8XnE9QgUJ9Vwb3KJAZglzWF9KhCdBpAhKzp4XBC4JsdHHA/ft4CPnEHv9tQAJu4TXgxD/285ccxgH1OATYGxrPAn9MJ/XEYBz9vkAUbxhkS4E8oeB41/2Jg849HCiBUS/NwXBkw3LuIwP3FNxXggT9Y5a8JFnh0MuDPa2n+OJyDhfY3wIbjQw78cwKTPw7rYIm7NtiwHp4D/hmtR8g34WQKAHaFRXC/DxaZ/3DkpAQQoLD4I97BEvGDJ4v525RUAPwChpC//Dt+D/eLOt7DrTOCWWc7D8CqPnj4SYwLbH7CoISA57yMSg3ALjx4OAgHGIg51CA/Cg8eHjpBsNB1woYEXQS5wJyTpwHg1hw83D1hMPfyYMWCzkEeMAfZLwAIkBs8HE0ADO0V7Gg/yA0eHlQJsKCeugggVm4Q8vNpCBzQPyoNHu7uZTB30WgBRCsNHuUwP/jBCA5wc8gmVxz8NA4XIDz5I1c6AB59QUjzR0MwwEDnFjhTqEYPQC4t+MNl94AoHzhTmPRbo79nCg+qyYEzhR4MAPQyf5CTVBRMAJQCdZCSVO6QWYaTpJJlBmCQjYM0a58IufUjSaqD+mLgJBUGCwCPbBzkZ6V5VgB28TJISSoVNgB+8TLIp6cbCjjYSBVedgA+nTLIOYhEKKBgJVWwOAB4Jcogd8gbCjBYSZVRaDHgeSmqcQLwCJNB+lIshAEGHlKFlQuAV5MMUlIlAkYoeC6JBNwA7HJkkJIqblCDwEWqbEMBBzupos8DwK899iPcQVEucFKl6/dwsJMqFbwADCpfkK4xSj4AdpUv8PgcFNUCJ1XuQA0CJ6lynh+AXbkLUlLlLtQgcJEq63DAwUqqWAgAf0i5C3JSJUoQ+HNSWJCTKkFCwJ8QqYKcVPERBhAqFwUpqbKFCFw4SBV3EeDPy0VBTqqsigL/nIYS5KQKcAn4Z+SMIN+EycQB2EWEICVVfKAGgY9UCZUA4NfogTztIykJQC6wA+7DQWka8LTPi98a/X3a56CgCnjax/IyAL3YDeQF4gTSAHQaLZCes6wgMvxjN/rDrdODWW+A3PpR5eEHxUfA0zGMMgA8Gi2Q5930ZAEolU0gzbvlQ2YZzrzbPTkABr0RSBM7U5BbPzLvdlDDAnyiZeQBePRGIN+/kRQB2AUywL05KEQBflMzhhoEruJwDCUAPq0LSNk7B5iADttd/lMbfkC1QQQsiiOwo0G1E4Cv9fNXABj1ISBNYvpDhwBPzm8NCihYk5haKgC80hCQO9QABRisSUwWVQBeVQjIk5gxUIPBlMREVwMQIAgBeRLTC2o8mJOY0zBCwZPE1FcHYJeBgDSJWQ01CFxJTGkNAA7NB0iTmGnQo/w+iXlQDAE8iUl1FYBW7gHyQxeeJgCDugKka8wacuu/S2Ie1CQAT2J2QA0CZxIzSQuAXfgA0iQmzjUAEcIHkCYxveCAgzWJuQQvJgKSmNTawJ9TEoA8iXlSB/gTPf4hT2Ki6wII7bYPaRLzFiJw4UhiAnrAn++2D3kS0/0G8M+1oIc8iXlHH/hnusFDvgm/NgBg78EOaRIT3RBAQA92yJOYZ4wA+FucQ35wb4AC7hf9ySGtOWQHAQjtTw75RTgTCmTw1uTgvh1smA1+EcY3BuBrTQ5FfswEgKEfN6R1/FOQW4e1jl/WFICzH/ePWAc7YBOAV7z8hPVDK+4fTR3sawZuStkMOLqB9lFBPgUW5CoX4Oi2aD8UiB5olQTeJAjHFYCsLdpRYyMEbznhCfy249LhM00OXrR3mC3oLqzYBwa4L5byo9EDNlDR/vpXGUAGoCMDAIuef/3p/wUAAP//V/hCxGPGAAA="); err != nil { + if err := gres.Add("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"); err != nil { panic("add binary content to resource manager failed: " + err.Error()) } } diff --git a/cmd/gf/internal/packed/template-single.go b/cmd/gf/internal/packed/template-single.go index 58a99f28668..30c8b145264 100644 --- a/cmd/gf/internal/packed/template-single.go +++ b/cmd/gf/internal/packed/template-single.go @@ -3,7 +3,7 @@ package packed import "github.com/gogf/gf/v2/os/gres" func init() { - if err := gres.Add("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"); err != nil { + if err := gres.Add("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"); err != nil { panic("add binary content to resource manager failed: " + err.Error()) } } From 4064766c01288536d63f220bf3cfffabce802e62 Mon Sep 17 00:00:00 2001 From: John Guo Date: Mon, 29 May 2023 17:20:12 +0800 Subject: [PATCH 2/2] up --- cmd/gf/gfcmd/gfcmd.go | 111 ++++++++++++++++++++++++++++++++++++++++++ cmd/gf/main.go | 88 +++------------------------------ 2 files changed, 119 insertions(+), 80 deletions(-) create mode 100644 cmd/gf/gfcmd/gfcmd.go diff --git a/cmd/gf/gfcmd/gfcmd.go b/cmd/gf/gfcmd/gfcmd.go new file mode 100644 index 00000000000..d0174a89994 --- /dev/null +++ b/cmd/gf/gfcmd/gfcmd.go @@ -0,0 +1,111 @@ +// Copyright GoFrame gf Author(https://goframe.org). All Rights Reserved. +// +// This Source Code Form is subject to the terms of the MIT License. +// If a copy of the MIT was not distributed with this file, +// You can obtain one at https://github.com/gogf/gf. + +package gfcmd + +import ( + _ "github.com/gogf/gf/cmd/gf/v2/internal/packed" + + "context" + + "github.com/gogf/gf/cmd/gf/v2/internal/cmd" + "github.com/gogf/gf/cmd/gf/v2/internal/utility/allyes" + "github.com/gogf/gf/cmd/gf/v2/internal/utility/mlog" + "github.com/gogf/gf/v2/frame/g" + "github.com/gogf/gf/v2/os/gcfg" + "github.com/gogf/gf/v2/os/gcmd" + "github.com/gogf/gf/v2/os/gfile" + "github.com/gogf/gf/v2/text/gstr" +) + +const ( + cliFolderName = `hack` +) + +// Command manages the CLI command of `gf`. +type Command struct { + *gcmd.Command +} + +// Run starts running the command according the command line arguments and options. +func (c *Command) Run(ctx context.Context) { + defer func() { + if exception := recover(); exception != nil { + if err, ok := exception.(error); ok { + mlog.Print(err.Error()) + } else { + panic(exception) + } + } + }() + + // CLI configuration. + if path, _ := gfile.Search(cliFolderName); path != "" { + if adapter, ok := g.Cfg().GetAdapter().(*gcfg.AdapterFile); ok { + if err := adapter.SetPath(path); err != nil { + mlog.Fatal(err) + } + } + } + + // zsh alias "git fetch" conflicts checks. + handleZshAlias() + + // -y option checks. + allyes.Init() + + // just run. + if err := c.RunWithError(ctx); err != nil { + // Exit with error message and exit code 1. + // It is very important to exit the command process with code 1. + mlog.Fatalf(`%+v`, err) + } +} + +// GetCommand retrieves and returns the root command of CLI `gf`. +func GetCommand(ctx context.Context) (*Command, error) { + root, err := gcmd.NewFromObject(cmd.GF) + if err != nil { + panic(err) + } + err = root.AddObject( + cmd.Up, + cmd.Env, + cmd.Fix, + cmd.Run, + cmd.Gen, + cmd.Tpl, + cmd.Init, + cmd.Pack, + cmd.Build, + cmd.Docker, + cmd.Install, + cmd.Version, + ) + if err != nil { + return nil, err + } + command := &Command{ + root, + } + return command, nil +} + +// zsh alias "git fetch" conflicts checks. +func handleZshAlias() { + if home, err := gfile.Home(); err == nil { + zshPath := gfile.Join(home, ".zshrc") + if gfile.Exists(zshPath) { + var ( + aliasCommand = `alias gf=gf` + content = gfile.GetContents(zshPath) + ) + if !gstr.Contains(content, aliasCommand) { + _ = gfile.PutContentsAppend(zshPath, "\n"+aliasCommand+"\n") + } + } + } +} diff --git a/cmd/gf/main.go b/cmd/gf/main.go index fffa3137068..358c7d4590a 100644 --- a/cmd/gf/main.go +++ b/cmd/gf/main.go @@ -7,94 +7,22 @@ package main import ( - _ "github.com/gogf/gf/cmd/gf/v2/internal/packed" - - "github.com/gogf/gf/v2/frame/g" - "github.com/gogf/gf/v2/os/gcfg" - "github.com/gogf/gf/v2/os/gcmd" - "github.com/gogf/gf/v2/os/gctx" - "github.com/gogf/gf/v2/os/gfile" - "github.com/gogf/gf/v2/text/gstr" - - "github.com/gogf/gf/cmd/gf/v2/internal/cmd" - "github.com/gogf/gf/cmd/gf/v2/internal/utility/allyes" + "github.com/gogf/gf/cmd/gf/v2/gfcmd" "github.com/gogf/gf/cmd/gf/v2/internal/utility/mlog" -) - -const ( - cliFolderName = `hack` + "github.com/gogf/gf/v2/errors/gerror" + "github.com/gogf/gf/v2/os/gctx" ) func main() { - defer func() { - if exception := recover(); exception != nil { - if err, ok := exception.(error); ok { - mlog.Print(err.Error()) - } else { - panic(exception) - } - } - }() - - // CLI configuration. - if path, _ := gfile.Search(cliFolderName); path != "" { - if adapter, ok := g.Cfg().GetAdapter().(*gcfg.AdapterFile); ok { - if err := adapter.SetPath(path); err != nil { - mlog.Fatal(err) - } - } - } - - // zsh alias "git fetch" conflicts checks. - handleZshAlias() - - // -y option checks. - allyes.Init() - var ( - ctx = gctx.New() - ) - command, err := gcmd.NewFromObject(cmd.GF) - if err != nil { - panic(err) - } - err = command.AddObject( - cmd.Up, - cmd.Env, - cmd.Fix, - cmd.Run, - cmd.Gen, - cmd.Tpl, - cmd.Init, - cmd.Pack, - cmd.Build, - cmd.Docker, - cmd.Install, - cmd.Version, + ctx = gctx.GetInitCtx() ) + command, err := gfcmd.GetCommand(ctx) if err != nil { - panic(err) - } - err = command.RunWithError(ctx) - if err != nil { - // Exit with error message and exit code 1. - // It is very important to exit the command process with code 1. mlog.Fatalf(`%+v`, err) } -} - -// zsh alias "git fetch" conflicts checks. -func handleZshAlias() { - if home, err := gfile.Home(); err == nil { - zshPath := gfile.Join(home, ".zshrc") - if gfile.Exists(zshPath) { - var ( - aliasCommand = `alias gf=gf` - content = gfile.GetContents(zshPath) - ) - if !gstr.Contains(content, aliasCommand) { - _ = gfile.PutContentsAppend(zshPath, "\n"+aliasCommand+"\n") - } - } + if command == nil { + panic(gerror.New(`retrieve root command failed for "gf"`)) } + command.Run(ctx) }