2019-07-16 13:28:00 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# setup-java
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-08-12 15:12:48 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< p  align = "left" >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < a  href = "https://github.com/actions/setup-java" > < img  alt = "GitHub Actions status"  src = "https://github.com/actions/setup-java/workflows/Main%20workflow/badge.svg" > < / a > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / p >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								This action sets up a java environment for use in actions by:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-02 21:39:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  optionally downloading and caching a requested version of java by version and adding to PATH. Default downloads are populated from the [Zulu Community distribution of OpenJDK ](http://static.azul.com/zulu/bin/ ) 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  registering problem matchers for error output 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Usage
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								See [action.yml ](action.yml )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Basic
  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-07-25 21:24:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2  
						 
					
						
							
								
									
										
										
										
											2019-08-01 09:40:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/setup-java@v1  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 00:45:37 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    java-version: '9.0.4' # The JDK version to make available on the path.
							 
						 
					
						
							
								
									
										
										
										
											2019-11-22 16:26:10 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    java-package: jdk # (jre, jdk, or jdk+fx) - defaults to jdk
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    architecture: x64 # (x64 or x86) - defaults to x64
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  run: java -cp java HelloWorldApp 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 00:45:37 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								Examples of version specifications that the java-version parameter will accept:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2020-01-09 00:49:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  A major Java version 
						 
					
						
							
								
									
										
										
										
											2020-01-09 00:45:37 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```6, 7, 8, 9, 10, 11, 12, 13, ...` ``
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  A semver Java version specification 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```8.0.232, 7.0.181, 11.0.4` ``
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```8.0.x, >11.0.3, >=13.0.1, <8.0.212` ``
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  An early access (EA) Java version 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```14-ea, 15-ea` ``
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```14.0.0-ea, 15.0.0-ea` ``
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  e.g. ```14.0.0-ea.28, 15.0.0-ea.2` `` (syntax for specifying an EA build number)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  Note that, per semver rules, EA builds will be matched by explicit EA version specifications.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								-  1.x syntax 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    e.g. ```1.8` `` (same as ` ``8` ``)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    e.g. ```1.8.0.212` `` (same as ` ``8.0.212` ``)
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Local file
  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
									
										
										
										
											2019-07-25 21:24:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/checkout@v2  
						 
					
						
							
								
									
										
										
										
											2019-08-01 09:40:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  uses: actions/setup-java@v1  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  with:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-13 16:24:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    java-version: '4.0.0'
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    architecture: x64
							 
						 
					
						
							
								
									
										
										
										
											2019-11-02 21:39:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    jdkFile: < path  to  jdkFile >  # Optional - jdkFile to install java from. Useful for versions not found on Zulu Community CDN
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								-  run: java -cp java HelloWorldApp 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Matrix Testing
  
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jobs:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  build:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 11:06:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    runs-on: ubuntu-16.04
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    strategy:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      matrix:
							 
						 
					
						
							
								
									
										
										
										
											2019-11-02 21:39:35 -07:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        # test against latest update of each major Java version, as well as specific updates of LTS versions:
							 
						 
					
						
							
								
									
										
										
										
											2019-11-29 22:53:14 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        java: [ 1.6, 6.0.83, 7, 7.0.181, 8, 8.0.192, 9.0.x, 10, 11.0.x, 11.0.3, 12, 13 ]
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    name: Java ${{ matrix.java }} sample
							 
						 
					
						
							
								
									
										
										
										
											2019-07-25 21:24:28 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  uses: actions/checkout@v2 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  name: Setup java
							 
						 
					
						
							
								
									
										
										
										
											2019-08-01 09:40:31 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        uses: actions/setup-java@v1 
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        with:
							 
						 
					
						
							
								
									
										
										
										
											2019-08-13 16:24:39 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								          java-version: ${{ matrix.java }}
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      -  run: java -cp java HelloWorldApp
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Publishing using Apache Maven
  
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jobs:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  build:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    runs-on: ubuntu-latest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  uses: actions/checkout@v2 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Set up JDK 1.8
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 23:22:47 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      uses: actions/setup-java@v1 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        java-version: 1.8
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Build with Maven
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: mvn -B package --file pom.xml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Publish to GitHub Packages Apache Maven
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: mvn deploy
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 15:39:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      env:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        GITHUB_TOKEN: ${{ github.token }} # GITHUB_TOKEN is the default env for the password
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-29 09:26:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Set up Apache Maven Central
							 
						 
					
						
							
								
									
										
										
										
											2019-12-04 23:22:47 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      uses: actions/setup-java@v1 
							 
						 
					
						
							
								
									
										
										
										
											2019-11-29 09:26:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      with: # running setup-java again overwrites the settings.xml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        java-version: 1.8
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 11:28:11 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        server-id: maven # Value of the distributionManagement/repository/id field of the pom.xml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 15:39:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        server-username: MAVEN_USERNAME # env variable for username in deploy
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        server-password: MAVEN_CENTRAL_TOKEN # env variable for token in deploy
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-29 09:26:29 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Publish to Apache Maven Central
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: mvn deploy 
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 15:39:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      env:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        MAVEN_USERNAME: maven_username123
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 15:44:10 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        MAVEN_CENTRAL_TOKEN: ${{ secrets.MAVEN_CENTRAL_TOKEN }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The two `settings.xml`  files created from the above example look like the following.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`settings.xml`  file created for the first deploy to GitHub Packages 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```xml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< servers >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < server > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < id > github< / id > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < username > ${env.GITHUB_ACTOR}< / username > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < password > ${env.GITHUB_TOKEN}< / password > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < / server > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / servers >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								`settings.xml`  file created for the second deploy to Apache Maven Central 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```xml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< servers >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < server > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < id > maven< / id > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < username > ${env.MAVEN_USERNAME}< / username > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      < password > ${env.MAVEN_CENTRAL_TOKEN}< / password > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < / server > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< / servers >  
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
									
										
										
										
											2019-12-06 14:50:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								***NOTE: The `settings.xml`  file is created in the Actions $HOME directory. If you have an existing `settings.xml`  file at that location, it will be overwritten. See below for using the `settings-path`  to change your `settings.xml`  file location.***	
							 
						 
					
						
							
								
									
										
										
										
											2019-12-06 14:50:30 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:52:51 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								See the help docs on [Publishing a Package ](https://help.github.com/en/github/managing-packages-with-github-packages/configuring-apache-maven-for-use-with-github-packages#publishing-a-package ) for more information on the `pom.xml`  file.
							 
						 
					
						
							
								
									
										
										
										
											2019-11-28 14:13:35 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Publishing using Gradle
  
						 
					
						
							
								
									
										
										
										
											2019-12-06 16:21:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jobs:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  build:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    runs-on: ubuntu-latest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  uses: actions/checkout@v2 
							 
						 
					
						
							
								
									
										
										
										
											2019-12-06 16:21:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  name: Set up JDK 1.8
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      uses: actions/setup-java@v1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  name: Build with Gradle
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: gradle build
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    -  name: Publish to GitHub Packages
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: gradle publish
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      env:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        USERNAME: ${{ github.actor }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        PASSWORD: ${{ secrets.GITHUB_TOKEN }}
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								***NOTE: The `USERNAME`  and `PASSWORD`  need to correspond to the credentials environment variables used in the publishing section of your `build.gradle` .***	
							 
						 
					
						
							
								
									
										
										
										
											2019-12-06 16:21:27 -05:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								See the help docs on [Publishing a Package with Gradle ](https://help.github.com/en/github/managing-packages-with-github-packages/configuring-gradle-for-use-with-github-packages#example-using-gradle-groovy-for-a-single-package-in-a-repository ) for more information on the `build.gradle`  configuration file.
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 14:25:15 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								## Apache Maven with a settings path
  
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 13:02:21 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								When using an Actions self-hosted runner with multiple shared runners the default `$HOME`  directory can be shared by a number runners at the same time which could overwrite existing settings file. Setting the `settings-path`  variable allows you to choose a unique location for your settings file.
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								```yaml
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								jobs:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  build:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    runs-on: ubuntu-latest
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    steps:
							 
						 
					
						
							
								
									
										
										
										
											2020-01-31 01:52:07 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  uses: actions/checkout@v2 
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Set up JDK 1.8 for Shared Runner
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      uses: actions/setup-java@v1 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      with:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        java-version: 1.8
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 14:25:15 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        settings-path: ${{ github.workspace }} # location for the settings.xml file
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Build with Maven
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								      run: mvn -B package --file pom.xml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 08:52:26 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    -  name: Publish to GitHub Packages Apache Maven
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 14:25:15 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      run: mvn deploy -s $GITHUB_WORKSPACE/settings.xml
							 
						 
					
						
							
								
									
										
										
										
											2019-12-19 15:39:48 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								      env:
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        GITHUB_TOKEN: ${{ github.token }}
							 
						 
					
						
							
								
									
										
										
										
											2019-12-10 09:37:07 -08:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								```
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2019-07-17 10:56:53 -04:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# License
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								The scripts and documentation in this project are released under the [MIT License ](LICENSE )
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# Contributions
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								Contributions are welcome!  See [Contributor's Guide ](docs/contributors.md )