Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: Merge branch dev to main #309

Merged
merged 28 commits into from
Mar 6, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
2e2ddac
chore: Add `local.properties` to `.gitignore`
oSumAtrIX Jan 10, 2024
4933fe0
build: Bump dependencies
oSumAtrIX Jan 10, 2024
0fc1d57
docs: Add JRE links to obtain
oSumAtrIX Jan 11, 2024
ee1e96b
docs: Simplify patch command
oSumAtrIX Jan 12, 2024
55f0c01
docs: Fix grammatic error
oSumAtrIX Jan 12, 2024
24a8f65
build: Bump dependencies
oSumAtrIX Jan 26, 2024
95c998b
ci: Add dependabot
oSumAtrIX Jan 26, 2024
b5bd988
ci: Use latest Node.js LTS version to fix builds
oSumAtrIX Jan 26, 2024
b6f63c7
docs: Fix blockquote highlights not rendering
oSumAtrIX Feb 4, 2024
30b46bc
build(Needs bump): Bump dependencies
oSumAtrIX Feb 11, 2024
40c90f5
build: Bump Gradle
oSumAtrIX Feb 14, 2024
f1d7d0d
build: Sign release artifacts
oSumAtrIX Feb 14, 2024
4f1982e
chore(release): 4.4.1-dev.1 [skip ci]
semantic-release-bot Feb 21, 2024
724593a
ci: Split release into a separate PR build workflow
oSumAtrIX Feb 22, 2024
a4e8d2d
docs: Fix incorrect punctuation
oSumAtrIX Feb 23, 2024
f2368cc
docs: Format markdown code
oSumAtrIX Feb 23, 2024
2fcb74e
docs: Fix mistakes and wording
oSumAtrIX Feb 23, 2024
9c0ad46
docs: Break long lines
oSumAtrIX Feb 23, 2024
de63cfa
refactor: Move code out of `use` block
oSumAtrIX Feb 24, 2024
f21c56d
ci: Fix indentation in workflow
oSumAtrIX Feb 24, 2024
9fe4795
ci: Rename workflow file
oSumAtrIX Feb 25, 2024
109b33f
chore: Rename issue templates
oSumAtrIX Feb 25, 2024
e622616
docs: Fix broken links
oSumAtrIX Feb 26, 2024
628b452
docs: Add features and documentation section to readme
oSumAtrIX Feb 26, 2024
4ff697e
ci: Update action
oSumAtrIX Mar 4, 2024
1c10a77
fix: Bump dependencies to support BCS keystore
oSumAtrIX Mar 4, 2024
a5a5085
chore(release): 4.4.1-dev.2 [skip ci]
semantic-release-bot Mar 4, 2024
1e92239
build: Set target bytecode level to JVM 11
oSumAtrIX Mar 4, 2024
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
3 changes: 3 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[*.{kt,kts}]
ktlint_code_style = intellij_idea
ktlint_standard_no-wildcard-imports = disabled
22 changes: 22 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
version: 2
updates:
- package-ecosystem: github-actions
labels: []
directory: /
target-branch: dev
schedule:
interval: monthly

- package-ecosystem: npm
labels: []
directory: /
target-branch: dev
schedule:
interval: monthly

- package-ecosystem: gradle
labels: []
directory: /
target-branch: dev
schedule:
interval: monthly
25 changes: 25 additions & 0 deletions .github/workflows/build_pull_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
name: Build pull request

on:
workflow_dispatch:
pull_request:
branches:
- dev

jobs:
release:
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1

- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: ./gradlew build --no-daemon
29 changes: 15 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,6 @@ on:
branches:
- main
- dev
pull_request:
branches:
- main
- dev

jobs:
release:
Expand All @@ -24,25 +20,30 @@ jobs:
persist-credentials: false
fetch-depth: 0

- name: Cache Node modules
uses: actions/cache@v3
with:
path: |
node_modules
key: npm-${{ hashFiles('package-lock.json') }}

- name: Cache Gradle
uses: burrunan/gradle-cache-action@v1

- name: Build
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# Cleaning is necessary to avoid uploading two identical artifacts with different versions
run: ./gradlew clean --no-daemon
run: ./gradlew build clean

- name: Setup semantic-release
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "lts/*"
cache: 'npm'

- name: Install dependencies
run: npm install

- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
fingerprint: ${{ env.GPG_FINGERPRINT }}

- name: Release
env:
GITHUB_TOKEN: ${{ secrets.REPOSITORY_PUSH_ACCESS }}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
name: Dispatch event to documentation repository
if: github.ref == 'refs/heads/main'
steps:
- uses: peter-evans/repository-dispatch@v2
- uses: peter-evans/repository-dispatch@v3
with:
token: ${{ secrets.DOCUMENTATION_REPO_ACCESS_TOKEN }}
repository: revanced/revanced-documentation
Expand Down
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -119,4 +119,7 @@ node_modules/

# ReVanced CLI
revanced-cache/
options.toml
options.toml

# Generated by an Android project (such as ReVanced Integrations)
local.properties
2 changes: 1 addition & 1 deletion .releaserc
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
{
"assets": [
{
"path": "build/libs/*all.jar"
"path": "build/libs/*-all*"
}
],
successComment: false
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## [4.4.1-dev.2](https://github.com/ReVanced/revanced-cli/compare/v4.4.1-dev.1...v4.4.1-dev.2) (2024-03-04)


### Bug Fixes

* Bump dependencies to support BCS keystore ([1c10a77](https://github.com/ReVanced/revanced-cli/commit/1c10a7760d76ea850260ca49b448be7ad121de44))

## [4.4.1-dev.1](https://github.com/ReVanced/revanced-cli/compare/v4.4.0...v4.4.1-dev.1) (2024-02-21)

# [4.4.0](https://github.com/ReVanced/revanced-cli/compare/v4.3.0...v4.4.0) (2023-12-28)


Expand Down
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ This document describes how to contribute to ReVanced CLI.

## 📖 Resources to help you get started

* The [documentation](/docs) explains how to use ReVanced CLI
* [Our backlog](https://github.com/orgs/ReVanced/projects/12) is where we keep track of what we're working on
* [Issues](https://github.com/ReVanced/revanced-cli/issues) are where we keep track of bugs and feature requests
- The [documentation](/docs) explains how to use ReVanced CLI
- [Our backlog](https://github.com/orgs/ReVanced/projects/12) is where we keep track of what we're working on
- [Issues](https://github.com/ReVanced/revanced-cli/issues) are where we keep track of bugs and feature requests

## 🙏 Submitting a feature request

Features can be requested by opening an issue using the
[Feature request issue template](https://github.com/ReVanced/revanced-cli/issues/new?assignees=&labels=Feature+request&projects=&template=feature-request.yml&title=feat%3A+).
[Feature request issue template](https://github.com/ReVanced/revanced-cli/issues/new?assignees=&labels=Feature+request&projects=&template=feature_request.yml&title=feat%3A+).

> **Note**
> Requests can be accepted or rejected at the discretion of maintainers of ReVanced CLI.
Expand All @@ -80,19 +80,19 @@ Features can be requested by opening an issue using the
## 🐞 Submitting a bug report

If you encounter a bug while using ReVanced CLI, open an issue using the
[Bug report issue template](https://github.com/ReVanced/revanced-cli/issues/new?assignees=&labels=Bug+report&projects=&template=bug-report.yml&title=bug%3A+).
[Bug report issue template](https://github.com/ReVanced/revanced-cli/issues/new?assignees=&labels=Bug+report&projects=&template=bug_report.yml&title=bug%3A+).

## 📝 How to contribute

1. Before contributing, it is recommended to open an issue to discuss your change
with the maintainers of ReVanced CLI. This will help you determine whether your change is acceptable
and whether it is worth your time to implement it
2. Development happens on the `dev` branch. Fork the repository and create your branch from `dev`
3. Commit your changes.
3. Commit your changes
4. Submit a pull request to the `dev` branch of the repository and reference issues
that your pull request closes in the description of your pull request
5. Our team will review your pull request and provide feedback. Once your pull request is approved,
it will be merged into the `dev` branch and will be included in the next release of ReVanced CLI

❤️ Thank you for considering contributing to ReVanced CLI,
❤️ Thank you for considering contributing to ReVanced CLI,
ReVanced
30 changes: 22 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,23 @@ Command line application to use ReVanced.

## ❓ About

ReVanced CLI is a command line application to patch apps using ReVanced.
ReVanced CLI also comes with commands to uninstall or install patched apps and list patches from supplied patch bundles.
ReVanced CLI is a command line application that uses [ReVanced Patcher](https://github.com/revanced/revanced-patcher) to patch Android apps.

## 🚀 Download
## 💪 Features

You can download the most recent version of ReVanced CLI from
[here](https://github.com/ReVanced/revanced-cli/releases/latest). Learn how to use ReVanced CLI by following the [documentation](/docs).
Some of the features ReVanced CLI provides are:

- 💉 **Patch apps**: Harness ReVanced Patcher to patch Android apps
- 💾 **Install and uninstall apps**: Install and uninstall Apps via ADB,
using the Android package manager, or by mounting using root permissions
- 📃 **List patches from patch bundles**: List available patches, compatible packages, and versions
- 💪 **Flexibility and functionality**: Apply any combination of patches to any version of Android apps

## 🔽 Download

You can download the most recent version of ReVanced CLI from
[here](https://github.com/ReVanced/revanced-cli/releases/latest).
Learn how to use ReVanced CLI by following the [documentation](/docs).

## 📚 Everything else

Expand All @@ -84,10 +94,14 @@ You can find the contribution guidelines [here](CONTRIBUTING.md).

### 🛠️ Building

In order to build ReVanced CLI, you can follow the [documentation](/docs).
To build a ReVanced CLI, you can follow the [documentation](/docs).

### 📃 Documentation

You can find the documentation of ReVanced CLI [here](/docs).

## 📜 Licence

ReVanced CLI is licensed under the GPLv3 licence. Please see the [licence file](LICENSE) for more information.
ReVanced CLI is licensed under the GPLv3 license. Please see the [license file](LICENSE) for more information.
[tl;dr](https://www.tldrlegal.com/license/gnu-general-public-license-v3-gpl-3) you may copy, distribute and modify ReVanced CLI as long as you track changes/dates in source files.
Any modifications to ReVanced CLI must also be made available under the GPL along with build & install instructions.
Any modifications to ReVanced CLI must also be made available under the GPL, along with build & install instructions.
67 changes: 46 additions & 21 deletions build.gradle.kts
Original file line number Diff line number Diff line change
@@ -1,15 +1,31 @@
import org.jetbrains.kotlin.gradle.dsl.JvmTarget

plugins {
kotlin("jvm") version "1.9.10"
alias(libs.plugins.kotlin)
alias(libs.plugins.shadow)
application
`maven-publish`
signing
}

group = "app.revanced"

application {
mainClass = "app.revanced.cli.command.MainCommandKt"
}

repositories {
mavenCentral()
mavenLocal()
google()
maven { url = uri("https://jitpack.io") }
maven {
// A repository must be speficied for some reason. "registry" is a dummy.
url = uri("https://maven.pkg.github.com/revanced/registry")
credentials {
username = project.findProperty("gpr.user") as String? ?: System.getenv("GITHUB_ACTOR")
password = project.findProperty("gpr.key") as String? ?: System.getenv("GITHUB_TOKEN")
}
}
}

dependencies {
Expand All @@ -21,7 +37,15 @@ dependencies {
testImplementation(libs.kotlin.test)
}

kotlin { jvmToolchain(11) }
kotlin {
compilerOptions {
jvmTarget.set(JvmTarget.JVM_11)
}
}

java {
targetCompatibility = JavaVersion.VERSION_11
}

tasks {
test {
Expand All @@ -36,35 +60,36 @@ tasks {
}

shadowJar {
manifest {
attributes("Main-Class" to "app.revanced.cli.command.MainCommandKt")
}
minimize {
exclude(dependency("org.jetbrains.kotlin:.*"))
exclude(dependency("org.bouncycastle:.*"))
exclude(dependency("app.revanced:.*"))
}
}

build {
publish {
dependsOn(shadowJar)
}
}

/*
Dummy task to hack gradle-semantic-release-plugin to release this project.

Explanation:
SemVer is a standard for versioning libraries.
For that reason the semantic-release plugin uses the "publish" task to publish libraries.
However, this subproject is not a library, and the "publish" task is not available for this subproject.
Because semantic-release is not designed to handle this case, we need to hack it.
// Needed by gradle-semantic-release-plugin.
// Tracking: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435

RE: https://github.com/KengoTODA/gradle-semantic-release-plugin/issues/435
*/
// The maven-publish is also necessary to make the signing plugin work.
publishing {
repositories {
mavenLocal()
}

register<DefaultTask>("publish") {
group = "publishing"
description = "Dummy task to hack gradle-semantic-release-plugin to release ReVanced CLI"
dependsOn(build)
publications {
create<MavenPublication>("revanced-cli-publication") {
from(components["java"])
}
}
}

signing {
useGpgCmd()

sign(publishing.publications["revanced-cli-publication"])
}
2 changes: 1 addition & 1 deletion docs/0_prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ To use ReVanced CLI, you will need to fulfill specific requirements.

## 🤝 Requirements

- Java Runtime Environment 11 (Azul Zulu JRE or OpenJDK)
- Java Runtime Environment 11 ([Azul Zulu JRE](https://www.azul.com/downloads/?version=java-11-lts&package=jdk#zulu) or [OpenJDK](https://jdk.java.net/archive/))
- [Android Debug Bridge (ADB)](https://developer.android.com/studio/command-line/adb) if you want to install the patched APK file on your device
- An ABI other than ARMv7 such as x86 or x86-64 (or a custom AAPT binary that supports ARMv7)

Expand Down
Loading
Loading