-
Notifications
You must be signed in to change notification settings - Fork 8
llpkg store Design
xushiwei edited this page Jan 21, 2025
·
16 revisions
+ {LibraryName}
|
+-- {Version}
| |
| +-- {NormalGoPkgFiles}
| |
| +-- .llpkg (optional)
| |
| +-- {InstallScriptForLibrary}
| |
| +-- {BuildScriptForGoPkgFiles}
|
+-- .llpkg
|
+-- {InstallScriptForLibrary}
|
+-- {BuildScriptForGoPkgFiles}
llpkg in go.mod
:
require (
llpkg.gop.dev/{LibraryName} {Version}
)
For example
require (
llpkg.gop.dev/sqlite/v3 v3.48.0
)
llgo get {LibraryName}[@{Version}]
For example
llgo get [email protected]
Its workflow is as follows
list tags of github.com/goplus/llpkg to get latest version of {LibraryName} if {Version} not specified
wgetIfNoCache https://github.com/goplus/llpkg/releases/download/{LibraryName}@{Version}/Package.zip
unzip {CacheDir}/{LibraryName}@{Version}/Package.zip
edit go.work to replace llpkg.gop.dev/{LibraryName} {Version} => {CacheDir}/{LibraryName}@{Version}
exec {CacheDir}/{LibraryName}@{Version}/.llpkg/{InstallScriptForLibrary}
Release workflow is as follows
tag github.com/goplus/llpkg with {LibraryName}@{Version} and Release
upload https://github.com/goplus/llpkg/releases/download/{LibraryName}@{Version}/Package.zip