I am developing two related project. One of which is \"helper\" one and another is \"main\" one. I am constantly updating \"main\", but from time to time I am also updating
It's easy to publish sources with the "maven-publish" plugin:
apply plugin: "maven-publish"
task sourceJar(type: Jar) {
from sourceSets.main.allJava
}
publishing {
publications {
mavenJava(MavenPublication) {
from components.java
artifact sourceJar {
classifier "sources"
}
}
}
}
Then go publish to local maven run: gradle publishToMavenLocal
More info in the docs: https://docs.gradle.org/current/userguide/publishing_maven.html#gsc.tab=0
I believe a cleaner and more concise solution for this is to use the maven-plugin
, it provides the install
task which matches Maven's install
task. Update your build.gradle
to include the following:
apply plugin: 'maven'
Then to publish (e.g. install) to Maven local repository, run: gradle install
or ./gradlew install
.
See also this solution:
Gradle alternate to mvn install
Note: the current Gradle docs (as of v4.9) says the maven-plugin
is the "Old Maven Plugin" (but it is not deprecated).
https://docs.gradle.org/current/userguide/maven_plugin.html
I think this is the simplest solution to this question at this time.
Perhaps you are better of with a multi-module project. Then the necessity to install doesn't arise at all.
The topic of -sources.jar
is discussed here