• Stars
    star
    517
  • Rank 85,558 (Top 2 %)
  • Language
    Java
  • Created over 12 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Sonar Plugin for Objective C

SonarQube Plugin for Objective C

This repository hosts the Objective-C plugin for SonarQube. This plugin enables to analyze and track the quality of iOS (iPhone, iPad) and MacOS developments.

This plugin is not supported by SonarSource. SonarSource offers a commercial SonarSource Objective-C plugin as well. Both plugins do not offer the same functionalities/support.

The development of this plugin has always been done thanks to the community. If you wish to contribute, check the Contributing wiki page.

Find below an example of an iOS SonarQube dashboard:

Example iOS SonarQube dashboard

###Features

  • Complexity
  • Design
  • Documentation
  • Duplications
  • Issues
  • Size
  • Tests

For more details, see the list of SonarQube metrics implemented or pending.

###Compatibility

  • Use 0.3.x releases for SonarQube < 4.3
  • Use 0.4.x releases for SonarQube >= 4.3 (4.x and 5.x)

###Download

The latest version is the 0.4.0 and it's available here. The latest SonarQube 3.x release is the 0.3.1, and it's available here.

You can also download the latest build of the plugin from Cloudbees.

In the worst case, the Maven repository with all snapshots and releases is available here: http://repository-rfelden.forge.cloudbees.com/

###Prerequisites

  • a Mac with Xcode...
  • SonarQube and SonarQube Runner installed (HomeBrew installed and brew install sonar-runner)
  • xctool (HomeBrew installed and brew install xctool). If you are using Xcode 6, make sure to update xctool (brew upgrade xctool) to a version > 0.2.2.
  • OCLint installed. Version 0.8.1 recommended (HomeBrew installed and brew install https://gist.githubusercontent.com/TonyAnhTran/e1522b93853c5a456b74/raw/157549c7a77261e906fb88bc5606afd8bd727a73/oclint.rb).
  • gcovr installed

###Installation (once for all your Objective-C projects)

  • Install the plugin through the Update Center (of SonarQube) or download it into the $SONARQUBE_HOME/extensions/plugins directory
  • Copy run-sonar.sh somewhere in your PATH
  • Restart the SonarQube server.

###Configuration (once per project)

  • Copy sonar-project.properties in your Xcode project root folder (along your .xcodeproj file)
  • Edit the sonar-project.properties file to match your Xcode iOS/MacOS project

The good news is that you don't have to modify your Xcode project to enable SonarQube!. Ok, there might be one needed modification if you don't have a specific scheme for your test target, but that's all.

###Analysis

  • Run the script run-sonar.sh in your Xcode project root folder
  • Enjoy or file an issue!

###Update (once per plugin update)

If you still have run-sonar.sh file in each of your project (not recommended), you will need to update all those files.

###Credits

  • Cyril Picat
  • Gilles Grousset
  • Denis Bregeon
  • François Helg
  • Romain Felden
  • Mete Balci

###History

  • v0.4.0 (2015/01): support for SonarQube >= 4.3 (4.x & 5.x)
  • v0.3.1 (2013/10): fix release
  • v0.3 (2013/10): added support for OCUnit tests and test coverage
  • v0.2 (2013/10): added OCLint checks as SonarQube violations
  • v0.0.1 (2012/09): v0 with basic metrics such as nb lines of code, nb lines of comment, nb of files, duplications

###License

SonarQube Plugin for Objective C is released under the GNU LGPL 3 license:
http://www.gnu.org/licenses/lgpl.txt

More Repositories

1

RoboSpice-samples

All samples of the RoboSpice library.
Java
215
star
2

kubernetes-icons

[obsolete] Set of icons for Kubernetes diagrams, has been merged into official k8s repo!!
214
star
3

Xcode-formatter

Simple automatic code formatter for Xcode
Shell
194
star
4

AppResizer

Check if your iOS app is responsive.
Shell
70
star
5

USI2011_BillionUserChallenge

Billion user challenge @ USI 2011
25
star
6

tezos-academy

Learn to code Tezos Smart Contract the fun way
TypeScript
22
star
7

java-sql-dsl

A Java SQL DSL
Java
21
star
8

OpenTezos

The complete encyclopedia of Tezos
HTML
16
star
9

Tezos-Land-FA2-NFT-Boilerplate

TypeScript
12
star
10

VIO

Visual Inspection Orchestrator is a modular framework made to ease the deployment of VI usecases
Python
12
star
11

tezos-link

Your gateway to the Tezos network
TypeScript
12
star
12

sample-sonar-objective-c

Skeleton showing howto setup / structure an objective-c project for analysing with the sonar objective-c plugin
Objective-C
9
star
13

ddui

Airflow's plugin for Data Science pipeline visualisation
Python
8
star
14

ddapi

Python
6
star
15

awscli-saml-sso

awscli_saml_sso is a command line tool that aims to get temporary credentials from SAML identity provider in order to authenticate to awscli.
Python
6
star
16

terraform-provider-mattermost

Go
5
star
17

appaloosa-android-sdk

Java
5
star
18

epic-legacy-code-challenge

JavaScript
5
star
19

worker-decorator

Kotlin
5
star
20

net_crusher

Erlang
4
star
21

chti.octo.com

HTML
3
star
22

tdd-on-auth0-scripts

How to TDD on Auth0 scripts
JavaScript
2
star
23

provider-jet-scaleway

Go
2
star
24

ios-trackers-detect

Script to detect iOS tracker libraries from an IPA file
Python
2
star
25

Formation-MLOps-2

Python
2
star
26

toulouse.octo.com

HTML
2
star
27

refacard_indus_datascience

The refcard content used to describe patterns and technics we believe that help the industrialization process of Datascience project
1
star
28

bdacore

Jupyter Notebook
1
star
29

octofacebook

Ruby
1
star
30

appaloosa-client

Java client to upload ipa and apk file to Appaloosa
1
star
31

libkoca

Description de libkoca
Shell
1
star
32

octo-integration-rails-plugin

Rails plugin containing OpenId authentication support
JavaScript
1
star
33

LearnedStuff

A manifest for datascience
1
star
34

appaloosa-android-sdk-sample

Sample android application using appaloosa-android-sdk
Java
1
star
35

azuread-msgraph

Ansible Collection Azure Active Directory (MS Graph)
Python
1
star
36

Formation-MLOps-1

Makefile
1
star
37

OTPieChart

Objective-C
1
star
38

Formation-MLOps-3

Python
1
star
39

rustig

Learning Rust by writting a git clone
Rust
1
star
40

byod

Bring Your Own Device Manifesto
Ruby
1
star
41

salle-de-sport-kotlin

Implémentation de "la salle de sport" d'Arnaud Lemaire, en Kotlin. Sert de point de référence concernant certaines pratiques (DDD, CQRS, constructeurs nommés, lisibilité, tests, etc), afin de pouvoir s'y référer, mais aussi pour s'en servir de support pédagogique lors de dojos et autres formations.
Kotlin
1
star