Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
121 commits
Select commit Hold shift + click to select a range
4ab1e52
QPM 2 proof of concept packaging
Fernthedev May 13, 2025
a70cb21
multiple file restore
Fernthedev May 13, 2025
73e7645
Begin QPM2 transformation
Fernthedev May 28, 2025
172f225
Update dependencies and refactor package handling for triplet support
Fernthedev May 29, 2025
60f3dad
More progress on refactor
Fernthedev May 29, 2025
472208a
Merge branch 'main' into qpm2
Fernthedev Jul 19, 2025
ae0c3e4
Update lockfile
Fernthedev Jul 19, 2025
b59dd84
Implement restore command partially
Fernthedev Jul 19, 2025
9fd4bb2
Fixup, more progress with QPM 2
Fernthedev Jul 24, 2025
ad4e84b
More progress with QPM 2 implementation
Fernthedev Jul 25, 2025
8de6b60
Update QPM.Package source reference to latest commit in qpm2 branch
Fernthedev Jul 25, 2025
3df9c18
Add checksum check
Fernthedev Jul 25, 2025
76a4cc5
More progress towards implementing triplets and QMods
Fernthedev Jul 25, 2025
cbff5ce
Refactor package path handling in FileRepository
Fernthedev Jul 25, 2025
b49d225
QPM 2 dependency resolving completed
Fernthedev Jul 26, 2025
b76bae6
Update QPM.Package source reference and enhance triplet dependency ma…
Fernthedev Jul 26, 2025
0ad697e
Add `env` variables from restored packages
Fernthedev Jul 26, 2025
0918e94
Refactor manifest and zip operations for triplet support and env support
Fernthedev Jul 26, 2025
6432dec
Enhance triplet handling and preprocessing in manifest generation
Fernthedev Jul 26, 2025
cafd458
Add environment variables for triplet and package details in script e…
Fernthedev Jul 27, 2025
15e4e5a
Add support for printing environment variables in triplet dependency …
Fernthedev Jul 27, 2025
46dfb2e
Update dependencies and enhance triplet support across commands
Fernthedev Jul 27, 2025
3a861f4
It all compiles. QPkg bundling and triplet combined building
Fernthedev Jul 27, 2025
54e2eca
Enhance BuildCommand to support qmod option and improve binary copyin…
Fernthedev Jul 27, 2025
d18e68f
Implement triplet specific qmod template path
Fernthedev Jul 28, 2025
5ce5f84
Remove openssl dependency
Fernthedev Jul 28, 2025
09ce5a6
Rename qpm binary
Fernthedev Jul 28, 2025
7bef2f9
Cargo fix and fmt
Fernthedev Jul 28, 2025
887eb8d
Refactor qpkg installation to be backend agnostic
Fernthedev Jul 28, 2025
166c4ba
Enhance InstallCommand with URL support and legacy installation option
Fernthedev Jul 28, 2025
f40da47
Fix binary name
Fernthedev Jul 28, 2025
7b288fd
Rename output files and artifacts to use 'qpm2' prefix for clarity
Fernthedev Jul 28, 2025
bb9bce6
Update installer output filename and PATH reference to use 'qpm2'
Fernthedev Jul 28, 2025
9c1a711
Allow resolving `default` dependency
Fernthedev Jul 30, 2025
2bf8789
Fix test
Fernthedev Jul 30, 2025
5fd860e
Handle optional triplet values
Fernthedev Jul 30, 2025
1c2807e
Update qpm_package source to latest commit on qpm2 branch
Fernthedev Jul 30, 2025
0ceec8b
Add migration deno script
Fernthedev Jul 30, 2025
e59015b
Use new registry subdomain
Fernthedev Jul 30, 2025
71b9304
Fix qpkg command name
Fernthedev Jul 30, 2025
e081872
Fix output dir
Fernthedev Jul 30, 2025
bcbf640
Fix `qpkg` out
Fernthedev Jul 30, 2025
a0d2b1e
Fix version check
Fernthedev Jul 30, 2025
c9c9d30
Improve error message for missing binaries in QPKG command
Fernthedev Jul 30, 2025
ab47be7
Refactor BuildCommand to support triplet argument and enhance triplet…
Fernthedev Jul 30, 2025
60c7c5a
Add `-t`/`--triplets` filter for `qpm qpkg` and `qpm build`
Fernthedev Jul 30, 2025
2ef608f
Remove unused import
Fernthedev Jul 30, 2025
a956e18
Workspace is nullable
Fernthedev Jul 31, 2025
ed09bc6
Make build optional script
Fernthedev Jul 31, 2025
acd745b
Cleanup extern/libs and extern/includes specifically
Fernthedev Jul 31, 2025
a139344
Fix zipping
Fernthedev Jul 31, 2025
1e54b50
Fix QPkg minimum depth
Fernthedev Jul 31, 2025
d2bd997
Add more fields to toolchain
Fernthedev Jul 31, 2025
9b904d0
Fix build
Fernthedev Jul 31, 2025
bbed529
Use tmp for zip
Fernthedev Jul 31, 2025
0d992e5
Refactor temporary directory creation in QPkgCommand
Fernthedev Jul 31, 2025
5eff071
Add log
Fernthedev Jul 31, 2025
4dccf54
Fix rel path in QPKG
Fernthedev Jul 31, 2025
5961f70
Verbose flag
Fernthedev Jul 31, 2025
46d22b4
Move instead of copy
Fernthedev Jul 31, 2025
0bc1fec
Refactor binary handling in QPkgCommand to use a mapping for source a…
Fernthedev Jul 31, 2025
516c792
Fix binary name references to `qpm2`
Fernthedev Jul 31, 2025
3b0b5ef
Add build command
Fernthedev Jul 31, 2025
97d44c6
Fix build command
Fernthedev Jul 31, 2025
ca5091e
Refactor command argument definitions to use short flags for `qpkg_pa…
Fernthedev Jul 31, 2025
f0acb56
Enhance command argument definitions in BuildCommand, InstallCommand,…
Fernthedev Jul 31, 2025
2d294de
Add finish log
Fernthedev Jul 31, 2025
5966e0a
Add qmod option to QPkgCommand for conditional qmod file creation
Fernthedev Jul 31, 2025
a82eda9
Fix zip
Fernthedev Jul 31, 2025
59932c0
Write to local file repository
Fernthedev Aug 1, 2025
8ad9b4f
Improve error handling in get_triplet_settings method of ResolvedDepe…
Fernthedev Aug 1, 2025
dde0be0
Remove only if it exists
Fernthedev Aug 1, 2025
3428c21
Fix path detection for cache
Fernthedev Aug 1, 2025
aa12deb
Add test files
Fernthedev Aug 1, 2025
618d0bb
Fix short paths
Fernthedev Aug 1, 2025
5abeab6
Fix unnecessary rename and more checks
Fernthedev Aug 1, 2025
d62f9cb
Refactor dependency restore function to remove unused triplet paramet…
Fernthedev Aug 2, 2025
b058e13
Android studio ndk location is now the default on Windows
Fernthedev Aug 2, 2025
365044e
Update dependencies and refactor triplet handling across commands
Fernthedev Aug 2, 2025
31d93dc
Refactor get_triplet_settings method to use get_triplet_settings for …
Fernthedev Aug 2, 2025
09a78ea
Add tests for CLI commands: dependency, ndk, qmod, restore, and download
Fernthedev Aug 2, 2025
bcc606d
Refactor get_versions to return QPackagesVersion and update package v…
Fernthedev Aug 3, 2025
6e14df6
Update qpm_package source to latest commit for improved stability
Fernthedev Aug 3, 2025
75188f1
Cleanup dependencies slightly
Fernthedev Aug 3, 2025
86d8a42
Update templatr source to latest commit and remove prodash dependency
Fernthedev Aug 3, 2025
75d78f7
Update user agent
Fernthedev Aug 7, 2025
6d2b42d
Publishing to qpackages implemented. Checksum checks
Fernthedev Aug 7, 2025
a2839d9
Update QPM.CLI version
Fernthedev Aug 7, 2025
99dba5b
Fix QPKG validation in publish
Fernthedev Aug 7, 2025
1ecbc75
Add version override parameter
Fernthedev Aug 7, 2025
a34fc7b
Revert to old registry temporarily
Fernthedev Aug 7, 2025
fc07545
Fix and format
Fernthedev Aug 7, 2025
59004af
Add NDK resolution support to build and QPkg commands
Fernthedev Aug 7, 2025
0930fa8
Fix value
Fernthedev Aug 7, 2025
9922abd
Make all triplets inherit `base` and allow for specifying `default` t…
Fernthedev Aug 19, 2025
07add7f
Update dependencies
Fernthedev Aug 20, 2025
9f93526
Update migrate script
Fernthedev Aug 21, 2025
c35904b
Slightly improve dependency resolving triplets
Fernthedev Aug 21, 2025
49e3f0c
Update dependencies
Fernthedev Aug 21, 2025
41fd4d7
Disable mac x64 build
Fernthedev Aug 21, 2025
1f73ab1
Switch to Mac arm64 runner
Fernthedev Aug 21, 2025
e77ad13
Remove redundant check
Fernthedev Aug 23, 2025
e6aa50d
Make triplet optional args default to restored triplet
Fernthedev Aug 23, 2025
5b15458
Refactor dependency imports and clean up unused variables
Fernthedev Aug 23, 2025
88f81c8
Update triplet handling to reduce copies and use new triplet methods
Fernthedev Aug 23, 2025
853c017
Implement QPM.Package base triplet fix
Fernthedev Aug 23, 2025
b68add1
Fix toolchain.json and improve migrate script triplet naming (#72)
kodenamekrak Aug 23, 2025
4cac24a
ToolchainData include package_id, package_version, and restored_tripl…
Fernthedev Aug 26, 2025
6bc48bd
Fix variable naming to camelCase
Fernthedev Aug 26, 2025
2bb3e39
Merge branch 'main' into qpm2
Fernthedev Aug 28, 2025
00c0af2
Use restored triplet when removing dependencies (#74)
kodenamekrak Aug 29, 2025
e90ad01
Change bleeding tag to avoid breaking qpm1
Fernthedev Aug 29, 2025
c544c15
Use bleeding2 for CI
Fernthedev Aug 29, 2025
16dc8bd
Fix toolchain binaries path
Fernthedev Aug 29, 2025
d130baf
Fix unnecessary variable shadowing
Fernthedev Aug 30, 2025
653f2cf
Fix binary path resolution in write_toolchain_file function
Fernthedev Aug 30, 2025
df80425
Update API URL to point to the new qpackages.com endpoint
Fernthedev Sep 1, 2025
370ba1c
Quest Emulator setup integration (#75)
Fernthedev Oct 27, 2025
c4099a8
Update qpm emu to fix obb copying
Fernthedev Oct 27, 2025
37b6b52
Add warning for cyclic dependencies between root and dependency, then…
Fernthedev Nov 30, 2025
3e4d865
Fix compile error and update
Fernthedev Nov 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .github/workflows/cargo-bleeding-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,9 @@ jobs:
run-id: ${{ github.event.workflow_run.id }}
path: artifacts

- name: Delete the previous bleeding release
- name: Delete the previous bleeding2 release
run: |
gh release delete bleeding -y --cleanup-tag || true
gh release delete bleeding2 -y --cleanup-tag || true
env:
GH_TOKEN: ${{ github.token }}

Expand All @@ -51,6 +51,6 @@ jobs:

SHA: ${{ github.sha }}
name: 'Latest Build on main'
tag_name: bleeding
tag_name: bleeding2
prerelease: true
files: artifacts/**/*
87 changes: 48 additions & 39 deletions .github/workflows/cargo-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
shell: bash
run: |
# Get the last tag that isn't bleeding
LAST_TAG=$((git tag --merged HEAD --sort=-creatordate | grep -v '^bleeding$' | head -n 1) || true)
LAST_TAG=$((git tag --merged HEAD --sort=-creatordate | grep -v '^bleeding' | head -n 1) || true)
echo "Last tag: $LAST_TAG"

# Use version input or tag, fallback to default
Expand Down Expand Up @@ -76,29 +76,30 @@ jobs:
matrix:
include:
- os: ubuntu-latest
file-name: qpm

file-name: qpm2
prefix: linux-x64

- os: ubuntu-latest
file-name: qpm
file-name: qpm2
prefix: linux-x64-static
target: x86_64-unknown-linux-musl

- os: macos-13
file-name: qpm
file-name: qpm2
prefix: macos-x64

- os: macos-13
file-name: qpm
- os: macos-15
file-name: qpm2
prefix: macos-arm64
target: aarch64-apple-darwin

- os: windows-latest
file-name: qpm.exe
file-name: qpm2.exe
prefix: windows-x64

- os: windows-latest
file-name: qpm.exe
file-name: qpm2.exe
target: aarch64-pc-windows-msvc
prefix: windows-arm64

Expand Down Expand Up @@ -187,7 +188,7 @@ jobs:
if: matrix.prefix != ''
uses: actions/upload-artifact@v4
with:
name: ${{matrix.prefix}}-qpm
name: ${{matrix.prefix}}-qpm2
path: target/${{ matrix.target }}/release/${{matrix.file-name}}
if-no-files-found: error

Expand All @@ -210,36 +211,44 @@ jobs:
uses: actions/upload-artifact@v4
if: matrix.file-name != '' && matrix.os == 'windows-latest' && matrix.target != 'aarch64-pc-windows-msvc'
with:
name: installer-${{ matrix.prefix }}
path: ./installer/qpm-installer.exe
name: release-installer-${{ matrix.prefix }}
path: ./installer/qpm2-installer.exe
if-no-files-found: error

macos-universal:
name: Create macOS Universal Binary
runs-on: macos-13
needs: [build]
steps:
- name: Download Intel macOS build
uses: actions/download-artifact@v4
with:
name: macos-x64-qpm
path: macos-x64

- name: Download ARM macOS build
uses: actions/download-artifact@v4
with:
name: macos-arm64-qpm
path: macos-arm64

- name: Make Universal Binary
run: |
lipo -create -output "qpm" "macos-x64/qpm" "macos-arm64/qpm"
chmod +x qpm
zip -j "qpm-macos-universal.zip" "qpm"
# macos-universal:
# name: Create macOS Universal Binary
# runs-on: macos-13
# needs: [build]
# steps:
# - name: Download Intel macOS build
# uses: actions/download-artifact@v4
# with:
# name: macos-x64-qpm2
# path: macos-x64

# - name: Download ARM macOS build
# uses: actions/download-artifact@v4
# with:
# name: macos-arm64-qpm2
# path: macos-arm64

# - name: Make Universal Binary
# run: |
# lipo -create -output "qpm2" "macos-x64/qpm2" "macos-arm64/qpm2"
# chmod +x qpm2
# zip -j "qpm2-macos-universal.zip" "qpm2"

# - name: Artifact Upload (Archive)
# uses: actions/upload-artifact@v4
# with:
# name: release-macos-universal
# path: qpm2-macos-universal.zip
# if-no-files-found: error

# - name: Artifact Upload
# uses: actions/upload-artifact@v4
# with:
# name: macos-universal-qpm2
# path: qpm2
# if-no-files-found: error

- name: Artifact Upload
uses: actions/upload-artifact@v4
with:
name: macos-universal-qpm
path: qpm
if-no-files-found: error
10 changes: 5 additions & 5 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,14 @@
"request": "launch",
"name": "Debug executable 'qpm_cli'",
"cargo": {
"args": ["build", "--bin=qpm", "--package=qpm_cli"],
"args": ["build", "--bin=qpm2", "--package=qpm_cli"],
"filter": {
"name": "qpm",
"name": "qpm2",
"kind": "bin"
}
},
"args": ["download", "adb"],
"cwd": "${workspaceFolder}"
"args": ["restore","default"],
"cwd": "${workspaceFolder}/test_package"
},
{
"type": "lldb",
Expand All @@ -22,7 +22,7 @@
"cargo": {
"args": ["test", "--no-run", "--bin=qpm", "--package=qpm_cli"],
"filter": {
"name": "qpm",
"name": "qpm2",
"kind": "bin"
}
},
Expand Down
Loading