Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ecoCode-android plugin to SonarQube Marketplace #67

Closed
3 of 13 tasks
jycr opened this issue May 15, 2023 · 7 comments
Closed
3 of 13 tasks

Add ecoCode-android plugin to SonarQube Marketplace #67

jycr opened this issue May 15, 2023 · 7 comments
Assignees
Labels
android Something tied to the android OS 🏗️ refactoring 🚀 enhancement New feature or request

Comments

@jycr
Copy link
Contributor

jycr commented May 15, 2023

(I'm creating this issue to track activity regarding this plugin deployment target on SonarQube Marketplace. You can assign this issue to me.)

In the same way as what had been done for the non-mobile plugins (green-code-initiative/creedengo-rules-specifications#63), this plugin should be published on the SonarQube Marketplace.

TODO List:

  • Rename repository to ecoCode-android (see: Split repository #64)
  • Centralized rules description use by this plugin (see: [rules doc] centralized repository to describe each rule creedengo-rules-specifications#92)
  • Rename rule IDs to follow convention (EC prefix followed by a number) (Do not forget to add @DeprecatedRuleKey annotation when needed)
  • Check license is a Free-Libre / Open Source Software License
  • Check documentation is available online in English
  • Release 1.1.0 (see: Grsp0007 php (manual from @dedece35) #2) with a release notes that reflect all significant changes in the version
  • Check plugin key (must be short and unique, lowercase, no camelcase, composed only of [a-z0-9], related to the name of your plugin not just the name of a language - e.g. cannot be java, rust, js/javascript, …)
  • Check plugin description (must not be misleading in terms of content, the code needs to do pretty much what the name and description say it does)
  • Provide the necessary details to be able to test the plugin
  • Check SonarCloud quality gate is green when doing a release
  • Check platform requirements (it runs on JRE 11 with SonarQube 9 LTS and 10)
  • Check no export of files to other servers / services from within SonarQube or during SonarQube analysis
  • Create discussion on SonarSource community

More information:

@dedece35 dedece35 added 🚀 enhancement New feature or request android Something tied to the android OS 🏗️ refactoring labels Jun 2, 2023
@dedece35
Copy link
Member

dedece35 commented Jun 2, 2023

Hi @jycr, thank you for issue.
plop @glalloue @olegoaer @jhertout

@jhertout
Copy link
Contributor

jhertout commented Jul 3, 2023

Hi, for the rule naming convention, do we begin at a very high number, such as 10000 to simplify the management with the ecoCode repo and avoid conflict?
Our first rule will be EC10001 for example?

What do you think @olegoaer, @jycr, @dedece35?

@jycr
Copy link
Contributor Author

jycr commented Jul 3, 2023

Hi, for the rule naming convention, do we begin at a very high number, such as 10000 to simplify the management with the ecoCode repo and avoid conflict? Our first rule will be EC10001 for example?

What do you think @olegoaer, @jycr, @dedece35?

Oops, I've already started refactoring for Android rules starting numbering at EC500 and for iOS rules at EC600.

@jycr
Copy link
Contributor Author

jycr commented Jul 3, 2023

I have found common "legacy keys" for Android and iOS :

  • EIDL001
  • EIDL002
  • EPOW002
  • ESOB001
  • ESOB002
  • ESOB003
  • ESOB005
  • ESOB006

There are same keys, but not same description. For example:

For EIDL001 on iOS

{
  "key": "EIDL001",
  "name": "Idle timer disabled",
  "severity": "MAJOR",
  "description": "Do not disable idle timer, unless absolutely necessary.",
  "debt": {"function": "CONSTANT_ISSUE", "offset": "5min"},
  "tags": ["ecocode", "environment", "sobriety", "eco-design"],
  "type": "CODE_SMELL"
}

For EIDL001 on Android

{
  "title": "Idleness: Keep Screen On (addFlags)",
  "type": "CODE_SMELL",
  "status": "ready",
  "remediation": {"func": "Constant/Issue", "constantCost": "20min"},
  "tags": ["idleness", "environment", "ecocode", "android"],
  "defaultSeverity": "Major"
}

So, we must not use same new "ECxxxx" keys? You agree?

@jhertout
Copy link
Contributor

jhertout commented Jul 4, 2023

Hi, for the rule naming convention, do we begin at a very high number, such as 10000 to simplify the management with the ecoCode repo and avoid conflict? Our first rule will be EC10001 for example?
What do you think @olegoaer, @jycr, @dedece35?

Oops, I've already started refactoring for Android rules starting numbering at EC500 and for iOS rules at EC600.

Is it easy for you to start at EC10000 and EC20000? I think it is possible that someday we will have 100 rules and if for a reason or an other we have to drop numbers, it will be easier.
In which project do you start refactoring? The documentation? I was planning to start doing it on ecoCode-Android.

Thanks

@jhertout
Copy link
Contributor

jhertout commented Jul 4, 2023

I have found common "legacy keys" for Android and iOS :

  • EIDL001
  • EIDL002
  • EPOW002
  • ESOB001
  • ESOB002
  • ESOB003
  • ESOB005
  • ESOB006

There are same keys, but not same description. For example:

For EIDL001 on iOS

{
  "key": "EIDL001",
  "name": "Idle timer disabled",
  "severity": "MAJOR",
  "description": "Do not disable idle timer, unless absolutely necessary.",
  "debt": {"function": "CONSTANT_ISSUE", "offset": "5min"},
  "tags": ["ecocode", "environment", "sobriety", "eco-design"],
  "type": "CODE_SMELL"
}

For EIDL001 on Android

{
  "title": "Idleness: Keep Screen On (addFlags)",
  "type": "CODE_SMELL",
  "status": "ready",
  "remediation": {"func": "Constant/Issue", "constantCost": "20min"},
  "tags": ["idleness", "environment", "ecocode", "android"],
  "defaultSeverity": "Major"
}

So, we must not use same new "ECxxxx" keys? You agree?

Yes it is an error, we must not use same new "ECxxxx" keys.

jhertout added a commit that referenced this issue Sep 21, 2023
@jhertout
Copy link
Contributor

The plugin was accepted on SonarQube market place : https://community.sonarsource.com/t/new-plugin-ecocode-android-requesting-inclusion-in-sonarqube-marketplace/104674. I close this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
android Something tied to the android OS 🏗️ refactoring 🚀 enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants