Skip to content

Conversation

@Ant1r
Copy link
Contributor

@Ant1r Ant1r commented Jul 14, 2025

This PR includes:

  • commits from my recent PRs, mainly the Midi updates (get rid of com.noisepages.nettoyeur:midi) and other fixes
  • updates on the build system and afferent fixes
  • the modernization of native code management

The latter allows to fix the CI build, as well as long standing issues about adding native code externals to Pd in Android apps.
Here is a quick description of the changes:

  • PdCore now exports "prefab" directory with headers and libs, so externals can compile and link to libpd.
  • apps that include externals (ScenePlayer and PdTest) are now built using the pd-core prefab.
  • for this to work, it has been necessary to split PdCore as a separate library, and to "includeBuild" it, making pd-for-android a so-called Composite project.
    This has the benefit that now, pd-core dependency is declared by the apps the same way as if they were standalone; so they can safely be taken as examples.

Note: 2 small issues remain:

  • pd-core exports all Pd source files in prefab, not only the needed .h files. This could be fixed with copying the only needed files to a temporary include/ dir before building.
    Anyway this issue doesn't harm much, because final apps don't include the prefab dir.
  • pd-core version (which has been bumped to 1.3.0 for now, to be discussed) is present at 2 distinct places: build.gradle and PdCore/build.gradle, and both need to be kept in sync.
    I couldn't find a way to merge them both.

Fixes #127.
Fixes #157.
Closes #75.

@joebowbeer
Copy link
Contributor

Fixes #157 ?

@Ant1r
Copy link
Contributor Author

Ant1r commented Sep 25, 2025

Yes it fixes #157!
And with the latest commit 4c74215 it also complies to the 16KB Google requirement.

@rpattabi
Copy link

Not yet integrated into the repo?

@joebowbeer joebowbeer requested a review from tkirshboim November 1, 2025 07:14
Copy link
Contributor

@joebowbeer joebowbeer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Thanks @Ant1r !

I made a few tweaks to:

  1. address some deprecation warnings
  2. normalize style
  3. update dependencies

@joebowbeer joebowbeer merged commit e736d96 into libpd:master Nov 2, 2025
1 check passed
@joebowbeer
Copy link
Contributor

joebowbeer commented Nov 2, 2025

@Ant1r @tkirshboim

The default branch now builds and creates an aar artifact.

The publishToSonatype (staging) step is currently failing:

* What went wrong:
Execution failed for task ':PdCore:initializeSonatypeStagingRepository'.
> Failed to load staging profiles, server at https://s01.oss.sonatype.org/service/local/ responded with status code 403

Migration docs:

https://central.sonatype.org/pages/ossrh-eol/

@Ant1r
Copy link
Contributor Author

Ant1r commented Nov 2, 2025

The publishToSonatype (staging) step is currently failing

are the credentials in Settings/Security/Secrets and variables/Action still valid for the sonatype account?

@joebowbeer
Copy link
Contributor

joebowbeer commented Nov 2, 2025

The io.github.libpd namespace exists in the new location and I have enabled SNAPSHOTs

I think the changes consist of:

  1. Change the endpoint as per https://central.sonatype.org/publish/publish-portal-ossrh-staging-api/#configuring-your-plugin
  2. Generate new tokens
  3. Some changes for SNAPSHOTs https://central.sonatype.org/publish/publish-portal-snapshots/

@joebowbeer
Copy link
Contributor

See #158

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Can no longer build .aar using current build.gradle Issue linking externals? Include header files in AAR required for building custom externals

3 participants