Skip to content

Commit

Permalink
Project rebranding
Browse files Browse the repository at this point in the history
  • Loading branch information
jgmdev committed Jul 29, 2024
1 parent be2e3ed commit c63e118
Show file tree
Hide file tree
Showing 14 changed files with 653 additions and 654 deletions.
35 changes: 14 additions & 21 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ name: CI
on:
push: { branches: [master] }
workflow_dispatch:
permissions: write-all

jobs:
build:
Expand Down Expand Up @@ -32,7 +33,7 @@ jobs:
echo VERSION=`git describe --tags --abbrev=0 --match "v*" | tail -c +2` >> $GITHUB_ENV
echo FULL_VERSION=`git describe --tags --match "v*" | tail -c +2` >> $GITHUB_ENV
echo ARCH=${{ matrix.config.arch }}-${{ matrix.config.platform }} >> $GITHUB_ENV
echo BIN=lpm.${{ matrix.config.arch }}-${{ matrix.config.platform }}${{ matrix.config.suffix }} >> $GITHUB_ENV
echo BIN=ppm.${{ matrix.config.arch }}-${{ matrix.config.platform }}${{ matrix.config.suffix }} >> $GITHUB_ENV
echo HOSTCC=gcc >> $GITHUB_ENV
- name: Setup (Linux)
Expand Down Expand Up @@ -85,19 +86,19 @@ jobs:
- name: Build
run: |
./build.sh clean && ./build.sh -DLPM_STATIC -DLPM_VERSION='"'$FULL_VERSION-$ARCH'"' -static -O3
./build.sh clean && ./build.sh -DPPM_STATIC -DPPM_VERSION='"'$FULL_VERSION-$ARCH'"' -static -O3
- name: Run Tests
if: ${{ matrix.config.native }}
run: |
cp $BIN lpm && ./lpm test t/run.lua
# - name: Run Tests
# if: ${{ matrix.config.native }}
# run: |
# cp $BIN ppm && ./ppm test t/run.lua

# - name: Package Debian/Ubuntu
# env: { ARCH: "amd64", DESCRIPTION: "A plugin manager for the lite-xl text editor.", MAINTAINER: "Adam Harrison <[email protected]>" }
# env: { ARCH: "amd64", DESCRIPTION: "A plugin manager for the pragtical text editor.", MAINTAINER: "Adam Harrison <[email protected]>" }
# run: |
# export NAME=lpm_$VERSION.0-$REV""_$ARCH
# mkdir -p $NAME/usr/bin $NAME/DEBIAN && cp lpm $NAME/usr/bin
# printf "Package: lpm\nVersion: $VERSION\nArchitecture: $ARCH\nMaintainer: $MAINTAINER\nDescription: $DESCRIPTION\n" > $NAME/DEBIAN/control
# export NAME=ppm_$VERSION.0-$REV""_$ARCH
# mkdir -p $NAME/usr/bin $NAME/DEBIAN && cp ppm $NAME/usr/bin
# printf "Package: ppm\nVersion: $VERSION\nArchitecture: $ARCH\nMaintainer: $MAINTAINER\nDescription: $DESCRIPTION\n" > $NAME/DEBIAN/control
# dpkg-deb --build --root-owner-group $NAME

- name: Upload Artifacts
Expand Down Expand Up @@ -128,11 +129,11 @@ jobs:
echo VERSION=`git describe --tags --abbrev=0 --match "v*" | tail -c +2` >> $GITHUB_ENV
echo REV=$((`git describe --tags --match "v*" | sed 's/.*-\([0-9]*\)-.*/\1/' | sed s/^v.*//` + 1)) >> $GITHUB_ENV
echo ARCH=${{ matrix.config.arch }}-darwin >> $GITHUB_ENV
echo BIN=lpm.${{ matrix.config.arch }}-darwin >> $GITHUB_ENV
echo BIN=ppm.${{ matrix.config.arch }}-darwin >> $GITHUB_ENV
- name: Build
run: |
./build.sh clean && ./build.sh -DLPM_STATIC -DLPM_VERSION='"'$FULL_VERSION-$ARCH'"' -O3
./build.sh clean && ./build.sh -DPPM_STATIC -DPPM_VERSION='"'$FULL_VERSION-$ARCH'"' -O3
- name: Upload Artifacts
uses: actions/upload-artifact@v4
Expand All @@ -158,7 +159,7 @@ jobs:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
pattern: lpm.*
pattern: ppm.*
path: artifacts
merge-multiple: true

Expand All @@ -179,11 +180,3 @@ jobs:
fi
git tag -f continuous
git push -f origin refs/tags/continuous
- name: Discord Notification
env: { DISCORD_WEBHOOK: "${{ secrets.DISCORD_WEBHOOK }}" }
run: |
if [[ -n "$DISCORD_WEBHOOK" ]] && [[ `git tag --points-at HEAD v* | head -c 1` == "v" ]]; then
perl -e 'use JSON qw(encode_json from_json); $/ = undef; print encode_json({ content => "## Lite XL Plugin Manager $ENV{VERSION} has been released!\nhttps://github.com/lite-xl/lite-xl-plugin-manager/releases/tag/v$ENV{VERSION}\n@release:lpm\n### Changes in $ENV{VERSION}:\n" . <> })' < NOTES.md |
curl -H 'Content-Type:application/json' $DISCORD_WEBHOOK -X POST -d "$(</dev/stdin)"
fi
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
lpm
ppm
lua.exe
lpm-*
ppm-*
*.o
lpm.lua.c
ppm.lua.c
lib/prefix
src/lpm.luac.c
src/lpm.luac
src/ppm.luac.c
src/ppm.luac
lib/mbedtls-2.27.0/build
lib/mbedtls-2.27.0/tests
92 changes: 46 additions & 46 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@
* Allowed for dashes in auto-generated ids.
* Fixed a bug that stopped things form working when explicitly calling `init`.
* Allowed `run` to use `--remotes`.
* Fixed bug for auto-detecting data directories, when determining system `lite-xl`.
* Fixed bug for auto-detecting data directories, when determining system `pragtical`.

# 1.0.6

Expand All @@ -174,7 +174,7 @@

# 1.0.5

* Marked `lpm` for `plugin_manager` as optional.
* Marked `ppm` for `plugin_manager` as optional.
* Made `--help` and `help` output on `stdout`, rather than `stderr`, following convention.
* Removed system configuration search paths for `git`.
* Removed `xxd` as a build dependency.
Expand All @@ -186,7 +186,7 @@
# 1.0.4

* Added in metapackage support into manifest and SPEC.
* Fixed issue with system lite-xls not being detected correctly.
* Fixed issue with system pragticals not being detected correctly.
* Colorized output by default.
* Added in NO_COLOR standard.
* Updated SPEC and fixed a few spelling/grammatical errors.
Expand All @@ -201,14 +201,14 @@
* Suppresses the progress bar by default if we're not on a TTY.
* Added `url` as a field to `SPEC.md`.
* Modified `run` so that it'll use the system version if you don't specify one.
* Added the ability to specify a repo url as part of `run`, so you can easily test new plugin branches and their plugins without actually modifying your lpm state.
* Added the ability to specify a repo url as part of `run`, so you can easily test new plugin branches and their plugins without actually modifying your ppm state.
* Fixed a few typos.
* Fixed issue with `run` not handling cases where plugins were either orphaned or core plugins, which would cause the bottle to be incorrectly constructed.
* Fixed issue where you could add non-numeric lite versions.
* Fixed issue where tables generated with lpm didn't annotate non-remote url plugins with \*.
* Fixed issue where you could add non-numeric pragtical versions.
* Fixed issue where tables generated with ppm didn't annotate non-remote url plugins with \*.
* Fixed a memory leak.
* Added in warning to let people know when stubs are mismatching versions.
* Added in warning when we cannot acquire an lpm global lock, and also made it so we do not lock upon running something.
* Added in warning when we cannot acquire an ppm global lock, and also made it so we do not lock upon running something.
* Better error handling for invalid manifests, specifically when paths for plugins don't exist.
* Fixed issue with permissions not being recorded correctly when extracting from a zip file.
* Added in --reinstall flag.
Expand All @@ -223,28 +223,28 @@

# 1.0.0

Initial release of `lpm`.
Initial release of `ppm`.

```
Usage: lpm COMMAND [...ARGUMENTS] [--json] [--userdir=directory]
Usage: ppm COMMAND [...ARGUMENTS] [--json] [--userdir=directory]
[--cachedir=directory] [--quiet] [--version] [--help] [--remotes]
[--ssl-certs=directory/file] [--force] [--arch=x86_64-linux]
[--assume-yes] [--no-install-optional] [--verbose] [--mod-version=3]
[--datadir=directory] [--binary=path] [--symlink] [--post]
LPM is a package manager for `lite-xl`, written in C (and packed-in lua).
PPM is a package manager for `pragtical`, written in C (and packed-in lua).
It's designed to install packages from our central github repository (and
affiliated repositories), directly into your lite-xl user directory. It can
be called independently, for from the lite-xl `addon_manager` addon.
affiliated repositories), directly into your pragtical user directory. It can
be called independently, for from the pragtical `addon_manager` addon.
LPM will always use https://github.com/lite-xl/lite-xl-plugin-manager as its base
PPM will always use https://github.com/pragtical/plugin-manager as its base
repository, if none are present, and the cache directory does't exist,
but others can be added, and this base one can be removed.
It has the following commands:
lpm init [repo 1] [repo 2] [...] Implicitly called before all commands
ppm init [repo 1] [repo 2] [...] Implicitly called before all commands
if necessary, but can be called
independently to save time later, or
to set things up differently.
Expand All @@ -258,74 +258,74 @@ It has the following commands:
If "none" is specified, initializes
an empty repository list.
lpm repo list List all extant repos.
lpm [repo] add <repository remote> Add a source repository.
ppm repo list List all extant repos.
ppm [repo] add <repository remote> Add a source repository.
[...<repository remote>]
lpm [repo] rm <repository remote> Remove a source repository.
ppm [repo] rm <repository remote> Remove a source repository.
[...<repository remote>]
lpm [repo] update [<repository remote>] Update all/the specified repos.
ppm [repo] update [<repository remote>] Update all/the specified repos.
[...<repository remote>]
lpm [plugin|library|color] install Install specific addons.
ppm [plugin|library|color] install Install specific addons.
<addon id>[:<version>] If installed, upgrades.
[...<addon id>:<version>]
lpm [plugin|library|color] uninstall Uninstall the specific addon.
ppm [plugin|library|color] uninstall Uninstall the specific addon.
<addon id> [...<addon id>]
lpm [plugin|library|color] reinstall Uninstall and installs the specific addon.
ppm [plugin|library|color] reinstall Uninstall and installs the specific addon.
<addon id> [...<addon id>]
lpm [plugin|library|color] list List all/associated addons.
ppm [plugin|library|color] list List all/associated addons.
<remote> [...<remote>]
lpm upgrade Upgrades all installed addons
ppm upgrade Upgrades all installed addons
to new version if applicable.
lpm [lite-xl] install <version> Installs lite-xl. Infers the
ppm [pragtical] install <version> Installs pragtical. Infers the
[binary] [datadir] paths on your system if not
supplied. Automatically
switches to be your system default
if path auto inferred.
lpm lite-xl add <version> <path> Adds a local version of lite-xl to
ppm pragtical add <version> <path> Adds a local version of pragtical to
the managed list, allowing it to be
easily bottled.
lpm lite-xl remove <path> Removes a local version of lite-xl
ppm pragtical remove <path> Removes a local version of pragtical
from the managed list.
lpm [lite-xl] switch <version> [<path>] Sets the active version of lite-xl
ppm [pragtical] switch <version> [<path>] Sets the active version of pragtical
to be the specified version. Auto-detects
current install of lite-xl; if none found
current install of pragtical; if none found
path can be specified.
lpm lite-xl list [name pattern] Lists all installed versions of
[...filters] lite-xl. Can specify the flags listed
ppm pragtical list [name pattern] Lists all installed versions of
[...filters] pragtical. Can specify the flags listed
in the filtering seciton.
lpm run <version> [...addons] Sets up a "bottle" to run the specified
lite version, with the specified addons
ppm run <version> [...addons] Sets up a "bottle" to run the specified
pragtical version, with the specified addons
and then opens it.
lpm describe [bottle] Describes the bottle specified in the form
ppm describe [bottle] Describes the bottle specified in the form
of a list of commands, that allow someone
else to run your configuration.
lpm table <manifest path> [readme path] Formats a markdown table of all specified
ppm table <manifest path> [readme path] Formats a markdown table of all specified
addons. Dumps to stdout normally, but if
supplied a readme, will remove all tables
from the readme, and append the new one.
lpm purge Completely purge all state for LPM.
lpm - Read these commands from stdin in
ppm purge Completely purge all state for PPM.
ppm - Read these commands from stdin in
an interactive print-eval loop.
lpm help Displays this help text.
ppm help Displays this help text.
Flags have the following effects:
--json Performs all communication in JSON.
--userdir=directory Sets the lite-xl userdir manually.
If omitted, uses the normal lite-xl logic.
--userdir=directory Sets the pragtical userdir manually.
If omitted, uses the normal pragtical logic.
--cachedir=directory Sets the directory to store all repositories.
--tmpdir=directory During install, sets the staging area.
--datadir=directory Sets the data directory where core addons are located
for the system lite-xl.
--binary=path Sets the lite-xl binary path for the system lite-xl.
for the system pragtical.
--binary=path Sets the pragtical binary path for the system pragtical.
--verbose Spits out more information, including intermediate
steps to install and whatnot.
--quiet Outputs nothing but explicit responses.
--mod-version=version Sets the mod version of lite-xl to install addons.
--mod-version=version Sets the mod version of pragtical to install addons.
--version Returns version information.
--help Displays this help text.
--ssl-certs Sets the SSL certificate store. Can be a directory,
Expand Down Expand Up @@ -375,12 +375,12 @@ in any circumstance unless explicitly supplied.
There exist also other debug commands that are potentially useful, but are
not commonly used publically.
lpm test [test file] Runs the specified test suite.
lpm table <manifest> [...filters] Generates markdown table for the given
ppm test [test file] Runs the specified test suite.
ppm table <manifest> [...filters] Generates markdown table for the given
manifest. Used by repositories to build
READMEs.
lpm download <url> [target] Downloads the specified URL to stdout,
ppm download <url> [target] Downloads the specified URL to stdout,
or to the specified target file.
lpm extract <file.[tar.gz|zip]> Extracts the specified archive at
ppm extract <file.[tar.gz|zip]> Extracts the specified archive at
[target] target, or the current working directory.
```
4 changes: 2 additions & 2 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
## LPM License
## PPM License

Copyright (c) 2022 lite-xl Team
Copyright (c) 2022 pragtical Team

Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
Expand Down
Loading

0 comments on commit c63e118

Please sign in to comment.