#*******************************************************************************
#
#          FILE: sonar-project.properties.template
#
#         USAGE: Einbindung in ein Projekt in der CI/CD Pipeline, das nach Sonar
#                deployt wird & Anpassung der Variablen
#
#   DESCRIPTION: Ein Temlate mithilfe dem SonarQube Projekteinstellungen 
#                \"ubergeben werden k\"onnen
#                Diese Datei ist das Äquivalent der "Jenkins"- oder "Dockerfile"
#                für SonarQube
#                Anhand von, in dieser Datei spezifizierten Parametern, 
#                wird das Entwicklungsprojekt von SonarQube analysiert
#
#       OPTIONS: -
#  REQUIREMENTS: SonarQube/SonarCloud
#          BUGS: Hoffentlich keine, bei Problemen bitte kontaktieren
#         NOTES: 
#        AUTHOR: vlr
#  ORGANIZATION: highQ
#       CREATED: 30.01.2019 11:37:42
#      REVISION: 0.1
#*******************************************************************************



# Diese Datei ist das Äquivalent der "Jenkins"- oder "Dockerfile" für SonarQube
# Anhand in dieser Datei spezifizierter Parameter wird das Entwicklungsprojekt 
# von SonarQube analysiert

#***  Allgemeines  *************************************************************


# Host URL, muss angegeben werden
sonar.host.url=http://localhost:9000

# Default: <url> (maven)
sonar.links.homepage=https://www.fuxxbau.net
# Default: <ci-management> (maven)
sonar.links.ci=http://jenkins.fuxxbau.net

# Default: System Encoding
sonar.sourceEncoding=UTF-8

# sonar.organization=highQ
#*******************************************************************************

#***  Debug  *******************************************************************
# M\"ogliche Werte: DEBUG, INFO
# Default: INFO
sonar.log.level=DEBUG

# Ausgabe aller spezifizierten Einstellungen zur Scanner API in ein File
# sonar.scanner.dumpToFile=dump.txt

# Stelle, an die vom Scanner die "report-task.txt" geschrieben wird
# Default: sonar.working.directory
# sonar.scanner.metadataFilePath=

# Stelle in Logs dar, an welchen Stellen der Analyzer wv Zeit ben\"otigt
# Logs zu finden in workingDir/profiling/moduleKey-profiler.xml
# workingDir=.sonar/profiling (sonarscanner) 
# bzw target/sonar/profiling (sonarscanner for maven)
# Default: false
# sonar.showProfiling=
# NOTE: There is the potential for this setting to expose sensitive information 
# such as passwords if they are stored as server-side environment variables.
# sonar.verbose=
#*******************************************************************************

#***  Projekt  *****************************************************************

# Der einzigartige Key des Projekts (Maven Default: <groupId>:<artifactId>
# Erlaubt sind hier Zahlen, Buchstaben, "-","_",".",":" 
# mindestens ein char muss keine Zahl sein
# muss angegeben sein, entweder durch maven oder manuell
sonar.projectKey=8008135-dev

# Hier kann entweder Login über einen Nutzer erstellt werden oder \"uber
# ein Login-Token (Weboberfläche -> My Account -> Security -> Generate Token)
# Wenn sonar.password leer ist wird sonar.login als Auth-Token interpretiert
# Alternativ: Anyone-Gruppe Analyse Rechte zuweisen (Serverseitig)
sonar.login=64a1e475ea960ebac8ac203223c59e61e9f7ed95
# sonar.password=

# Name, der in der Weboberfläche angezeigt wird
sonar.projectName=8008135-dev
# Default: <version> (maven), sonst "not provided"
# sonar.projectVersion=
# Default: <description> (maven)
# sonar.projectDescription=

# Kann nicht früher als das letzte Datum der Analyse dieses Projekts in DB sein
# Default:Now. Angabe in yyyy-MM-dd
# sonar.projectDate=

# Kann verwendet werden um zu bestimmen dass die Analyse des Projekts an 
# anderer Stelle stattfindet 
# ben\"otigt Schreibrechte f\"ur Erstellung von sonar.working.directory
# Default=./
# sonar.projectBaseDir=

#*******************************************************************************


# Max Zeit um auf Webservice Call zu warten (in sec, Default 60)
# Nützlich um auf Timeouts zu reagieren
# sonar.ws.timeout=

#***  SCM  *********************************************************************

# Das Plugin, das von SonarQube für das Abfragen von SCM Daten verwendet wird
# Default: Autodetect (-> svn, wenn .svn Ordner hier existiert; git wenn .git)
sonar.scm.provider=git

# Standardm\"assig werden nur bei ver\"anderten Files blame Informationen geladen
# Wenn die Daten outdatet sind, kann man hier auf "true" stellen um upzudaten
# sonar.scm.forceReloadAll=

# Standardm\"assig werden Dateien die vom SCM ignoriert werden (bsp .gitignore) 
# bei der Analyse ebenfalls ignoriert. 
# Wenn man diesen Wert hier auf true setzt, disabled man dieses Feature
# Default: false
# sonar.scm.exclusions.disabled=

# Überschreiben der Revision
# Default: Provided von CI oder von source geraten
# sonar.scm.revision=

# Default: <issueManagement><url> (maven)
# sonar.links.issue=

# Default: <scm><url> (maven)
# sonar.links.scm=

# Comma Seperated Pfadliste für Generic Issue Reports
# sonar.externalIssuesReportPaths=

#*******************************************************************************


#***  Build  ******************************************************************* 

# Wenn weder sonar.sources noch sonar.tests gegeben: BaseDir(=./)
# Default: Wird aus Build Sys gelesen (Maven, Gradle, MSBuild).
sonar.sources=.
# Default: Wird aus Build Sys gelesen (Maven, Gradle, MSBuild). Sonst leer
# sonar.tests=

# Habe ich nicht ganz einordnen k\"onnen, wof\"ur.
# Offizieller Text:
# The string passed with this property will be stored with the analysis and available in the results of api/project_analyses/search, thus allowing you to later identify a specific analysis and obtain its ID for use with api/project_analyses/set_baseline.
# sonar.buildString=

#*******************************************************************************


#***  Analyse  *****************************************************************

# Default:.scannerwork
# sonar.working.directory=

# Hinzuf\"ugen von key-value Paaren zum Analysekontext (-> Webhooks)
# sonar.analysis.[Key001]=
# sonar.analysis.[Key002]=

# Standardm\"assig gilt ein Code als dupliziert wenn mind. 100 Token des Codes 
# gleich sind (über 10 Zeilen hinweg)
# Kann sprachenspezifisch überschrieben werden
# sonar.cpd.${language}.minumumtokens=
# sonar.cpd.${language}.minimumLines=


# Diese Parameter sorgen daf\"ur, dass Code zwischen Bl\"ocken nicht analysiert
# wird. Leider werden diese Parameter nicht offiziell unterst\"utzt
# https://community.sonarsource.com/t/how-to-set-sonar-issue-ignore-block-in-sonar-project-properties/10943/6
# Offiziell unterst\"utzt wird nur eine globale Einstellung im Webinterface
# siehe:
# Administration->Configuration->General->Analysis Scope->Ignore Issues in Blocks
# Wird von einem SonarQube Entwickler als "Hack" bezeichnet, was ich nicht 
# verstehe, es ist mmN legitim, hier Proj Spezifische Settings zu haben (oder zmd: zu haben wollen).
# Wahrscheinlich ist es auch m\"oglich, andere Einstellungen die im WebUI
# zu finden sind hier zu "hacken"
# sonar.issue.ignore.block=ignore-generated
# sonar.issue.ignore.block.ignore-generated.beginBlockRegexp=DA-ELSE
# sonar.issue.ignore.block.ignore-generated.endBlockRegexp=DA-END

# Hier ein weiteres Beispiel, bei dem das ganze file von Analyse ausgeschlossen 
# wird, wenn "@sonar-disable" im File vorkommt
# sonar.issue.ignore.allfile=ignore-file
# sonar.issue.ignore.allfile.ignore-file.fileRegexp=@sonar-disable

#*******************************************************************************