Форум для тех, кто программирует под Android
Anonymous
Как опубликовать библиотеку maven в GitHub Actions локально?
Сообщение
Anonymous » 03 июл 2024, 07:39
У меня есть сценарий GitHub Actions для создания приложения Android, но мне нужно включить определенные готовые библиотеки (ktmidi и rtmidi), которые я предварительно собрал на своем локальном компьютере перед началом работы над проектом. Как я могу опубликовать эти библиотеки, чтобы обеспечить правильную сборку приложения Android?
Мой код действий GitHub:
Код: Выделить всё
...
jobs:
build_android:
name: Assemble android release, send it into App Distribution and notify other team
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen
- name: Grant Permission for gradlew
run: chmod +x gradlew
- name: Initialize and Update Git Submodules
run: git submodule update --init --recursive
- name: Assemble Release
run: ./gradlew assembleRelease ...
Старая версия:
Код: Выделить всё
jobs:
build_android:
name: Assemble android release, send it into App Distribution and notify other team
runs-on: ubuntu-22.04
steps:
- name: Checkout Repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen
- name: Setup NDK Workaround
run: sudo mkdir -p /usr/local/lib/android/sdk/ndk && sudo chmod 777 /usr/local/lib/android/sdk/ndk
- name: Build and Publish ktmidi to Local Maven
run: |
ls -l ktmidi/
sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi/build.gradle.kts
sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-jvm-desktop/build.gradle
sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-native-ext/build.gradle.kts
./build-rtmidi.sh
./gradlew --warning-mode all build publishToMavenLocal
env:
GITHUB_TOKEN: ${{ secrets.MAVEN_PAT }}
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }}
SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }}
SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE }}
Я добавляю задачу загрузки RtMidi 4.0.0 для локальной публикации этой библиотеки, но получаю проблему: файл «rtmidi/rtmidi_c.h» не найден.
Подробнее здесь:
https://stackoverflow.com/questions/786 ... ns-locally
1719981594
Anonymous
У меня есть сценарий GitHub Actions для создания приложения Android, но мне нужно включить определенные готовые библиотеки (ktmidi и rtmidi), которые я предварительно собрал на своем локальном компьютере перед началом работы над проектом. Как я могу опубликовать эти библиотеки, чтобы обеспечить правильную сборку приложения Android? Мой код действий GitHub: [code]... jobs: build_android: name: Assemble android release, send it into App Distribution and notify other team runs-on: ubuntu-22.04 steps: - name: Checkout Repository uses: actions/checkout@v4 with: submodules: recursive - name: Install Dependencies run: | sudo apt-get update sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen - name: Grant Permission for gradlew run: chmod +x gradlew - name: Initialize and Update Git Submodules run: git submodule update --init --recursive - name: Assemble Release run: ./gradlew assembleRelease ... [/code] Старая версия: [code]jobs: build_android: name: Assemble android release, send it into App Distribution and notify other team runs-on: ubuntu-22.04 steps: - name: Checkout Repository uses: actions/checkout@v4 with: submodules: recursive - name: Install Dependencies run: | sudo apt-get update sudo apt-get install -y build-essential autoconf libtool pkg-config libasound2-dev libjack-jackd2-dev cmake ninja-build doxygen - name: Setup NDK Workaround run: sudo mkdir -p /usr/local/lib/android/sdk/ndk && sudo chmod 777 /usr/local/lib/android/sdk/ndk - name: Build and Publish ktmidi to Local Maven run: | ls -l ktmidi/ sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi/build.gradle.kts sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-jvm-desktop/build.gradle sed -i "s/signing {}/signing { sign(publishing.publications) }/" ktmidi-native-ext/build.gradle.kts ./build-rtmidi.sh ./gradlew --warning-mode all build publishToMavenLocal env: GITHUB_TOKEN: ${{ secrets.MAVEN_PAT }} OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }} OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }} SIGNING_KEY_ID: ${{ secrets.SIGNING_KEY_ID }} SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} SIGNING_SECRET_KEY_RING_FILE: ${{ secrets.SIGNING_SECRET_KEY_RING_FILE }} [/code] Я добавляю задачу загрузки RtMidi 4.0.0 для локальной публикации этой библиотеки, но получаю проблему: файл «rtmidi/rtmidi_c.h» не найден. Подробнее здесь: [url]https://stackoverflow.com/questions/78600444/how-to-publish-maven-library-into-github-actions-locally[/url]