Releasing a Jar - novoda/public-mvn-repo GitHub Wiki

Releasing a .jar with Dependencies

Ensure that your /target contains the output jar. If it doesn't, run mvn clean install

mvn deploy:deploy-file 
-Dfile=/home/adam/dev/novoda/notils/java/target/java-1.0-SNAPSHOT.jar \
-DpomFile=/home/adam/dev/novoda/notils/java/pom.xml \
-DgroupId=com.novoda.notils \
-DartifactId=java \
-Dversion=1.0 \
-Dpackaging=jar \
-Durl=file:///home/adam/public-mvn-repo/releases/ 

Making local releases

Run this command from the projects target/checkout/directory:

mvn clean install deploy:deploy -Plocalrelease  

Manually deploy a jar in the repo

  1. clone the public-maven-repo
  2. run the command
	<pre><code>
	 mvn deploy:deploy-file \
	 -DgroupId=com.your.group.id \
	 -DartifactId=your-artifact-id \
	 -Dversion=1.0.0.0 \
	 -Dpackaging=jar \
	 -Dfile=path/to/file/jar_name.jar \
	 -Durl=file://path/to/local/cloned/repo/public-mvn-repo/releases/
	</code></pre>
	
	jar example
	<pre><code>
	  mvn deploy:deploy-file \
	  -DgroupId=com.omniture \
	  -DartifactId=omniture \
	  -Dversion=1.0.0 \
	  -Dpackaging=jar \
	  -Dfile=omniture_app_measurement.jar \
	  -Durl=file:////Users/Blundell/Developer/git_repo/public-mvn-repo/releases/
	</code></pre>
	
	jar source example
	<pre><code>
	 mvn deploy:deploy-file \
	 -DgroupId=com.novoda \
	 -DartifactId=sexp \
	 -Dversion=1.0.0-SNAPSHOT \
	 -Dpackaging=java-source \
	 -Dfile=path/to/file/jar_name-1.0.0-sources.jar \
	 -Durl=file://path/to/local/cloned/repo/public-mvn-repo/releases/ \
	 -DgeneratePom=false
	</code></pre>

       java doc example
       <pre><code>	
        mvn deploy:deploy-file \
         -DgroupId=com.novoda \
         -DartifactId=notils \
         -Dversion=2.2.0 \
         -Dfile=path/to/file/jar_name-2.2.0-javadoc.jar \
         -Dpackaging=jar \
         -Durl=file://path/to/local/cloned/repo/public-mvn-repo/releases/ \
         -Dclassifier=javadoc
       </code></pre>

	pom example 
	<pre><code>
	 mvn deploy:deploy-file \
	 -DgroupId=com.novoda \
	 -DartifactId=reporting \
	 -Dversion=1.1.0 -Dpackaging=pom \
	 -Dfile=poms/reporting/pom.xml \
	 -Durl=file:///Users/Peter/github/public-mvn-repo/releases/ \
	</code></pre>

apklib example (Adding pomFile parameter with location of relevant pom is important otherwise deployed pom will be broken due to missing dependencies. Also you will need to release parent pom in order to get apklib working, or you get error with parent not resolved)

	<pre><code>
	  mvn deploy:deploy-file -Dfile=/Users/Peter/github/ShowcaseView/library/target/showcaseview-library-3.1.apklib 
	  -DpomFile=/Users/Peter/github/ShowcaseView/library/pom.xml 
	  -DgroupId=com.github.espiandev 
	  -DartifactId=showcaseview-library 
	  -Dversion=3.1 
	  -Dpackaging=apklib 
	  -Durl=file:///Users/Peter/github/public-mvn-repo/releases/
	</code></pre>

You will also need to release parent pom of the apklib in order for project to resolve dependencies

	aar example 
	<pre><code>
	 mvn deploy:deploy-file \
	 -DgroupId=com.novoda \
	 -DartifactId=google-cast-companion \
	 -Dversion=1.1.0 -Dpackaging=aar \
	 -Dfile=CastCompanionLibrary-android.aar \
	 -Durl=file:////Users/malmstein/_dev/novoda/public-mvn-repo/releases/
	</code></pre>
  1. push the changes
⚠️ **GitHub.com Fallback** ⚠️