Monster NM 2022-01-26 23:41:37 阅读数:224
I opened up a Android Tree view control to github, Then I want to use it implementation 'io.github.guaishoun:gyso-treeview:1.0.1'
This way for others to use , according to sonatype The recommended Android gradle The way has never been successful . Finally, open source by learning from others gradle Configuration and blog on the website realize . The detailed process is recorded below .
In particular, the system environment of this paper is windows.
Step summary :
a Upload your open source project to github
b stay https://issues.sonatype.org/ Create questions , And wait for the administrator to review to solved state
c Create the key and upload the public key to the service
d Configure open source library Of gradle And compile
e Handle maven Open source status , And notify the administrator to synchronize
f Test open source references
Copy code
This one doesn't go into detail , Because this step, if not , This article is not suitable ~~~
The example used in this article is github.com/guaishouN/a…
Get into issues.sonatype.org/ This website , If you don't have an account …, And remember the user name and password , For the back .
The next goal is to create a project for review as solved state , The screenshot is as follows
Fill in instructions :
A--> choose Community Support - Open Source Project Repository Hosting (OSSRH)
B-->New Project
C--> Abstract , Such as An android open source project for tree view
D--> describe A custom view for tree nodes.
E--> This can't be filled in casually. Pay attention to the naming rules , Sure Reference link , For example, upload github project github.com/guaishouN/a…
F--> Such as github.com/guaishouN/a…
G--> Such as github.com/guaishouN/a…, contrast F There are too many items **.git**
H--> Registered sonatype user name
I--> choice No
Then after the creation is completed, it is like this
The new status is open( to open up ), After a while, the administrator will give you feedback . If it is github Open source project , For example, he asks you to standardize the naming and create a new github The warehouse proves that the open source warehouse is yours . If it's all right , Then the administrator will change the problem status to solved( Repair ), Then you can upload your open source library . Finally, the administrator will close it in two or three days , So when the status is solved , Take the time to upload your open source .
sonatype New issue status changes to resolved after , Download a signature tool www.gnupg.org/download/in…
File new key pair
And then everywhere
GuaishouN_0x163517B0_public.asc
Here's the picture Open the website and upload the public key OpenPGP Keyserver (ubuntu.com), as follows
And then again search key You can search for
Then export the private key
GuaishouN_0x163517B0_SECRET.gpg
among keyId Right click to see , Here's the picture
Record the following three messages , For the back
serect.gpg The path of file saving
secret key keyId( As the key ID After 8 position , As above, keyid by 163517b0)
password
Copy code
This paragraph officially States , But I haven't uploaded it successfully , So see some open source github The project is changed gradle file .
The official link is OSSRH Guide - The Central Repository Documentation (sonatype.org) and chrisbanes/gradle-mvn-push: Helper to upload Gradle Android Artifacts to Maven repositories (github.com).
My practice method is as follows , It's successful packaging aar And upload .
First, in the C:\Users\Mr. Deng\.gradle
New under the directory gradle.properties file
#https://issues.sonatype.org/ Username and password
NEXUS_USERNAME=GuaishouN
NEXUS_PASSWORD=*******
#gpg Signature code , And to the exported signature file
signing.keyId=163517b0
signing.password=********
signing.secretKeyRingFile=C\:\\Users\\Mr. Deng\\.gradle\\GuaishouN_0x163517B0_SECRET.gpg
Copy code
modify library In the catalog build.gradle
( Note that it's not Engineering build.gradle)
apply plugin: 'com.android.library'
apply plugin: 'maven-publish'
apply plugin: 'signing'
version = '1.0.1'
android {
...
}
dependencies {
...
}
task androidSourcesJar(type: Jar) {
archiveClassifier.set("sources")
from android.sourceSets.main.java.source
exclude "**/R.class"
exclude "**/BuildConfig.class"
}
publishing {
publications {
release(MavenPublication) {
// group id, Dependencies referenced after publishing group id
groupId 'io.github.guaishoun'
// Dependencies referenced after publishing artifact id
artifactId 'gyso-treeview'
// Released version
version version
// released arr Files and source files
artifact("$buildDir/outputs/aar/${project.getName()}-release.aar")
artifact androidSourcesJar
pom {
// Component name , You can customize
name = 'gyso-treeview'
// Component description
description = 'A custom tree view for Android, designed for easy drawing some tree nodes (e.g. think mind and tree nodes). Includes smoothly zoom, move, limit and center fix animation support, and allows easy extension so you can add your own child node\'s customs view and touch event detection.'
// Component home page
url = 'https://github.com/guaishouN/android-thinkmap-treeview'
// License name and address
licenses {
license {
name = 'MIT License'
url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
}
}
// Developer Information
developers {
developer {
name = 'GuaishouN'
email = '[email protected]'
}
}
// Version control warehouse address
scm {
url = 'https://github.com/guaishouN/android-thinkmap-treeview'
connection = 'scm:[email protected]:guaishouN/android-thinkmap-treeview.git'
developerConnection = 'scm:[email protected]:guaishouN/android-thinkmap-treeview.git'
}
}
}
}
repositories {
maven {
// The location of the release , Here we distinguish according to the released version SNAPSHOT And the final version
def releasesRepoUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
def snapshotsRepoUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl
credentials {
// This is where I was before issues.sonatype.org Registered account
username NEXUS_USERNAME
password NEXUS_PASSWORD
}
}
}
}
signing {
sign publishing.publications
}
Copy code
Last but not least , Enter... In the project root directory
gradlew build publish
Compile and upload
open s01.oss.sonatype.org/, Use https://…
After successful uploading, you can see the search interface in the figure above
First check the item to be updated , The current state is open, Then click close, Finally, click release.
Then back issues.sonatype.org/ Reply to the administrator that you have finished uploading
Then the administrator will reply to you , The warehouse has been synchronized with other information
The warehouse is staging You can't use implement
synchronous , It will take a short time , Synced to releas The warehouse can only be used .
dependencies {
implementation 'androidx.dynamicanimation:dynamicanimation:1.0.0'
implementation 'io.github.guaishoun:gyso-treeview:1.0.1'
}
Copy code
You can go to maven Go search and see if you can find your warehouse
This paper aims at Android The open source of , Of course, the process also encountered many problems , The article didn't post . If something is wrong , Welcome to point out .
copyright:author[Monster NM],Please bring the original link to reprint, thank you. https://en.javamana.com/2022/01/202201262341328980.html