Skip to content

Migrate to maven-publish plugin #623

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

Closed
codeanticode opened this issue Jan 3, 2021 · 15 comments · Fixed by #635
Closed

Migrate to maven-publish plugin #623

codeanticode opened this issue Jan 3, 2021 · 15 comments · Fixed by #635

Comments

@codeanticode
Copy link
Contributor

Currently, the maven plugin is used to generate pom files for publication of the core, vr, and ar libraries on JCenter. The maven plugin is deprecated and incompatible with Gradle 7, migration to maven-publishing is recommended:

https://docs.gradle.org/6.7.1/userguide/publishing_maven.html

@codeanticode
Copy link
Contributor Author

Working on it...

@ranaaditya
Copy link
Member

Hi @codeanticode , I got an idea of eliminating this issue of hosting libraries on maven, JCenter, jfrog, etc (all the free hosting resources available).

We can host our libraries on processing server like -
android-sdk : https://processing.org/android/processing-sdk
ar-lib : https://processing.org/android/processing-ar
vr-lib : https://processing.org/android/processing-vr

and inorder to use this new location from android applications we can update the build files by just including the host server link in them.

Does it sounds reasonable to us ?

If in case Maven stopped hosting all the resource in future then also we need not to worry about that !

Thanks,
Rana !

@codeanticode
Copy link
Contributor Author

I think the main purpose of publishing artifacts on a repository like Maven it being able to include them into Android Studio projects easily. Can that be done if they are self-hosted?

@rupeshkumar22
Copy link
Contributor

rupeshkumar22 commented Sep 5, 2022

processing4's ant build task uses some jar links self hosted on processing. Last time, When I tried downloading them separately from processing's hosted link. It was taking bit time to download. But the download speed was not that slow. We can consider speed factor here.
Thanks

@ranaaditya
Copy link
Member

ranaaditya commented Sep 5, 2022

I think the main purpose of publishing artifacts on a repository like Maven it being able to include them into Android Studio projects easily. Can that be done if they are self-hosted?

Hi @codeanticode , yes self hosted will work exatctly same as that of Maven or JCenter.

In application (using processing-android as external lib) code we would need to just change the dependency downlaoding line in project level gradle build file only, code will look something like:

allprojects {
    repositories {
        maven {
            url "https://processing.org/android/processing-sdk"
        }
    }
}

NOTE: maybe downloading speed will be little lesser than Maven or JCenter as I think they are using distributed storages so they can achieve faster downloading speed.

@codeanticode
Copy link
Contributor Author

Ok, sounds like it could work out. The url would be https://android.processing.org/...

Let's revisit when we reach this stage.

@r1shhh1
Copy link

r1shhh1 commented Jan 23, 2023

Hello !
I found this issue and I wanted to work on it. Can you assign me this issue

@codeanticode
Copy link
Contributor Author

@r1shhh1 thanks for offering to help! According to what @ranaaditya mentioned a while back, a self-hosted maven repo seems like the best option, is that still your view on this issue?

@ranaaditya
Copy link
Member

@r1shhh1 thanks for offering to help! According to what @ranaaditya mentioned a while back, a self-hosted maven repo seems like the best option, is that still your view on this issue?

Hi @codeanticode , yes the permanent solution is shifting to self hosted server.

@rupeshkumar22 are you still working in this issue ? As per last meeting you had researched and debugged few things for this issue.

If @rupeshkumar22 is still not working on this issue then @r1shhh1 can take it and we can discuss it here as well in a meeeting as well !

Thanks,
Aditya

@codeanticode
Copy link
Contributor Author

Looking at #635 sounds like maven publishing is already implemented? haven't tested it, although merged already into main :-)

@victordiaz
Copy link

victordiaz commented Jan 27, 2023

I would love to see this working! Let me know if I can help somehow.

Maybe using Jitpack is easier than self hosting? It will basically pick this Github repo, build from source and publish each demanded artifact/version. I think it is quite used in the ecosystem.

There are some cases such as F-droid open-source catalogue that needs "trusted" repositories as an acceptance criteria. All the applications are built from source so custom artifact repositories are not allowed. Jitpack would work nicely since it builds the artifacts from source.

I think both solutions are not mutually exclusive, I was just giving an idea in case it might help.

@victordiaz
Copy link

@codeanticode
Copy link
Contributor Author

Learned how to create a maven repo and host it on GitHub (different from GitHub packages, which requires authentication even for importing the dependencies.

4.5.0b5 artifacts are currently available in this new branch:

https://github.com/processing/processing-android/tree/repository

and seems like I can keep adding new versions there.

@rupeshkumar22
Copy link
Contributor

@codeanticode Finally something has been done on this, I'm happy that it worked. Thanks for doing something about it Andres.

@codeanticode
Copy link
Contributor Author

@victordiaz let me know if you can use the new self-hosted repo:

https://github.com/processing/processing-android/tree/repository

I have tested with a library project and looks good.

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

Successfully merging a pull request may close this issue.

5 participants