From 855f3eb0fd2519dc60151e59c8517cd7e7eada52 Mon Sep 17 00:00:00 2001 From: Stef Tervelde Date: Wed, 26 Nov 2025 15:30:37 +0100 Subject: [PATCH] Squashed commit of the following: commit 8d1154564df9b7e866d42fce0e4d5ce5ce3c39cb Author: Stef Tervelde Date: Wed Nov 26 15:23:25 2025 +0100 Update release.yml commit d77743d44b72f9cfa1602775069eb2b98ca4e3ca Author: Stef Tervelde Date: Wed Nov 26 15:21:20 2025 +0100 Update release.yml commit 8a20cc8cdb190e2ed13c20e4591b84c77a6c7941 Author: Stef Tervelde Date: Wed Nov 26 15:17:41 2025 +0100 Update mode.properties commit 63035dea71b53aa596995dfb906ec16305264fe5 Author: Stef Tervelde Date: Wed Nov 26 15:12:27 2025 +0100 Update release.yml commit 84de2a1c4d4fc624ccf6bafed22075df24e6fa90 Author: Stef Tervelde Date: Wed Nov 26 15:05:38 2025 +0100 Update release.yml commit 5d0cdee179c5dd769c2b2aa77aa307e356e34732 Author: Stef Tervelde Date: Wed Nov 26 15:04:35 2025 +0100 Update release.yml commit 20ba65c5dab7e5c36258a832e964c070d10dd95a Author: Stef Tervelde Date: Wed Nov 26 15:00:36 2025 +0100 Update action.yml commit 8d07ccc905dd0c51a3a816adae53b7f7a48b9dc1 Author: Stef Tervelde Date: Wed Nov 26 14:56:49 2025 +0100 Release workflow commit b0299869a9171aa1e777c51acb6bd41c969c3a3b Author: Stef Tervelde Date: Wed Nov 26 14:30:22 2025 +0100 build fixes & disabling vr and ar for now commit 3cf757c5feb1b745c0a5787245136d57c0b99bcd Author: Stef Tervelde Date: Wed Nov 26 11:05:43 2025 +0100 Deps fixes commit 7bb26766f836469c3cb9aa71081215af631ff5d0 Author: Stef Tervelde Date: Wed Nov 26 10:13:04 2025 +0100 undo fix commit 69ac132c470d506df09c3c703c67b05ebbaf2564 Author: Stef Tervelde Date: Wed Nov 26 10:12:23 2025 +0100 Update build.yml commit 7a2a54ec472b2805d59e285bfe9721541bf9ba1d Author: Stef Tervelde Date: Wed Nov 26 10:09:39 2025 +0100 Update build.yml commit 5ce4bc403a87a9d249cfce2efce8bb6164441599 Author: Stef Tervelde Date: Wed Nov 26 10:08:54 2025 +0100 Update build.yml commit e3f8a58dfed78ead60e0a10d0a086980d1e017b1 Author: Stef Tervelde Date: Wed Nov 26 10:02:20 2025 +0100 Update build.yml commit 4a602dc6e84a308488aafbf38e1991b7a289d553 Author: Stef Tervelde Date: Wed Nov 26 10:00:17 2025 +0100 Update build.yml commit 9e33214566697c125e8d6961c349196141741384 Author: Stef Tervelde Date: Wed Nov 26 09:57:41 2025 +0100 Update build.yml commit d46edaccee90446829d0e400ff54cf4701634cb4 Author: Stef Tervelde Date: Wed Nov 26 09:55:27 2025 +0100 Update build.yml commit e1e75651fead8f44fd7a90162fd496ec67e2ad71 Author: Stef Tervelde Date: Wed Nov 26 09:49:38 2025 +0100 Update build.yml commit a36b92aeb0618bb2d82e7a33b395c3558e4f0800 Author: Stef Tervelde Date: Wed Nov 26 09:46:25 2025 +0100 Update build.yml commit bd96da2f57af7b0f8d4aebf3013df3a0b28a287f Author: Stef Tervelde Date: Wed Nov 26 09:45:04 2025 +0100 Update build.yml commit 49c63b69c66fb199f4d99ee9448d81cba94ab802 Author: Stef Tervelde Date: Wed Nov 26 09:43:04 2025 +0100 Update build.yml commit 33734833d3f10f6424326677a71bfde499353153 Author: Stef Tervelde Date: Wed Nov 26 09:41:29 2025 +0100 added android sdk commit c8200f94f2b2d2a2e60e67d9416de3bd65934f23 Author: Stef Tervelde Date: Wed Nov 26 09:39:45 2025 +0100 build commit a3dd23cb5067ed6e4b18d218472799ff1ab78451 Author: Stef Tervelde Date: Wed Nov 26 09:36:43 2025 +0100 Added icon and started fixing some gradle errors --- .github/actions/create/action.yml | 29 +++++++++++++++++ .github/workflows/build.yml | 25 +++++++++++++++ .github/workflows/release.yml | 52 +++++++++++++++++++++++++++++++ .gitignore | 1 + .idea/icon.svg | 5 +++ gradle.properties | 3 +- processing/build.gradle | 43 ++++++++++++++----------- processing/core/build.gradle | 4 +++ processing/mode/build.gradle | 2 +- processing/mode/mode.properties | 16 +++++----- processing/settings.gradle | 2 +- 11 files changed, 152 insertions(+), 30 deletions(-) create mode 100644 .github/actions/create/action.yml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/release.yml create mode 100644 .idea/icon.svg diff --git a/.github/actions/create/action.yml b/.github/actions/create/action.yml new file mode 100644 index 000000000..282249e95 --- /dev/null +++ b/.github/actions/create/action.yml @@ -0,0 +1,29 @@ +name: "Setup & Build Android Mode" +description: "Setup and build the Processing Android Mode" +runs: + using: "composite" + steps: + - name: Install Java + uses: actions/setup-java@v4 + with: + java-version: '17' + distribution: 'temurin' + + - name: Setup Gradle + uses: gradle/actions/setup-gradle@v4 + + - name: Setup Android SDK + uses: android-actions/setup-android@v3 + + - name: Build with Gradle + shell: bash + run: | + echo sdk.dir=/usr/local/lib/android/sdk/ >> local.properties + ./gradlew libs:processing-core:build + + - name: Create the mode + shell: bash + run: | + cd processing + echo sdk.dir=/usr/local/lib/android/sdk/ >> local.properties + ./gradlew dist \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..5d5228745 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,25 @@ +name: Branch Builds +on: + push: + paths-ignore: + - '**/*.md' + - '.all-contributorsrc' + +jobs: + build: + name: Build Android Mode + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + - name: Setup and Build Android Mode + uses: ./.github/actions/create + + - name: Add artifact + uses: actions/upload-artifact@v4 + with: + name: AndroidMode + path: ./processing/dist/AndroidMode.zip + retention-days: 1 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..0752f033c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,52 @@ +name: Releases +on: + workflow_dispatch: + inputs: + version_number: + description: "What is the version number?" + required: true + version_pretty: + description: "What is the pretty version name?" + required: true + +jobs: + build: + name: Build Android Mode Release + runs-on: ubuntu-latest + permissions: + packages: write + contents: write + + steps: + - name: Checkout Repository + uses: actions/checkout@v4 + + # replace the version numbers in ./processing/mode/mode.properties + - name: Set Version Number + run: | + VERSION_NUMBER=${{ github.event.inputs.version_number }} + VERSION_PRETTY=${{ github.event.inputs.version_pretty }} + echo "Setting version to $VERSION_NUMBER ($VERSION_PRETTY)" + sed -i "s/^version=.*$/version=$VERSION_NUMBER/" ./processing/mode/mode.properties + sed -i "s/^prettyVersion=.*$/prettyVersion=$VERSION_PRETTY/" ./processing/mode/mode.properties + cat ./processing/mode/mode.properties + + - name: Setup and Build Android Mode + uses: ./.github/actions/create + + - name: Add artifact + uses: actions/upload-artifact@v4 + with: + name: AndroidMode + path: ./processing/dist/AndroidMode.zip + retention-days: 1 + + - name: Upload release + uses: svenstaro/upload-release-action@v2 + with: + repo_token: ${{ secrets.GITHUB_TOKEN }} + release_name: Release Android Mode ${{ github.event.inputs.version_number }} (${{ github.event.inputs.version_pretty }}) + file: ./processing/dist/* + file_glob: true + make_latest: true + tag: android-${{ github.event.inputs.version_number }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 073f9ee0d..cd73d26d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ .gradle .idea +!.idea/icon.svg **/examples/**/AndroidManifest.xml diff --git a/.idea/icon.svg b/.idea/icon.svg new file mode 100644 index 000000000..a68c0a2c0 --- /dev/null +++ b/.idea/icon.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/gradle.properties b/gradle.properties index 5465fec0e..ecfe850c1 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,2 +1,3 @@ android.enableJetifier=true -android.useAndroidX=true \ No newline at end of file +android.useAndroidX=true +org.gradle.jvmargs=-Xmx4g \ No newline at end of file diff --git a/processing/build.gradle b/processing/build.gradle index 9823664a5..cdf4ae1f5 100644 --- a/processing/build.gradle +++ b/processing/build.gradle @@ -146,25 +146,26 @@ task dist { FileUtils.copyDirectory(file("mode/tools/SDKUpdater/src"), file("${root}/tools/SDKUpdater/src")) - FileUtils.copyDirectory(file("mode/libraries/vr/examples"), - file("${root}/libraries/vr/examples")) - FileUtils.copyDirectory(file("mode/libraries/vr/library"), - file("${root}/libraries/vr/library")) - FileUtils.copyDirectory(file("mode/libraries/vr/libs"), - file("${root}/libraries/vr/libs")) - FileUtils.copyDirectory(file("../libs/processing-vr/src/main/java/"), - file("${root}/libraries/vr/src")) - Files.copy(file("mode/libraries/vr/library.properties").toPath(), - file("${root}/libraries/vr/library.properties").toPath(), REPLACE_EXISTING) - - FileUtils.copyDirectory(file("mode/libraries/ar/examples"), - file("${root}/libraries/ar/examples")) - FileUtils.copyDirectory(file("mode/libraries/ar/library"), - file("${root}/libraries/ar/library")) - FileUtils.copyDirectory(file("../libs/processing-ar/src/main/java/"), - file("${root}/libraries/ar/src")) - Files.copy(file("mode/libraries/ar/library.properties").toPath(), - file("${root}/libraries/ar/library.properties").toPath(), REPLACE_EXISTING) +// FileUtils.copyDirectory(file("mode/libraries/vr/examples"), +// file("${root}/libraries/vr/examples")) +// FileUtils.copyDirectory(file("mode/libraries/vr/library"), +// file("${root}/libraries/vr/library")) +// FileUtils.copyDirectory(file("mode/libraries/vr/libs"), +// file("${root}/libraries/vr/libs")) +// FileUtils.copyDirectory(file("../libs/processing-vr/src/main/java/"), +// file("${root}/libraries/vr/src")) +// Files.copy(file("mode/libraries/vr/library.properties").toPath(), +// file("${root}/libraries/vr/library.properties").toPath(), REPLACE_EXISTING) + +// FileUtils.copyDirectory(file("mode/libraries/ar/examples"), +// file("${root}/libraries/ar/examples")) +// FileUtils.copyDirectory(file("mode/libraries/ar/library"), +// file("${root}/libraries/ar/library")) +// FileUtils.copyDirectory(file("../libs/processing-ar/src/main/java/"), +// file("${root}/libraries/ar/src")) + +// Files.copy(file("mode/libraries/ar/library.properties").toPath(), +// file("${root}/libraries/ar/library.properties").toPath(), REPLACE_EXISTING) File distFolder = file("dist") distFolder.mkdirs() @@ -173,3 +174,7 @@ task dist { file("dist/AndroidMode.txt").toPath(), REPLACE_EXISTING) } } + +tasks.register('develop') { + dependsOn tasks.dist +} \ No newline at end of file diff --git a/processing/core/build.gradle b/processing/core/build.gradle index 07a8b8b73..23ad7f8b3 100644 --- a/processing/core/build.gradle +++ b/processing/core/build.gradle @@ -12,6 +12,9 @@ dependencies { implementation name: "android" implementation "androidx.legacy:legacy-support-v4:${v4legacyVersion}" implementation "com.google.android.support:wearable:${wearVersion}" + // all jars in the libs folder + implementation fileTree(dir: "${rootDir}/build/libs", include: ['*.jar']) + } sourceSets.main { @@ -61,6 +64,7 @@ tasks.named('clean').configure { } tasks.named('compileJava').configure { + dependsOn(tasks.named("extractAarJars")) doFirst { String[] deps = ["wearable.jar"] deps.each { fn -> diff --git a/processing/mode/build.gradle b/processing/mode/build.gradle index 0f34a95d9..683fff442 100644 --- a/processing/mode/build.gradle +++ b/processing/mode/build.gradle @@ -25,7 +25,7 @@ dependencies { implementationCopy "org.slf4j:slf4j-api:${slf4jVersion}" implementationCopy "org.slf4j:slf4j-simple:${slf4jVersion}" - implementation fileTree(include: ["jdi.jar", "jdimodel.jar", "core.jar", "pde.jar", "JavaMode.jar"], dir: 'mode') + implementation fileTree(include: ["jdi.jar", "jdimodel.jar", "core.jar", "pde.jar", "JavaMode.jar", "gradle-tooling-api-7.2.jar"], dir: 'mode') } // This task copies the gradle tooling jar into the mode folder diff --git a/processing/mode/mode.properties b/processing/mode/mode.properties index a03cb0ece..8046c1c69 100644 --- a/processing/mode/mode.properties +++ b/processing/mode/mode.properties @@ -1,10 +1,10 @@ -name = Android Mode for Processing 4 -authorList = [The Processing Foundation](https://processingfoundation.org/) -url = https://android.processing.org -sentence = This mode lets you use Processing to create Android apps +name=Android Mode for Processing 4 +authorList=[The Processing Foundation](https://processingfoundation.org/) +url=https://android.processing.org +sentence=This mode lets you use Processing to create Android apps paragraph = imports=processing.mode.java.JavaMode -version = 412 -prettyVersion = 4.6.0 -minRevision = 1283 -maxRevision = 0 \ No newline at end of file +minRevision=1283 +maxRevision=0 +version=412 +prettyVersion=4.6.0 \ No newline at end of file diff --git a/processing/settings.gradle b/processing/settings.gradle index 9e3fad4ab..9ffc5933e 100644 --- a/processing/settings.gradle +++ b/processing/settings.gradle @@ -1,2 +1,2 @@ -include ':mode', ':core', ':mode:libraries:vr', ':mode:libraries:ar', 'mode:tools:SDKUpdater' +include ':mode', ':core', 'mode:tools:SDKUpdater'