Compare commits
No commits in common. "v1.0.0" and "main" have entirely different histories.
@ -7,7 +7,7 @@ on:
|
|||||||
branches: [main, master]
|
branches: [main, master]
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GITEA_URL: https://git.home.ms
|
GITEA_URL: https://git.example.com
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
|||||||
@ -6,7 +6,7 @@ resolver = "2"
|
|||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2021"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.home.ms/jarianc/MovieMapper"
|
repository = "https://git.example.com/jarianc/MovieMapper"
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
# Shared dependencies across workspace
|
# Shared dependencies across workspace
|
||||||
|
|||||||
@ -5,7 +5,7 @@ Scan media directories, extract metadata with FFmpeg, tag files as extras or
|
|||||||
commentary, and move them into Jellyfin-compatible folder structures — with a
|
commentary, and move them into Jellyfin-compatible folder structures — with a
|
||||||
full audit trail.
|
full audit trail.
|
||||||
|
|
||||||
[](https://github.com/actions/workflows/test.yml)
|
[](https://git.jarianc.com/jarianc/MovieMapper/actions)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
## Features
|
## Features
|
||||||
@ -88,7 +88,7 @@ directory scan ──▶ ffprobe metadata ──▶ tag (extra/commentary)
|
|||||||
|
|
||||||
## Installation
|
## Installation
|
||||||
|
|
||||||
Installers are published on the [releases page](https://git.home.ms/jarianc/MovieMapper/releases)
|
Installers are published on the [releases page](https://git.example.com/jarianc/MovieMapper/releases)
|
||||||
(AppImage + .deb for Linux, .dmg for macOS, .exe for Windows).
|
(AppImage + .deb for Linux, .dmg for macOS, .exe for Windows).
|
||||||
|
|
||||||
### Linux — AppImage
|
### Linux — AppImage
|
||||||
|
|||||||
@ -4,7 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "A Rust-based version of MovieMapper for organizing and managing movie and TV show collections"
|
description = "A Rust-based version of MovieMapper for organizing and managing movie and TV show collections"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.home.ms/jarianc/MovieMapper"
|
repository = "https://git.example.com/jarianc/MovieMapper"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
keywords = ["media", "ffmpeg", "tvdb", "jellyfin", "video"]
|
keywords = ["media", "ffmpeg", "tvdb", "jellyfin", "video"]
|
||||||
categories = ["command-line-utilities", "filesystem"]
|
categories = ["command-line-utilities", "filesystem"]
|
||||||
|
|||||||
@ -4,7 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Backend integration layer for MovieMapper"
|
description = "Backend integration layer for MovieMapper"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.home.ms/jarianc/MovieMapper"
|
repository = "https://git.example.com/jarianc/MovieMapper"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
# Use the existing Rust backend as a path dependency
|
# Use the existing Rust backend as a path dependency
|
||||||
|
|||||||
@ -14,7 +14,7 @@ IOS_VERSION = "17.0"
|
|||||||
|
|
||||||
def create_project_structure():
|
def create_project_structure():
|
||||||
"""Create the Xcode project directory structure"""
|
"""Create the Xcode project directory structure"""
|
||||||
base = f"/Users/jariancottingham/Projects/MovieMapper/{PROJECT_NAME}"
|
base = f"/Users/user/Projects/MovieMapper/{PROJECT_NAME}"
|
||||||
|
|
||||||
# Project directory
|
# Project directory
|
||||||
project_dir = os.path.join(base, f"{PROJECT_NAME}.xcodeproj")
|
project_dir = os.path.join(base, f"{PROJECT_NAME}.xcodeproj")
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
# MovieMapper Feature Verification & Test Coverage Report
|
# MovieMapper Feature Verification & Test Coverage Report
|
||||||
|
|
||||||
**Date:** February 26, 2026
|
**Date:** February 26, 2026
|
||||||
**Project:** /Users/jariancottingham/Projects/MovieMapper
|
**Project:** /Users/user/Projects/MovieMapper
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@ -157,7 +157,7 @@ test result: ok. 17 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out
|
|||||||
|
|
||||||
```
|
```
|
||||||
$ cargo build --release
|
$ cargo build --release
|
||||||
Compiling movie_mapper v0.1.0 (/Users/jariancottingham/Projects/MovieMapper/Rust)
|
Compiling movie_mapper v0.1.0 (/Users/user/Projects/MovieMapper/Rust)
|
||||||
Finished `release` profile [optimized] target(s) in 13.47s
|
Finished `release` profile [optimized] target(s) in 13.47s
|
||||||
|
|
||||||
$ cargo test
|
$ cargo test
|
||||||
|
|||||||
@ -48,8 +48,8 @@ console.log('\n2. Testing command-line argument parsing...');
|
|||||||
// This simulates how the actual main.js will receive args
|
// This simulates how the actual main.js will receive args
|
||||||
const simulatedArgs = [
|
const simulatedArgs = [
|
||||||
'/opt/homebrew/Cellar/node/25.6.1/bin/node',
|
'/opt/homebrew/Cellar/node/25.6.1/bin/node',
|
||||||
'/Users/jariancottingham/Projects/MovieMapper/main.js',
|
'/Users/user/Projects/MovieMapper/main.js',
|
||||||
'--dir=/Users/jariancottingham/Projects/MovieMapper/test_directory'
|
'--dir=/Users/user/Projects/MovieMapper/test_directory'
|
||||||
];
|
];
|
||||||
|
|
||||||
const commandLineDirectory = simulatedArgs.find(arg => arg.startsWith('--dir=') || arg.startsWith('-d='))?.split('=')[1];
|
const commandLineDirectory = simulatedArgs.find(arg => arg.startsWith('--dir=') || arg.startsWith('-d='))?.split('=')[1];
|
||||||
|
|||||||
@ -4,11 +4,11 @@
|
|||||||
"description": "A desktop application for organizing and managing movie and TV show collections",
|
"description": "A desktop application for organizing and managing movie and TV show collections",
|
||||||
"author": "Jarian Cottingham <jarianc@proton.me>",
|
"author": "Jarian Cottingham <jarianc@proton.me>",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"homepage": "https://git.home.ms/jarianc/MovieMapper",
|
"homepage": "https://git.example.com/jarianc/MovieMapper",
|
||||||
"desktopName": "MovieMapper",
|
"desktopName": "MovieMapper",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://git.home.ms/jarianc/MovieMapper.git"
|
"url": "https://git.example.com/jarianc/MovieMapper.git"
|
||||||
},
|
},
|
||||||
"main": "main.js",
|
"main": "main.js",
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@ -6,14 +6,14 @@
|
|||||||
# GITEA_PASS=... ./scripts/publish-release.sh v1.0.0
|
# GITEA_PASS=... ./scripts/publish-release.sh v1.0.0
|
||||||
#
|
#
|
||||||
# Environment:
|
# Environment:
|
||||||
# GITEA_URL (default: https://git.home.ms)
|
# GITEA_URL (default: https://git.example.com)
|
||||||
# GITEA_USER (default: jarianc)
|
# GITEA_USER (default: jarianc)
|
||||||
# GITEA_PASS (required)
|
# GITEA_PASS (required)
|
||||||
# GITEA_REPO (default: jarianc/MovieMapper)
|
# GITEA_REPO (default: jarianc/MovieMapper)
|
||||||
set -euo pipefail
|
set -euo pipefail
|
||||||
|
|
||||||
TAG="${1:?usage: publish-release.sh <tag> (e.g. v1.0.0)}"
|
TAG="${1:?usage: publish-release.sh <tag> (e.g. v1.0.0)}"
|
||||||
GITEA_URL="${GITEA_URL:-https://git.home.ms}"
|
GITEA_URL="${GITEA_URL:-https://git.example.com}"
|
||||||
GITEA_USER="${GITEA_USER:-jarianc}"
|
GITEA_USER="${GITEA_USER:-jarianc}"
|
||||||
GITEA_PASS="${GITEA_PASS:?GITEA_PASS is required}"
|
GITEA_PASS="${GITEA_PASS:?GITEA_PASS is required}"
|
||||||
GITEA_REPO="${GITEA_REPO:-jarianc/MovieMapper}"
|
GITEA_REPO="${GITEA_REPO:-jarianc/MovieMapper}"
|
||||||
@ -21,22 +21,25 @@ AUTH=("${GITEA_USER}:${GITEA_PASS}")
|
|||||||
API="$GITEA_URL/api/v1/repos/$GITEA_REPO"
|
API="$GITEA_URL/api/v1/repos/$GITEA_REPO"
|
||||||
|
|
||||||
# Create the release if it does not exist yet.
|
# Create the release if it does not exist yet.
|
||||||
existing="$(curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" 2>/dev/null \
|
if ! curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" > /dev/null 2>&1; then
|
||||||
| python3 -c 'import json,sys; print(json.load(sys.stdin).get("id",""))' || true)"
|
|
||||||
if [ -z "${existing}" ]; then
|
|
||||||
curl -sf -u "${AUTH[@]}" -X POST "$API/releases" \
|
curl -sf -u "${AUTH[@]}" -X POST "$API/releases" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"MovieMapper $TAG release. Linux: AppImage + deb. See README for install instructions.\"}" \
|
-d "{\"tag_name\":\"$TAG\",\"name\":\"$TAG\",\"body\":\"MovieMapper $TAG release. Linux: AppImage + deb. See README for install instructions.\"}" \
|
||||||
> /dev/null
|
> /dev/null
|
||||||
echo "created release $TAG"
|
echo "created release $TAG"
|
||||||
|
else
|
||||||
|
echo "release $TAG exists"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Resolve numeric release id (asset upload requires it on this Gitea build).
|
||||||
|
REL_ID="$(curl -sf -u "${AUTH[@]}" "$API/releases/tags/$TAG" \
|
||||||
|
| python3 -c 'import json,sys; print(json.load(sys.stdin)["id"])')"
|
||||||
|
|
||||||
uploaded=0
|
uploaded=0
|
||||||
for f in dist/*.AppImage dist/*.deb dist/*.dmg dist/*.exe dist/*.zip; do
|
for f in dist/*.AppImage dist/*.deb dist/*.dmg dist/*.exe dist/*.zip; do
|
||||||
[ -e "$f" ] || continue
|
[ -e "$f" ] || continue
|
||||||
if curl -sf -u "${AUTH[@]}" -X POST "$API/releases/$TAG/assets" \
|
if curl -sf -u "${AUTH[@]}" -X POST "$API/releases/$REL_ID/assets" \
|
||||||
-H "Content-Type: application/octet-stream" \
|
-F "attachment=@$f;type=application/octet-stream" > /dev/null; then
|
||||||
--data-binary @"$f" > /dev/null; then
|
|
||||||
echo "uploaded $(basename "$f")"
|
echo "uploaded $(basename "$f")"
|
||||||
uploaded=$((uploaded + 1))
|
uploaded=$((uploaded + 1))
|
||||||
else
|
else
|
||||||
|
|||||||
@ -4,7 +4,7 @@ version = "0.1.0"
|
|||||||
edition = "2021"
|
edition = "2021"
|
||||||
description = "Rust UI for MovieMapper using Iced"
|
description = "Rust UI for MovieMapper using Iced"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://git.home.ms/jarianc/MovieMapper"
|
repository = "https://git.example.com/jarianc/MovieMapper"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
iced = { version = "0.12", features = ["debug"] }
|
iced = { version = "0.12", features = ["debug"] }
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user