mirror of
				https://github.com/kitabisa/sonarqube-action.git
				synced 2025-10-31 04:54:19 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/bin/bash
 | |
| 
 | |
| set -e
 | |
| 
 | |
| REPOSITORY_NAME=$(basename "${GITHUB_REPOSITORY}")
 | |
| 
 | |
| if [[ ! -z "${INPUT_PASSWORD}" ]]; then
 | |
|   echo "::warning ::Running this GitHub Action without authentication token is NOT recommended!"
 | |
|   SONAR_PASSWORD="${INPUT_PASSWORD}"
 | |
| else
 | |
|   SONAR_PASSWORD=""
 | |
| fi
 | |
| 
 | |
| if [[ -f "${INPUT_PROJECTBASEDIR%/}/pom.xml" ]]; then
 | |
|   echo "::error file=${INPUT_PROJECTBASEDIR%/}/pom.xml::Maven project detected. You should run the goal 'org.sonarsource.scanner.maven:sonar' during build rather than using this GitHub Action."
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| if [[ -f "${INPUT_PROJECTBASEDIR%/}/build.gradle" ]]; then
 | |
|   echo "::error file=${INPUT_PROJECTBASEDIR%/}/build.gradle::Gradle project detected. You should use the SonarQube plugin for Gradle during build rather than using this GitHub Action."
 | |
|   exit 1
 | |
| fi
 | |
| 
 | |
| unset JAVA_HOME
 | |
| 
 | |
| if [[ ! -f "${INPUT_PROJECTBASEDIR%/}/sonar-project.properties" ]]; then
 | |
|   [[ -z "${INPUT_PROJECTKEY}" ]] && SONAR_PROJECTKEY="${REPOSITORY_NAME}" || SONAR_PROJECTKEY="${INPUT_PROJECTKEY}"
 | |
|   [[ -z "${INPUT_PROJECTNAME}" ]] && SONAR_PROJECTNAME="${REPOSITORY_NAME}" || SONAR_PROJECTNAME="${INPUT_PROJECTNAME}"
 | |
|   [[ -z "${INPUT_PROJECTVERSION}" ]] && SONAR_PROJECTVERSION="" || SONAR_PROJECTVERSION="${INPUT_PROJECTVERSION}"
 | |
|   sonar-scanner \
 | |
|     -Dsonar.host.url="${INPUT_HOST}" \
 | |
|     -Dsonar.projectKey="${SONAR_PROJECTKEY}" \
 | |
|     -Dsonar.projectName="${SONAR_PROJECTNAME}" \
 | |
|     -Dsonar.projectVersion="${SONAR_PROJECTVERSION}" \
 | |
|     -Dsonar.projectBaseDir="${INPUT_PROJECTBASEDIR}" \
 | |
|     -Dsonar.login="${INPUT_LOGIN}" \
 | |
|     -Dsonar.password="${SONAR_PASSWORD}" \
 | |
|     -Dsonar.sources="${INPUT_PROJECTBASEDIR}" \
 | |
|     -Dsonar.sourceEncoding="${INPUT_ENCODING}"
 | |
| else
 | |
|   sonar-scanner \
 | |
|     -Dsonar.host.url="${INPUT_HOST}" \
 | |
|     -Dsonar.login="${INPUT_LOGIN}" \
 | |
|     -Dsonar.password="${SONAR_PASSWORD}"
 | |
| fi
 | 
