Improve development experience
1. Add installation tasks 2. Export CMake symbols for clangd
This commit is contained in:
@@ -60,7 +60,7 @@ jobs:
|
|||||||
- name: Build with Gradle
|
- name: Build with Gradle
|
||||||
run: |
|
run: |
|
||||||
chmod +x ./gradlew
|
chmod +x ./gradlew
|
||||||
./gradlew --parallel assembleRelease assembleDebug --stacktrace
|
./gradlew --parallel zipRelease zipDebug --stacktrace
|
||||||
|
|
||||||
- name: Prepare artifact
|
- name: Prepare artifact
|
||||||
if: success()
|
if: success()
|
||||||
@@ -128,4 +128,4 @@ jobs:
|
|||||||
if [[ "${{ job.status }}" == "success" ]]; then
|
if [[ "${{ job.status }}" == "success" ]]; then
|
||||||
echo "- **Release Artifact**: ${{ steps.prepareArtifact.outputs.releaseName }}" >> $GITHUB_STEP_SUMMARY
|
echo "- **Release Artifact**: ${{ steps.prepareArtifact.outputs.releaseName }}" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "- **Debug Artifact**: ${{ steps.prepareArtifact.outputs.debugName }}" >> $GITHUB_STEP_SUMMARY
|
echo "- **Debug Artifact**: ${{ steps.prepareArtifact.outputs.debugName }}" >> $GITHUB_STEP_SUMMARY
|
||||||
fi
|
fi
|
||||||
|
|||||||
+87
-6
@@ -81,6 +81,7 @@ android {
|
|||||||
externalNativeBuild {
|
externalNativeBuild {
|
||||||
cmake {
|
cmake {
|
||||||
path = file("src/main/cpp/CMakeLists.txt")
|
path = file("src/main/cpp/CMakeLists.txt")
|
||||||
|
buildStagingDirectory = layout.buildDirectory.get().asFile
|
||||||
version = "3.28.0+"
|
version = "3.28.0+"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -103,6 +104,7 @@ afterEvaluate {
|
|||||||
val tempModuleDir = project.layout.buildDirectory.dir("tmp/module-${variantName}")
|
val tempModuleDir = project.layout.buildDirectory.dir("tmp/module-${variantName}")
|
||||||
|
|
||||||
tasks.register("copyFiles${capitalized}") {
|
tasks.register("copyFiles${capitalized}") {
|
||||||
|
dependsOn("assemble${capitalized}")
|
||||||
val moduleFolder = project.rootDir.resolve("module")
|
val moduleFolder = project.rootDir.resolve("module")
|
||||||
val buildDir = project.layout.buildDirectory
|
val buildDir = project.layout.buildDirectory
|
||||||
|
|
||||||
@@ -176,13 +178,92 @@ afterEvaluate {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Zip task uses the temp directory
|
// Zip task uses the temp directory
|
||||||
tasks.register<Zip>("zip${capitalized}") {
|
val zipTask =
|
||||||
dependsOn("prepareModuleFiles${capitalized}")
|
tasks.register<Zip>("zip${capitalized}") {
|
||||||
archiveFileName.set("Tricky-Store-OSS-$verName-$gitCommitCount-$gitCommitHash-${capitalized}.zip")
|
dependsOn("prepareModuleFiles${capitalized}")
|
||||||
destinationDirectory.set(project.rootDir.resolve("out"))
|
archiveFileName.set(
|
||||||
from(tempModuleDir)
|
"TEESimulator-$verName-$gitCommitCount-$gitCommitHash-${capitalized}.zip"
|
||||||
|
)
|
||||||
|
destinationDirectory.set(project.rootDir.resolve("out"))
|
||||||
|
from(tempModuleDir)
|
||||||
|
}
|
||||||
|
|
||||||
|
val pushTask =
|
||||||
|
tasks.register<Exec>("push${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(zipTask)
|
||||||
|
commandLine(
|
||||||
|
"adb",
|
||||||
|
"push",
|
||||||
|
zipTask.get().archiveFile.get().asFile,
|
||||||
|
"/data/local/tmp",
|
||||||
|
)
|
||||||
|
description = "Pushes the $variantName module zip to the device."
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- Magisk Install Tasks ---
|
||||||
|
val installMagiskTask =
|
||||||
|
tasks.register<Exec>("installMagisk${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(pushTask)
|
||||||
|
commandLine(
|
||||||
|
"adb",
|
||||||
|
"shell",
|
||||||
|
"su",
|
||||||
|
"-c",
|
||||||
|
"magisk --install-module /data/local/tmp/${zipTask.get().archiveFileName.get()}",
|
||||||
|
)
|
||||||
|
description = "Installs the $variantName module via Magisk."
|
||||||
|
}
|
||||||
|
tasks.register<Exec>("installMagiskAndReboot${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(installMagiskTask)
|
||||||
|
commandLine("adb", "reboot")
|
||||||
|
description = "Installs the $variantName module via Magisk and reboots."
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- KernelSU Install Tasks ---
|
||||||
|
val installKsuTask =
|
||||||
|
tasks.register<Exec>("installKsu${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(pushTask)
|
||||||
|
commandLine(
|
||||||
|
"adb",
|
||||||
|
"shell",
|
||||||
|
"su",
|
||||||
|
"-c",
|
||||||
|
"ksud module install /data/local/tmp/${zipTask.get().archiveFileName.get()}",
|
||||||
|
)
|
||||||
|
description = "Installs the $variantName module via KernelSU."
|
||||||
|
}
|
||||||
|
tasks.register<Exec>("installKsuAndReboot${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(installKsuTask)
|
||||||
|
commandLine("adb", "reboot")
|
||||||
|
description = "Installs the $variantName module via KernelSU and reboots."
|
||||||
|
}
|
||||||
|
|
||||||
|
// --- APatch Install Tasks ---
|
||||||
|
val installApatchTask =
|
||||||
|
tasks.register<Exec>("installApatch${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(pushTask)
|
||||||
|
commandLine(
|
||||||
|
"adb",
|
||||||
|
"shell",
|
||||||
|
"su",
|
||||||
|
"-c",
|
||||||
|
"/data/adb/apd module install /data/local/tmp/${zipTask.get().archiveFileName.get()}",
|
||||||
|
)
|
||||||
|
description = "Installs the $variantName module via APatch."
|
||||||
|
}
|
||||||
|
tasks.register<Exec>("installApatchAndReboot${capitalized}") {
|
||||||
|
group = "TEESimulator Module Installation"
|
||||||
|
dependsOn(installApatchTask)
|
||||||
|
commandLine("adb", "reboot")
|
||||||
|
description = "Installs the $variantName module via APatch and reboots."
|
||||||
}
|
}
|
||||||
|
|
||||||
tasks["assemble${capitalized}"].finalizedBy("zip${capitalized}")
|
tasks["assemble${capitalized}"].finalizedBy("zip${capitalized}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ project(TrickyStoreOSS)
|
|||||||
find_package(cxx REQUIRED CONFIG)
|
find_package(cxx REQUIRED CONFIG)
|
||||||
link_libraries(cxx::cxx)
|
link_libraries(cxx::cxx)
|
||||||
|
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
add_library(my_logging STATIC logging/logging.cpp)
|
add_library(my_logging STATIC logging/logging.cpp)
|
||||||
target_include_directories(my_logging PUBLIC logging/include)
|
target_include_directories(my_logging PUBLIC logging/include)
|
||||||
target_link_libraries(my_logging log)
|
target_link_libraries(my_logging log)
|
||||||
|
|||||||
Reference in New Issue
Block a user