Skip to content

Instantly share code, notes, and snippets.

@vitorpacheco
Created April 3, 2012 02:14
Show Gist options
  • Select an option

  • Save vitorpacheco/2288827 to your computer and use it in GitHub Desktop.

Select an option

Save vitorpacheco/2288827 to your computer and use it in GitHub Desktop.
Jenkins Project config file for Croogo
<?xml version='1.0' encoding='UTF-8'?>
<project>
<actions/>
<description>&lt;embed height=&quot;300&quot; src=&quot;ws/build/pdepend/overview-pyramid.svg&quot; type=&quot;image/svg+xml&quot; width=&quot;500&quot;&gt;&lt;/embed&gt;&#xd;
&lt;embed height=&quot;300&quot; src=&quot;ws/build/pdepend/dependencies.svg&quot; type=&quot;image/svg+xml&quot; width=&quot;500&quot;&gt;&lt;/embed&gt;</description>
<keepDependencies>false</keepDependencies>
<properties>
<hudson.plugins.googlecode.GoogleCodeProjectProperty/>
<com.coravy.hudson.plugins.github.GithubProjectProperty>
<projectUrl>http://github.com/croogo/croogo/</projectUrl>
</com.coravy.hudson.plugins.github.GithubProjectProperty>
<org.jenkins.ci.plugins.html5__notifier.JobPropertyImpl>
<skip>false</skip>
</org.jenkins.ci.plugins.html5__notifier.JobPropertyImpl>
</properties>
<scm class="hudson.plugins.git.GitSCM">
<configVersion>2</configVersion>
<userRemoteConfigs>
<hudson.plugins.git.UserRemoteConfig>
<name></name>
<refspec></refspec>
<url>git://github.com/croogo/croogo.git</url>
</hudson.plugins.git.UserRemoteConfig>
</userRemoteConfigs>
<branches>
<hudson.plugins.git.BranchSpec>
<name>1.4</name>
</hudson.plugins.git.BranchSpec>
</branches>
<disableSubmodules>false</disableSubmodules>
<recursiveSubmodules>false</recursiveSubmodules>
<doGenerateSubmoduleConfigurations>false</doGenerateSubmoduleConfigurations>
<authorOrCommitter>false</authorOrCommitter>
<clean>false</clean>
<wipeOutWorkspace>false</wipeOutWorkspace>
<pruneBranches>false</pruneBranches>
<remotePoll>false</remotePoll>
<buildChooser class="hudson.plugins.git.util.DefaultBuildChooser"/>
<gitTool>Default</gitTool>
<browser class="hudson.plugins.git.browser.GithubWeb">
<url>https://github.com/croogo/croogo/</url>
</browser>
<submoduleCfg class="list"/>
<relativeTargetDir></relativeTargetDir>
<reference></reference>
<excludedRegions></excludedRegions>
<excludedUsers></excludedUsers>
<gitConfigName></gitConfigName>
<gitConfigEmail></gitConfigEmail>
<skipTag>false</skipTag>
<includedRegions></includedRegions>
<scmName></scmName>
</scm>
<canRoam>true</canRoam>
<disabled>false</disabled>
<blockBuildWhenDownstreamBuilding>false</blockBuildWhenDownstreamBuilding>
<blockBuildWhenUpstreamBuilding>false</blockBuildWhenUpstreamBuilding>
<triggers class="vector">
<com.cloudbees.jenkins.GitHubPushTrigger>
<spec></spec>
</com.cloudbees.jenkins.GitHubPushTrigger>
<hudson.triggers.SCMTrigger>
<spec>5 * * * *
10 * * * *
15 * * * *
20 * * * *
25 * * * *
30 * * * *
35 * * * *
40 * * * *
45 * * * *
50 * * * *
55 * * * *</spec>
</hudson.triggers.SCMTrigger>
</triggers>
<concurrentBuild>false</concurrentBuild>
<builders>
<hudson.tasks.Shell>
<command>cp Config/settings.yml.install Config/settings.yml &amp;&amp; \
echo &quot;Site.acl_plugin: Acl&quot; &gt;&gt; Config/settings.yml &amp;&amp; \
chmod -R 777 tmp &amp;&amp; \
mysql -u user -ppass -e &apos;DROP DATABASE IF EXISTS croogo_test; CREATE DATABASE croogo_test&apos;;</command>
</hudson.tasks.Shell>
<hudson.tasks.Shell>
<command>cat &gt; Config/database.php &lt;&lt;&apos;DATABASE_PHP&apos;
&lt;?php
class DATABASE_CONFIG {
public $default = array(
&apos;datasource&apos; =&gt; &apos;Database/Mysql&apos;,
&apos;host&apos; =&gt; &apos;localhost&apos;,
&apos;database&apos; =&gt; &apos;croogo_test&apos;,
&apos;login&apos; =&gt; &apos;user&apos;,
&apos;password&apos; =&gt; &apos;pass&apos;,
&apos;encoding&apos; =&gt; &apos;utf8&apos;
);
public $test = array(
&apos;datasource&apos; =&gt; &apos;Database/Mysql&apos;,
&apos;host&apos; =&gt; &apos;localhost&apos;,
&apos;database&apos; =&gt; &apos;croogo_test&apos;,
&apos;login&apos; =&gt; &apos;user&apos;,
&apos;password&apos; =&gt; &apos;pass&apos;,
&apos;encoding&apos; =&gt; &apos;utf8&apos;
);
}
DATABASE_PHP</command>
</hudson.tasks.Shell>
<hudson.tasks.Ant>
<targets></targets>
<buildFile>build.xml</buildFile>
</hudson.tasks.Ant>
</builders>
<publishers>
<hudson.plugins.checkstyle.CheckStylePublisher>
<healthy></healthy>
<unHealthy></unHealthy>
<thresholdLimit>low</thresholdLimit>
<pluginName>[CHECKSTYLE] </pluginName>
<defaultEncoding></defaultEncoding>
<canRunOnFailed>true</canRunOnFailed>
<useDeltaValues>false</useDeltaValues>
<thresholds>
<unstableTotalAll></unstableTotalAll>
<unstableTotalHigh></unstableTotalHigh>
<unstableTotalNormal></unstableTotalNormal>
<unstableTotalLow></unstableTotalLow>
<unstableNewAll></unstableNewAll>
<unstableNewHigh></unstableNewHigh>
<unstableNewNormal></unstableNewNormal>
<unstableNewLow></unstableNewLow>
<failedTotalAll></failedTotalAll>
<failedTotalHigh></failedTotalHigh>
<failedTotalNormal></failedTotalNormal>
<failedTotalLow></failedTotalLow>
<failedNewAll></failedNewAll>
<failedNewHigh></failedNewHigh>
<failedNewNormal></failedNewNormal>
<failedNewLow></failedNewLow>
</thresholds>
<shouldDetectModules>false</shouldDetectModules>
<dontComputeNew>false</dontComputeNew>
<pattern>build/logs/checkstyle.xml</pattern>
</hudson.plugins.checkstyle.CheckStylePublisher>
<hudson.plugins.pmd.PmdPublisher>
<healthy></healthy>
<unHealthy></unHealthy>
<thresholdLimit>low</thresholdLimit>
<pluginName>[PMD] </pluginName>
<defaultEncoding></defaultEncoding>
<canRunOnFailed>true</canRunOnFailed>
<useDeltaValues>false</useDeltaValues>
<thresholds>
<unstableTotalAll></unstableTotalAll>
<unstableTotalHigh></unstableTotalHigh>
<unstableTotalNormal></unstableTotalNormal>
<unstableTotalLow></unstableTotalLow>
<unstableNewAll></unstableNewAll>
<unstableNewHigh></unstableNewHigh>
<unstableNewNormal></unstableNewNormal>
<unstableNewLow></unstableNewLow>
<failedTotalAll></failedTotalAll>
<failedTotalHigh></failedTotalHigh>
<failedTotalNormal></failedTotalNormal>
<failedTotalLow></failedTotalLow>
<failedNewAll></failedNewAll>
<failedNewHigh></failedNewHigh>
<failedNewNormal></failedNewNormal>
<failedNewLow></failedNewLow>
</thresholds>
<shouldDetectModules>false</shouldDetectModules>
<dontComputeNew>false</dontComputeNew>
<pattern>build/logs/pmd.xml</pattern>
</hudson.plugins.pmd.PmdPublisher>
<hudson.plugins.dry.DryPublisher>
<healthy></healthy>
<unHealthy></unHealthy>
<thresholdLimit>low</thresholdLimit>
<pluginName>[DRY] </pluginName>
<defaultEncoding></defaultEncoding>
<canRunOnFailed>true</canRunOnFailed>
<useDeltaValues>false</useDeltaValues>
<thresholds>
<unstableTotalAll></unstableTotalAll>
<unstableTotalHigh></unstableTotalHigh>
<unstableTotalNormal></unstableTotalNormal>
<unstableTotalLow></unstableTotalLow>
<unstableNewAll></unstableNewAll>
<unstableNewHigh></unstableNewHigh>
<unstableNewNormal></unstableNewNormal>
<unstableNewLow></unstableNewLow>
<failedTotalAll></failedTotalAll>
<failedTotalHigh></failedTotalHigh>
<failedTotalNormal></failedTotalNormal>
<failedTotalLow></failedTotalLow>
<failedNewAll></failedNewAll>
<failedNewHigh></failedNewHigh>
<failedNewNormal></failedNewNormal>
<failedNewLow></failedNewLow>
</thresholds>
<shouldDetectModules>false</shouldDetectModules>
<dontComputeNew>false</dontComputeNew>
<pattern>build/logs/pmd-cpd.xml</pattern>
<highThreshold>50</highThreshold>
<normalThreshold>25</normalThreshold>
</hudson.plugins.dry.DryPublisher>
<hudson.plugins.plot.PlotPublisher>
<plots>
<hudson.plugins.plot.Plot>
<title>A - Lines of code</title>
<yaxis>Lines of Code</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Lines of Code (LOC)</string>
<string>Comment Lines of Code (CLOC)</string>
<string>Non-Comment Lines of Code (NCLOC)</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Lines of Code (LOC),Comment Lines of Code (CLOC),Non-Comment Lines of Code (NCLOC)</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>123.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>B - Structures</title>
<yaxis>Count</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Functions</string>
<string>Classes</string>
<string>Namespaces</string>
<string>Files</string>
<string>Directories</string>
<string>Methods</string>
<string>Interfaces</string>
<string>Constants</string>
<string>Anonymous Functions</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Directories,Files,Namespaces,Interfaces,Classes,Methods,Functions,Anonymous Functions,Constants</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>1107599928.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>G - Average Length</title>
<yaxis>Average Non-Comment Lines of Code</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Average Method Length (NCLOC)</string>
<string>Average Class Length (NCLOC)</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Average Class Length (NCLOC),Average Method Length (NCLOC)</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>523405415.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>H - Relative Cyclomatic Complexity</title>
<yaxis>Cyclomatic Complexity by Structure</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Cyclomatic Complexity / Lines of Code</string>
<string>Cyclomatic Complexity / Number of Methods</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Cyclomatic Complexity / Lines of Code,Cyclomatic Complexity / Number of Methods</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>186376189.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>D - Types of Classes</title>
<yaxis>Count</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Abstract Classes</string>
<string>Classes</string>
<string>Concrete Classes</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Classes,Abstract Classes,Concrete Classes</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>594356163.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>E - Types of Methods</title>
<yaxis>Count</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Methods</string>
<string>Static Methods</string>
<string>Non-Static Methods</string>
<string>Public Methods</string>
<string>Non-Public Methods</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Methods,Non-Static Methods,Static Methods,Public Methods,Non-Public Methods</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>1019987862.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>F - Types of Constants</title>
<yaxis>Count</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Class Constants</string>
<string>Global Constants</string>
<string>Constants</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Constants,Global Constants,Class Constants</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>217648577.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
<hudson.plugins.plot.Plot>
<title>C - Testing</title>
<yaxis>Count</yaxis>
<series>
<hudson.plugins.plot.CSVSeries>
<file>build/logs/phploc.csv</file>
<label></label>
<fileType>csv</fileType>
<strExclusionSet>
<string>Functions</string>
<string>Classes</string>
<string>Methods</string>
<string>Test Clases</string>
<string>Test Methods</string>
</strExclusionSet>
<inclusionFlag>INCLUDE_BY_STRING</inclusionFlag>
<exclusionValues>Classes,Methods,Functions,Test Clases,Test Methods</exclusionValues>
<url></url>
<displayTableFlag>false</displayTableFlag>
</hudson.plugins.plot.CSVSeries>
</series>
<group>phploc</group>
<numBuilds>100</numBuilds>
<csvFileName>174807245.csv</csvFileName>
<csvLastModification>0</csvLastModification>
<style>line</style>
<useDescr>false</useDescr>
</hudson.plugins.plot.Plot>
</plots>
</hudson.plugins.plot.PlotPublisher>
<hudson.tasks.junit.JUnitResultArchiver>
<testResults>build/logs/junit.xml</testResults>
<keepLongStdio>false</keepLongStdio>
<testDataPublishers/>
</hudson.tasks.junit.JUnitResultArchiver>
<org.jenkinsci.plugins.cloverphp.CloverPublisher>
<publishHtmlReport>true</publishHtmlReport>
<reportDir>build/coverage</reportDir>
<xmlLocation>build/logs/clover.xml</xmlLocation>
<disableArchiving>false</disableArchiving>
<healthyTarget>
<methodCoverage>70</methodCoverage>
<statementCoverage>80</statementCoverage>
</healthyTarget>
<unhealthyTarget/>
<failingTarget/>
</org.jenkinsci.plugins.cloverphp.CloverPublisher>
<htmlpublisher.HtmlPublisher>
<reportTargets>
<htmlpublisher.HtmlPublisherTarget>
<reportName>API Documentation</reportName>
<reportDir>build/api</reportDir>
<reportFiles>index.html</reportFiles>
<keepAll>true</keepAll>
<wrapperName>htmlpublisher-wrapper.html</wrapperName>
</htmlpublisher.HtmlPublisherTarget>
<htmlpublisher.HtmlPublisherTarget>
<reportName>Code Browser</reportName>
<reportDir>build/code-browser</reportDir>
<reportFiles>index.html</reportFiles>
<keepAll>true</keepAll>
<wrapperName>htmlpublisher-wrapper.html</wrapperName>
</htmlpublisher.HtmlPublisherTarget>
</reportTargets>
</htmlpublisher.HtmlPublisher>
<hudson.plugins.jdepend.JDependRecorder>
<configuredJDependFile>build/logs/jdepend.xml</configuredJDependFile>
</hudson.plugins.jdepend.JDependRecorder>
<hudson.plugins.violations.ViolationsPublisher>
<config>
<suppressions class="tree-set">
<no-comparator/>
</suppressions>
<typeConfigs>
<no-comparator/>
<entry>
<string>checkstyle</string>
<hudson.plugins.violations.TypeConfig>
<type>checkstyle</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern>build/logs/checkstyle.xml</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>codenarc</string>
<hudson.plugins.violations.TypeConfig>
<type>codenarc</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpd</string>
<hudson.plugins.violations.TypeConfig>
<type>cpd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern>build/logs/pmd-cpd.xml</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>cpplint</string>
<hudson.plugins.violations.TypeConfig>
<type>cpplint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>csslint</string>
<hudson.plugins.violations.TypeConfig>
<type>csslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>findbugs</string>
<hudson.plugins.violations.TypeConfig>
<type>findbugs</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>fxcop</string>
<hudson.plugins.violations.TypeConfig>
<type>fxcop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>gendarme</string>
<hudson.plugins.violations.TypeConfig>
<type>gendarme</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jcreport</string>
<hudson.plugins.violations.TypeConfig>
<type>jcreport</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>jslint</string>
<hudson.plugins.violations.TypeConfig>
<type>jslint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pep8</string>
<hudson.plugins.violations.TypeConfig>
<type>pep8</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pmd</string>
<hudson.plugins.violations.TypeConfig>
<type>pmd</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern>build/logs/pmd.xml</pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>pylint</string>
<hudson.plugins.violations.TypeConfig>
<type>pylint</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>simian</string>
<hudson.plugins.violations.TypeConfig>
<type>simian</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
<entry>
<string>stylecop</string>
<hudson.plugins.violations.TypeConfig>
<type>stylecop</type>
<min>10</min>
<max>999</max>
<unstable>999</unstable>
<usePattern>false</usePattern>
<pattern></pattern>
</hudson.plugins.violations.TypeConfig>
</entry>
</typeConfigs>
<limit>100</limit>
<sourcePathPattern></sourcePathPattern>
<fauxProjectPath></fauxProjectPath>
<encoding>default</encoding>
</config>
</hudson.plugins.violations.ViolationsPublisher>
</publishers>
<buildWrappers>
<hudson.plugins.ansicolor.AnsiColorBuildWrapper/>
</buildWrappers>
</project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment