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]

