Compare commits

..

6 Commits

Author SHA1 Message Date
semantic-release-bot
e7815819ff chore(release): 2.21.0-dev.1 [skip ci]
# [2.21.0-dev.1](https://github.com/revanced/revanced-cli/compare/v2.20.2-dev.1...v2.21.0-dev.1) (2023-05-04)

### Bug Fixes

* **tests:** set order of tests ([816f9d6](816f9d668c))
* use working JADB dependency version ([#222](https://github.com/revanced/revanced-cli/issues/222)) ([33c6565](33c65655a4))

### Features

* add appreciation message for new contributors ([a78d646](a78d646afc))
2023-05-04 00:27:08 +00:00
oSumAtrIX
816f9d668c fix(tests): set order of tests 2023-05-04 02:24:49 +02:00
bogadana
33c65655a4 fix: use working JADB dependency version (#222)
This fixes a current issue with CI/CD failing
2023-05-04 02:24:48 +02:00
oSumAtrIX
7a4bba0203 fix!: support null as option value (#221)
BREAKING-CHANGE: serialize options as JSON instead of TOML
2023-05-04 02:24:48 +02:00
oSumAtrIX
5b7f44ffe9 chore: update gradle and dependencies 2023-05-04 02:24:48 +02:00
oSumAtrIX
a78d646afc feat: add appreciation message for new contributors 2023-04-30 03:14:38 +02:00
9 changed files with 63 additions and 132 deletions

View File

@@ -23,20 +23,17 @@ jobs:
# https://github.com/cycjimmy/semantic-release-action#private-packages # https://github.com/cycjimmy/semantic-release-action#private-packages
persist-credentials: false persist-credentials: false
fetch-depth: 0 fetch-depth: 0
- name: Cache - name: Setup JDK
uses: actions/cache@v3 uses: actions/setup-java@v3
with: with:
path: | java-version: '17'
${{ runner.home }}/.gradle/caches distribution: 'zulu'
${{ runner.home }}/.gradle/wrapper cache: gradle
.gradle - name: Setup Node.js
build uses: actions/setup-node@v3
node_modules with:
key: ${{ runner.os }}-gradle-npm-${{ hashFiles('**/*.gradle*', '**/gradle-wrapper.properties', 'package-lock.json') }} node-version: "18"
- name: Build with Gradle cache: 'npm'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew clean --no-daemon
- name: Setup semantic-release - name: Setup semantic-release
run: npm install run: npm install
- name: Release - name: Release

View File

@@ -7,13 +7,7 @@
} }
], ],
"plugins": [ "plugins": [
[ "@semantic-release/commit-analyzer",
"@semantic-release/commit-analyzer", {
"releaseRules": [
{ "type": "build", "scope": "revanced-patcher", "release": "patch" }
]
}
],
"@semantic-release/release-notes-generator", "@semantic-release/release-notes-generator",
"@semantic-release/changelog", "@semantic-release/changelog",
"gradle-semantic-release-plugin", "gradle-semantic-release-plugin",

View File

@@ -1,67 +1,15 @@
## [2.21.5-dev.2](https://github.com/revanced/revanced-cli/compare/v2.21.5-dev.1...v2.21.5-dev.2) (2023-07-01) # [2.21.0-dev.1](https://github.com/revanced/revanced-cli/compare/v2.20.2-dev.1...v2.21.0-dev.1) (2023-05-04)
## [2.21.5-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.4...v2.21.5-dev.1) (2023-06-27)
## [2.21.4](https://github.com/revanced/revanced-cli/compare/v2.21.3...v2.21.4) (2023-06-21)
### Bug Fixes ### Bug Fixes
* remove duplicate options entries. ([d0fc886](https://github.com/revanced/revanced-cli/commit/d0fc8864286adc2677f91a319a11a90272c1001d)) * **tests:** set order of tests ([816f9d6](https://github.com/revanced/revanced-cli/commit/816f9d668cb738e6a27c28249a65f85037309993))
* use working JADB dependency version ([#222](https://github.com/revanced/revanced-cli/issues/222)) ([33c6565](https://github.com/revanced/revanced-cli/commit/33c65655a4afb8a17ed368166538f4f50ce3af3a))
## [2.21.4-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.3...v2.21.4-dev.1) (2023-06-18)
### Bug Fixes
* remove duplicate options entries. ([d0fc886](https://github.com/revanced/revanced-cli/commit/d0fc8864286adc2677f91a319a11a90272c1001d))
## [2.21.3](https://github.com/revanced/revanced-cli/compare/v2.21.2...v2.21.3) (2023-06-12)
## [2.21.3-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.2...v2.21.3-dev.1) (2023-06-07)
## [2.21.2](https://github.com/revanced/revanced-cli/compare/v2.21.1...v2.21.2) (2023-05-24)
## [2.21.2-dev.2](https://github.com/revanced/revanced-cli/compare/v2.21.2-dev.1...v2.21.2-dev.2) (2023-05-15)
## [2.21.2-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.1...v2.21.2-dev.1) (2023-05-07)
## [2.21.1](https://github.com/revanced/revanced-cli/compare/v2.21.0...v2.21.1) (2023-05-06)
## [2.21.1-dev.1](https://github.com/revanced/revanced-cli/compare/v2.21.0...v2.21.1-dev.1) (2023-05-06)
# [2.21.0](https://github.com/revanced/revanced-cli/compare/v2.20.2...v2.21.0) (2023-05-04)
### Bug Fixes
* **tests:** set order of tests ([2ef48af](https://github.com/revanced/revanced-cli/commit/2ef48af1b339ab729a05d69cb0c8c1ee1e3ab486))
* use working JADB dependency version ([#222](https://github.com/revanced/revanced-cli/issues/222)) ([da2c918](https://github.com/revanced/revanced-cli/commit/da2c91874d5623402febfcc0677ada3d648565e1))
### Features ### Features
* add appreciation message for new contributors ([6962fc2](https://github.com/revanced/revanced-cli/commit/6962fc2f4c0f0c96e88a823be64f8ebd1312ee17)) * add appreciation message for new contributors ([a78d646](https://github.com/revanced/revanced-cli/commit/a78d646afc2cf4e2fa19fbb89416e0a3f6ba559a))
# [2.21.0-dev.1](https://github.com/revanced/revanced-cli/compare/v2.20.2...v2.21.0-dev.1) (2023-05-04)
### Bug Fixes
* **tests:** set order of tests ([2ef48af](https://github.com/revanced/revanced-cli/commit/2ef48af1b339ab729a05d69cb0c8c1ee1e3ab486))
* use working JADB dependency version ([#222](https://github.com/revanced/revanced-cli/issues/222)) ([da2c918](https://github.com/revanced/revanced-cli/commit/da2c91874d5623402febfcc0677ada3d648565e1))
### Features
* add appreciation message for new contributors ([6962fc2](https://github.com/revanced/revanced-cli/commit/6962fc2f4c0f0c96e88a823be64f8ebd1312ee17))
## [2.20.2](https://github.com/revanced/revanced-cli/compare/v2.20.1...v2.20.2) (2023-04-30)
### Bug Fixes
* correct spelling mistake ([31fb316](https://github.com/revanced/revanced-cli/commit/31fb3166d922ae1f568f52e44cbe726dd1c891a4))
## [2.20.2-dev.1](https://github.com/revanced/revanced-cli/compare/v2.20.1...v2.20.2-dev.1) (2023-04-03) ## [2.20.2-dev.1](https://github.com/revanced/revanced-cli/compare/v2.20.1...v2.20.2-dev.1) (2023-04-03)

View File

@@ -25,7 +25,7 @@ repositories {
dependencies { dependencies {
implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.20-RC") implementation("org.jetbrains.kotlin:kotlin-reflect:1.8.20-RC")
implementation("app.revanced:revanced-patcher:11.0.3") implementation("app.revanced:revanced-patcher:7.0.0")
implementation("info.picocli:picocli:4.7.1") implementation("info.picocli:picocli:4.7.1")
implementation("com.github.revanced:jadb:2531a28109") // updated fork implementation("com.github.revanced:jadb:2531a28109") // updated fork
implementation("com.android.tools.build:apksig:8.1.0-alpha09") implementation("com.android.tools.build:apksig:8.1.0-alpha09")
@@ -34,10 +34,6 @@ dependencies {
testImplementation("org.jetbrains.kotlin:kotlin-test:1.8.20-RC") testImplementation("org.jetbrains.kotlin:kotlin-test:1.8.20-RC")
} }
kotlin {
jvmToolchain(11)
}
tasks { tasks {
test { test {
useJUnitPlatform() useJUnitPlatform()

View File

@@ -1,15 +1,17 @@
# 💼 Prerequisites # 💼 Prerequisites
To use ReVanced CLI, you will need to fulfill certain requirements. To use the ReVanced CLI, you will need to fulfill certain requirements.
## 🤝 Requirements ## 🤝 Requirements
- Java SDK 11 (Azul JDK or OpenJDK) - [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb), the command-line tool that lets
- [Android Debug Bridge (adb)](https://developer.android.com/studio/command-line/adb) if you want to deploy the patched APK file on your device you communicate with a device (optional).
- An ABI other than ARMv7 such as x86 or x86-64 (or a custom AAPT binary that supports ARMv7) - A x86/x86_64 host (or a custom AAPT binary for your architecture)
- Zulu OpenJDK 17
- An APK file (e.g. YouTube v17.49.37 or YouTube Music v5.36.51)
## ⏭️ Whats next ## ⏭️ Whats next
The next section will show, how to use [ReVanced CLI](https://github.com/revanced/revanced-cli). The next section will show, how to use the [ReVanced CLI](https://github.com/revanced/revanced-cli).
Continue: [🛠️ Using ReVanced CLI](1_usage.md) Continue: [🛠️ Using the ReVanced CLI](1_usage.md)

View File

@@ -1,76 +1,74 @@
# 🛠️ Using ReVanced CLI # 🛠️ Using the ReVanced CLI
Learn how to ReVanced CLI. Learn how to use the ReVanced CLI.
## ⚡ Setup ADB ## ⚡ Setup (optional)
1. Ensure that ADB is working 1. Make sure your device is connected
```bash ```bash
adb shell exit adb shell exit
``` ```
If you want to deploy the patched APK file on your device by mounting it on top of the original APK file, you will need root access. This is optional. If you plan to use the root variant, check if you have root access
```bash ```bash
adb shell su -c exit adb shell su -c exit
``` ```
2. Get the name of your device 2. Copy the ADB device name
```bash ```bash
adb devices adb devices
``` ```
## 🔨 Using ReVanced CLI ## 🔨 ReVanced CLI Usage
- ### ⚙️ Show all available options for ReVanced CLI - ### Show all available options for the ReVanced CLI
```bash ```bash
java -jar revanced-cli.jar -h java -jar revanced-cli.jar -h
``` ```
- ### 📃 List all available patches from supplied patch bundles - ### List all available patches from supplied patch bundles
```bash ```bash
java -jar revanced-cli.jar java -jar revanced-cli.jar \
-b revanced-patches.jar \ -b revanced-patches.jar \
-l -l
``` ```
- ### 💉 Use ReVanced CLI to patch an APK file but deploy without root permissions - ### Use the ReVanced CLI without root permissions
This will deploy the patched APK file on your device by installing it.
```bash ```bash
java -jar revanced-cli.jar \ java -jar revanced-cli.jar \
-a input.apk \ -a input.apk \
-o patched-output.apk \ -o patched-output.apk \
-b revanced-patches.jar \ -b revanced-patches.jar
-d device-name
``` ```
- ### 👾 Use ReVanced CLI to patch an APK file but deploy with root permissions - ### Mount the patched application with root permissions over the installed application
This will deploy the patched APK file on your device by mounting it on top of the original APK file.
```bash ```bash
adb install input.apk adb install input.apk # make sure the same version is installed
java -jar revanced-cli.jar \ java -jar revanced-cli.jar \
-a input.apk \ -a input.apk \
-d device-name \
-o patched-output.apk \ -o patched-output.apk \
-b revanced-patches.jar \ -b revanced-patches.jar \
-e vanced-microg-support \ -e vanced-microg-support \
-d device-name \
--mount --mount
``` ```
> **Note**: Some patches from [ReVanced Patches](https://github.com/revanced/revanced-patches) also require [ReVanced Integrations](https://github.com/revanced/revanced-integrations). Supply them with the option `-m`. ReVanced Patcher will merge ReVanced Integrations automatically, depending on if the supplied patches require them. > **Note**:
>
- ### ⚙️ Supply options to patches using ReVanced CLI > - If you want to exclude patches, you can use the option `-e`. In the case of YouTube, you can exclude
the `vanced-microg-support` patch from [ReVanced Patches](https://github.com/revanced/revanced-patches) with the
Some patches provide options. Currently, ReVanced CLI will generate and consume an `options.json` file at the location that is specified in `-o`. If the option is not specified, the options file will be generated in the current working directory. option `-e vanced-microg-support` when mounting for example.
>
The options file contains all options from supplied patch bundles. > - Some patches from [ReVanced Patches](https://github.com/revanced/revanced-patches) also might require
[ReVanced Integrations](https://github.com/revanced/revanced-integrations). Supply them with the option `-m`.
> **Note**: The `options.json` file will be generated at the first time you use ReVanced CLI to patch an APK file for now. This will be changed in the future. > The integrations will be merged, if necessary automatically, if supplied.
>
> - If you supplied a device with the option `-d`, the patched application will be automatically installed on the
device.

View File

@@ -1,8 +1,8 @@
# 💻 Documentation and guides of ReVanced CLI # 💻 Documentation and guides of ReVanced CLI
This documentation explains how to use [ReVanced CLI](https://github.com/revanced/revanced-cli). This documentation explains how to use the [ReVanced CLI](https://github.com/revanced/revanced-cli).
## 📖 Table of contents ## 📖 Table of contents
1. [💼 Prerequisites](0_prerequisites.md) 1. [💼 Prerequisites](0_prerequisites.md)
2. [🛠️ Using ReVanced CLI](1_usage.md) 2. [🛠️ Using the ReVanced CLI](1_usage.md)

View File

@@ -1,2 +1,2 @@
kotlin.code.style = official kotlin.code.style = official
version = 2.21.5-dev.2 version = 2.21.0-dev.1

View File

@@ -5,7 +5,6 @@ import app.revanced.cli.logging.CliLogger
import app.revanced.patcher.extensions.PatchExtensions.options import app.revanced.patcher.extensions.PatchExtensions.options
import app.revanced.patcher.extensions.PatchExtensions.patchName import app.revanced.patcher.extensions.PatchExtensions.patchName
import app.revanced.patcher.patch.NoSuchOptionException import app.revanced.patcher.patch.NoSuchOptionException
import app.revanced.utils.Options.PatchOption.Option
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
import java.io.File import java.io.File
@@ -26,12 +25,9 @@ internal object Options {
.map { patch -> .map { patch ->
PatchOption( PatchOption(
patch.patchName, patch.patchName,
patch.options!!.map { option -> Option(option.key, option.value) } patch.options!!.map { option -> PatchOption.Option(option.key, option.value) }
) )
} }.let {
// See https://github.com/revanced/revanced-patches/pull/2434/commits/60e550550b7641705e81aa72acfc4faaebb225e7.
.distinctBy { it.patchName }
.let {
if (prettyPrint) if (prettyPrint)
mapper.writerWithDefaultPrettyPrinter().writeValueAsString(it) mapper.writerWithDefaultPrettyPrinter().writeValueAsString(it)
else else