Inspections in Php Storm - are they available "offline"?

An interesting question came up in a discussion with my team, about quality assurance on a big project we're starting.

I suggested mandating Php Storm on all team members, so that everyone will be held to the same quality standards, e.g. checking our inspection settings into source control, to make sure that we don't end up in situations where one team member checks in code that passed inspections in one IDE, and then comes up with failed inspections in another member's IDE.

What we would really like, is to be able to run the same inspections offline - e.g. on a CI server, sending out notifications if somebody checks in code that doesn't pass inspections.

Which component performs the inspections in Php Storm? Are they available for use outside of the IDE in any way, or are they an IDE only feature?

PHPMD, CodeSniffer, linters, etc. might provide basic static analysis, but don't (as far as I'm aware?) implement things like inference and static type-checking based on php-doc annotations - which, even if they did, most likely would not be consistent with Php Storm.

Short of mandating an IDE (which doesn't guarantee accountability, since it's each member's reponsibility not to check in code that doesn't pass inspections), how do other teams ensure that everyone is held to the same high quality standards?

4 comments
Comment actions Permalink

Hi there,

https://www.jetbrains.com/phpstorm/help/running-inspections-offline.html?search=offline

Not sure how well it works and if it can (and how) be used as part of CI though -- never used it myself.

0
Comment actions Permalink

Thanks, Andriy - I know about all the other options, but really the hope was that automated QA could hold developers to the same standards they're being held to at design-time.

Sounds like it may be possible, which is good news!

I have to wonder about licensing though?

Taking out a component and running it on a CI server most likely isn't covered by the license?

0
Comment actions Permalink

I have to wonder about licensing though?

Taking out a component and running it on a CI server most likely isn't covered by the license?

No real idea, sorry.

But I would imagine that since it's a part of actual IDE then it would require a working license.

Better contact JetBrains support directly.

0

Please sign in to leave a comment.