Mmuzaf commented on code in PR #2620:
URL: https://github.com/apache/cassandra/pull/2620#discussion_r1302939964


##########
.build/build-sonar.xml:
##########
@@ -0,0 +1,167 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!--
+  ~ Licensed to the Apache Software Foundation (ASF) under one
+  ~ or more contributor license agreements.  See the NOTICE file
+  ~ distributed with this work for additional information
+  ~ regarding copyright ownership.  The ASF licenses this file
+  ~ to you under the Apache License, Version 2.0 (the
+  ~ "License"); you may not use this file except in compliance
+  ~ with the License.  You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  -->
+<project basedir="." name="apache-cassandra-sonar-tasks" xmlns:if="ant:if" 
xmlns:unless="ant:unless">
+    <property name="sonar-scanner-cli.version" value="5.0.1.3006-linux"/>
+    <property name="sonar.workdir" value="${build.dir}/sonar"/>
+    <property name="sonar.download.dir" 
value="${user.home}/.cassandra-cache/tools"/>
+    <property name="sonar-scanner.home" 
value="${sonar.download.dir}/sonar-scanner-${sonar-scanner-cli.version}"/>

Review Comment:
   The first point,
   
   I think we should be able to clean everything related to the project with 
one command, currently, I can do this with `ant realclean`. Tracking and 
cleaning all these kinds of caches manually is a really complex problem (you 
have to be aware of all the locations), the developer may not even know 
anything about them. We have a contract now - `realclean` cleans everything, 
and we have to keep this contract.
   
   For example, checkstyle has its own cache located at 
`build/checkstyle/checkstyle_cachefile` which is cleaned by `ant realclean` and 
NOT cleaned by `ant clean`.
   
   The second point,
   
   I think you are assuming that you have only one copy of cassandra's 
upstream, but this is generally not true. For example, I have 3 copies of 
cassandra, and each of them has a slightly different trunk (upstream copy, 
local copy, and company's internal). This will lead to conflicts when the sonar 
cache is localized to my home directory. This is actually a bad way to control 
everything related to the project, just imagine if every open source project 
created something in your home directory how bad would that be to see such a 
messy home directory.
   
   The third point,
   
   I use two copies of the Cassandra source files in parallel - one for 
development and one for testing/reviewing patches. Now I am able to build and 
work with these projects in parallel, but after these changes, I wouldn't be 
able to, right? This sounds really bad to me :-(
   
   
   



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to