Skip to content

Commit 12c08fa

Browse files
committed
command launch and read
1 parent 22bdd2a commit 12c08fa

File tree

5 files changed

+635
-66
lines changed

5 files changed

+635
-66
lines changed

Command/AnalyzeLaunchCommand.php

+40
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace JD\PhpProjectAnalyzerBundle\Command;
4+
5+
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
6+
use Symfony\Component\Console\Input\InputInterface;
7+
use Symfony\Component\Console\Output\OutputInterface;
8+
use Symfony\Component\Console\Question\Question;
9+
10+
/**
11+
* Initialization command of analysis directories
12+
*/
13+
class AnalyzeLaunchCommand extends ContainerAwareCommand
14+
{
15+
/**
16+
* Configuration
17+
*/
18+
protected function configure()
19+
{
20+
$this
21+
->setName('ppa:analyse:launch')
22+
->setDescription('Launch the analysis')
23+
;
24+
}
25+
26+
/**
27+
* Execution
28+
*
29+
* @param InputInterface $input
30+
* @param OutputInterface $output
31+
*
32+
* @return type
33+
*/
34+
protected function execute(InputInterface $input, OutputInterface $output)
35+
{
36+
$res = $this->getContainer()->get('jd_ppa.scriptManager')->lancerAnalyse();
37+
38+
$output->writeln($res);
39+
}
40+
}

Command/AnalyzeReadCommand.php

+45
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
<?php
2+
3+
namespace JD\PhpProjectAnalyzerBundle\Command;
4+
5+
use Symfony\Bundle\FrameworkBundle\Command\ContainerAwareCommand;
6+
use Symfony\Component\Console\Input\InputInterface;
7+
use Symfony\Component\Console\Output\OutputInterface;
8+
use Symfony\Component\Console\Question\Question;
9+
10+
/**
11+
* Initialization command of analysis directories
12+
*/
13+
class AnalyzeReadCommand extends ContainerAwareCommand
14+
{
15+
/**
16+
* Configuration
17+
*/
18+
protected function configure()
19+
{
20+
$this
21+
->setName('ppa:analyse:read')
22+
->setDescription('Read the last analysis')
23+
;
24+
}
25+
26+
/**
27+
* Execution
28+
*
29+
* @param InputInterface $input
30+
* @param OutputInterface $output
31+
*
32+
* @return type
33+
*/
34+
protected function execute(InputInterface $input, OutputInterface $output)
35+
{
36+
$projectAnalyzer = $this->getContainer()->get('jd_ppa.projectAnalyzer');
37+
38+
if($projectAnalyzer->isAnalyzeInProgress()) {
39+
$output->writeln('AIP');
40+
return;
41+
}
42+
43+
$output->writeln(json_encode($projectAnalyzer->getAnalyze()->jsonSerialize()));
44+
}
45+
}

Entities/Analyze.php

+55
Original file line numberDiff line numberDiff line change
@@ -2,130 +2,185 @@
22

33
namespace JD\PhpProjectAnalyzerBundle\Entities;
44

5+
use Doctrine\ORM\Mapping as ORM;
6+
57
/**
68
* La classe Analyze sert à structurer les résultats des analyses
79
*
810
* @author Jean-David Labails <[email protected]>
11+
*
12+
* @ORM\Table(name="ppa_analyse")
13+
* @ORM\Entity()
914
*/
1015
class Analyze
1116
{
1217
/**
1318
* @var integer
19+
*
20+
* @ORM\Column(name="id", type="integer")
21+
* @ORM\Id
22+
* @ORM\GeneratedValue(strategy="AUTO")
1423
*/
1524
private $id;
1625

1726
/**
1827
* @var \DateTime
28+
*
29+
* @ORM\Column(name="analyzed_at", type="datetime")
1930
*/
2031
private $dateTime;
2132

2233
/**
2334
* @var boolean
35+
*
36+
* @ORM\Column(name="tu_success", type="boolean", nullable=true, options={"default":false})
2437
*/
2538
private $tuSuccess;
2639

2740
/**
2841
* @var boolean
42+
*
43+
* @ORM\Column(name="cs_success", type="boolean", nullable=true, options={"default":false})
2944
*/
3045
private $csSuccess;
3146

3247
/**
3348
* @var boolean
49+
*
50+
* @ORM\Column(name="cp_success", type="boolean", nullable=true, options={"default":false})
3451
*/
3552
private $cpSuccess;
3653

3754
/**
3855
* @var boolean
56+
*
57+
* @ORM\Column(name="security_success", type="boolean", nullable=true, options={"default":false})
3958
*/
4059
private $securitySuccess;
4160

4261
/**
4362
* @var integer
63+
*
64+
* @ORM\Column(name="loc", type="integer", nullable=true)
4465
*/
4566
private $loc;
4667

4768
/**
4869
* @var integer
70+
*
71+
* @ORM\Column(name="score", type="integer", nullable=true)
4972
*/
5073
private $score;
5174

5275
/**
5376
* @var float
77+
*
78+
* @ORM\Column(name="cov", type="double(4,2)", nullable=true)
5479
*/
5580
private $cov;
5681

5782
/**
5883
* @var integer
84+
*
85+
* @ORM\Column(name="exec_time", type="integer", nullable=true)
5986
*/
6087
private $execTime;
6188

6289
/**
6390
* @var integer
91+
*
92+
* @ORM\Column(name="nb_bundles", type="integer", nullable=true)
6493
*/
6594
private $nbBundles;
6695

6796
/**
6897
* @var integer
98+
*
99+
* @ORM\Column(name="nb_dir", type="integer", nullable=true)
69100
*/
70101
private $nbDir;
71102

72103
/**
73104
* @var integer
105+
*
106+
* @ORM\Column(name="nb_file", type="integer", nullable=true)
74107
*/
75108
private $nbFile;
76109

77110
/**
78111
* @var integer
112+
*
113+
* @ORM\Column(name="nb_php_file", type="integer", nullable=true)
79114
*/
80115
private $nbPhpFile;
81116

82117
/**
83118
* @var integer
119+
*
120+
* @ORM\Column(name="nb_css_file", type="integer", nullable=true)
84121
*/
85122
private $nbCSSFile;
86123

87124
/**
88125
* @var integer
126+
*
127+
* @ORM\Column(name="nb_css_lib", type="integer", nullable=true)
89128
*/
90129
private $nbCSSLib;
91130

92131
/**
93132
* @var integer
133+
*
134+
* @ORM\Column(name="loc", type="integer", nullable=true)
94135
*/
95136
private $nbJSFile;
96137

97138
/**
98139
* @var integer
140+
*
141+
* @ORM\Column(name="nb_js_lib", type="integer", nullable=true)
99142
*/
100143
private $nbJSLib;
101144

102145
/**
103146
* @var integer
147+
*
148+
* @ORM\Column(name="nb_twig", type="integer", nullable=true)
104149
*/
105150
private $nbTwig;
106151

107152
/**
108153
* @var integer
154+
*
155+
* @ORM\Column(name="nb_namespace", type="integer", nullable=true)
109156
*/
110157
private $nbNamespace;
111158

112159
/**
113160
* @var integer
161+
*
162+
* @ORM\Column(name="nb_classes", type="integer", nullable=true)
114163
*/
115164
private $nbClasses;
116165

117166
/**
118167
* @var integer
168+
*
169+
* @ORM\Column(name="nb_method", type="integer", nullable=true)
119170
*/
120171
private $nbMethod;
121172

122173
/**
123174
* @var string
175+
*
176+
* @ORM\Column(name="lang", type="string", nullable=true)
124177
*/
125178
private $lang;
126179

127180
/**
128181
* @var string
182+
*
183+
* @ORM\Column(name="symfony_version", type="string", nullable=true)
129184
*/
130185
private $symfonyVersion;
131186

composer.json

+2
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@
2626
"require": {
2727
"php": ">=7.0",
2828
"symfony/symfony": ">=2.3",
29+
"doctrine/doctrine-bundle": "*",
30+
"doctrine/orm": "*",
2931
"symfony/translation": ">=2.3",
3032
"sebastian/phpcpd": "*",
3133
"phploc/phploc": "*",

0 commit comments

Comments
 (0)