This is an automated email from the ASF dual-hosted git repository. ycai pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra-sidecar.git
The following commit(s) were added to refs/heads/trunk by this push: new 20caf6e CASSANDRASC-61: Add Release Audit Tool (RAT) plugin to Sidecar 20caf6e is described below commit 20caf6efdd50c276e22f3a681b87e883891877b8 Author: Francisco Guerrero <francisco.guerr...@apple.com> AuthorDate: Tue Jun 27 05:56:07 2023 -0700 CASSANDRASC-61: Add Release Audit Tool (RAT) plugin to Sidecar This commit adds the Release Audit Tool (RAT) plugin to `build.gradle` which adds a new build task `rat`. This new task will make sure that the license headers are present in source files during the `check` task. To run the RAT plugin, you can run: ``` ./gradlew rat ``` patch by Francisco Guerrero; reviewed by Dinesh Joshi, Michael Semb Wever for CASSANDRASC-61 --- .circleci/config.yml | 25 +++++++++-- CONTRIBUTING.md | 20 +++++++++ README.md | 20 +++++++++ adapters/base/build.gradle | 19 ++++++++ build.gradle | 71 ++++++++++++++++++++++++++++++ client/README.md | 20 +++++++++ client/build.gradle | 4 +- common/build.gradle | 19 ++++++++ docs/build.gradle | 19 ++++++++ gradle.properties | 18 ++++++++ ide/idea/codeStyleSettings.xml | 18 +++++++- ide/idea/copyright/profiles_settings.xml | 19 +++++++- settings.gradle | 19 ++++++++ spotbugs-exclude.xml | 16 +++++++ src/main/dist/conf/sidecar.yaml | 18 ++++++++ src/main/resources/docs/index.html | 16 +++++++ vertx-client/src/test/resources/log4j2.xml | 16 +++++++ 17 files changed, 350 insertions(+), 7 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 124250f..7e91c83 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,3 +1,21 @@ +# +# 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. +# + # Java Gradle CircleCI 2.0 configuration file # # Check https://circleci.com/docs/2.0/language-java/ for more details @@ -49,7 +67,7 @@ jobs: - run: BRANCHES="cassandra-4.0 cassandra-4.1" scripts/build-dtest-jars.sh - run: echo 'export DTEST_JAR=$(cd dtest-jars && find . -name 'dtest-4.1*.jar' -maxdepth 1)' >> "$BASH_ENV" - - run: ./gradlew -i test integrationTest --stacktrace -Dcassandra.sidecar.versions_to_test="4.0,4.1" + - run: ./gradlew --info check --stacktrace -Dcassandra.sidecar.versions_to_test="4.0,4.1" - store_artifacts: path: build/reports @@ -66,7 +84,7 @@ jobs: - checkout - run: CASSANDRA_USE_JDK11=true scripts/build-dtest-jars.sh - - run: ./gradlew -i test integrationTest --stacktrace + - run: ./gradlew --info check --stacktrace - store_artifacts: path: build/reports @@ -110,7 +128,8 @@ jobs: steps: - checkout - run: ./gradlew docs:asciidoctor - - run: test -f docs/build/html5/user.html + - run: test -f docs/build/user.html + - run: test -f docs/build/development.html workflows: version: 2 diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5d61de0..2a02db0 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,3 +1,23 @@ +<!-- +# +# 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. +# +--> + # Contributing to Apache Cassandra Sidecar We warmly welcome and appreciate contributions from the community. diff --git a/README.md b/README.md index 3bcbe16..622a7bb 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,23 @@ +<!-- +# +# 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. +# +--> + # Apache Cassandra Sidecar [WIP] This is a Sidecar for the highly scalable Apache Cassandra database. diff --git a/adapters/base/build.gradle b/adapters/base/build.gradle index 50b3d93..cf14e7c 100644 --- a/adapters/base/build.gradle +++ b/adapters/base/build.gradle @@ -1,3 +1,22 @@ +/* + * 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. + */ + plugins { id 'java-library' id 'idea' diff --git a/build.gradle b/build.gradle index dd07dfe..ef7b7bc 100644 --- a/build.gradle +++ b/build.gradle @@ -1,3 +1,24 @@ +/* + * 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. + */ + + +import java.nio.file.Files import java.nio.file.Paths buildscript { @@ -23,8 +44,12 @@ plugins { id 'nebula.ospackage-application' version "8.3.0" id 'com.google.cloud.tools.jib' version '2.2.0' id 'org.asciidoctor.jvm.convert' version '3.1.0' + + // Release Audit Tool (RAT) plugin for checking project licenses + id("org.nosphere.apache.rat") version "0.8.0" } + ext.dtestJar = System.getenv("DTEST_JAR") ?: "dtest-5.0.jar" // trunk is currently 5.0.jar - update when trunk moves println("Using DTest jar: ${ext.dtestJar}") @@ -341,6 +366,48 @@ applicationDistribution.from("LICENSE.txt") { into "" } +tasks.register('buildIgnoreRatList', Exec) { + description 'Builds a list of ignored files for the rat task from the unversioned git files' + commandLine 'bash', '-c', "git clean --force -d --dry-run -x | cut -c 14-" + doFirst { + standardOutput new FileOutputStream("${buildDir}/.rat-excludes.txt") + } + // allows task to fail when git/cut commands are unavailable or fail + ignoreExitValue = true +} + +rat { + + doFirst { + def excludeFilePath = Paths.get("${buildDir}/.rat-excludes.txt") + def excludeLines = Files.readAllLines(excludeFilePath) + excludeLines.each { line -> + if (line.endsWith("/")) { + excludes.add("**/" + line + "**") + } else { + excludes.add(line) + } + } + } + + // List of Gradle exclude directives, defaults to ['**/.gradle/**'] + excludes.add("**/build/**") + excludes.add("CHANGES.txt") + + // Documentation files + excludes.add("**/docs/src/**") + // gradle files + excludes.add("gradle/**") + excludes.add("gradlew") + excludes.add("gradlew.bat") + + // resource files for test + excludes.add("**/test**/resources/**") + + // XML, TXT and HTML reports directory, defaults to 'build/reports/rat' + reportDir.set(file("build/reports/rat")) +} + integrationTest.onlyIf { "true" != System.getenv("skipIntegrationTest") } // copyDist gets called on every build @@ -348,3 +415,7 @@ copyDist.dependsOn installDist, copyJolokia check.dependsOn checkstyleMain, checkstyleTest, integrationTest, jacocoTestReport build.dependsOn copyDist, copyJolokia, copyDocs run.dependsOn build + +tasks.named('rat').configure { + dependsOn(buildIgnoreRatList) +} diff --git a/client/README.md b/client/README.md index c6e79a7..7594edc 100644 --- a/client/README.md +++ b/client/README.md @@ -1,3 +1,23 @@ +<!-- +# +# 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. +# +--> + # Cassandra Sidecar Client The Sidecar Client is a fully featured client to access Cassandra Sidecar endpoints. It offers support for diff --git a/client/build.gradle b/client/build.gradle index 85165a9..44e359a 100644 --- a/client/build.gradle +++ b/client/build.gradle @@ -1,5 +1,3 @@ -import java.nio.file.Paths - /* * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file @@ -18,6 +16,8 @@ import java.nio.file.Paths * limitations under the License. */ +import java.nio.file.Paths + plugins { id('idea') // A Java library diff --git a/common/build.gradle b/common/build.gradle index aa42bea..dd9fad1 100644 --- a/common/build.gradle +++ b/common/build.gradle @@ -1,3 +1,22 @@ +/* + * 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. + */ + plugins { id 'java-library' id "java-test-fixtures" diff --git a/docs/build.gradle b/docs/build.gradle index bd76db0..2e89885 100644 --- a/docs/build.gradle +++ b/docs/build.gradle @@ -1,3 +1,22 @@ +/* + * 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. + */ + apply plugin: 'org.asciidoctor.jvm.convert' asciidoctor { diff --git a/gradle.properties b/gradle.properties index d1ac405..60be724 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,3 +1,21 @@ +# +# 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. +# + version=1.0-SNAPSHOT junitVersion=5.9.2 vertxVersion=4.2.1 diff --git a/ide/idea/codeStyleSettings.xml b/ide/idea/codeStyleSettings.xml index d9190a7..951b66f 100644 --- a/ide/idea/codeStyleSettings.xml +++ b/ide/idea/codeStyleSettings.xml @@ -1,4 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- + 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 version="4"> <component name="ProjectCodeStyleSettingsManager"> <option name="PER_PROJECT_SETTINGS"> @@ -272,4 +288,4 @@ </option> <option name="USE_PER_PROJECT_SETTINGS" value="true" /> </component> -</project> \ No newline at end of file +</project> diff --git a/ide/idea/copyright/profiles_settings.xml b/ide/idea/copyright/profiles_settings.xml index 5448281..d21f0b1 100644 --- a/ide/idea/copyright/profiles_settings.xml +++ b/ide/idea/copyright/profiles_settings.xml @@ -1,3 +1,20 @@ + +<!-- + 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. +--> <component name="CopyrightManager"> <settings default="Apache License 2.0" /> -</component> \ No newline at end of file +</component> diff --git a/settings.gradle b/settings.gradle index c723715..1eb9963 100644 --- a/settings.gradle +++ b/settings.gradle @@ -1,3 +1,22 @@ +/* + * 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. + */ + rootProject.name = "cassandra-sidecar" include "adapters:base" diff --git a/spotbugs-exclude.xml b/spotbugs-exclude.xml index 7085a6e..46f0f39 100644 --- a/spotbugs-exclude.xml +++ b/spotbugs-exclude.xml @@ -1,4 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> <FindBugsFilter xmlns="https://spotbugs.readthedocs.io/en/stable/filter.html" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" diff --git a/src/main/dist/conf/sidecar.yaml b/src/main/dist/conf/sidecar.yaml index c33936e..33e4178 100644 --- a/src/main/dist/conf/sidecar.yaml +++ b/src/main/dist/conf/sidecar.yaml @@ -1,3 +1,21 @@ +# +# 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. +# + # # Cassandra SideCar configuration file # diff --git a/src/main/resources/docs/index.html b/src/main/resources/docs/index.html index c73772f..069bf1a 100644 --- a/src/main/resources/docs/index.html +++ b/src/main/resources/docs/index.html @@ -1,5 +1,21 @@ <!-- HTML for static distribution bundle build --> <!DOCTYPE html> +<!-- + 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 + limitatins under the License. +--> <html lang="en"> <head> <meta charset="UTF-8"> diff --git a/vertx-client/src/test/resources/log4j2.xml b/vertx-client/src/test/resources/log4j2.xml index e5b017f..3adc053 100644 --- a/vertx-client/src/test/resources/log4j2.xml +++ b/vertx-client/src/test/resources/log4j2.xml @@ -1,4 +1,20 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- + 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. +--> <Configuration status="ERROR"> <Properties> <Property name="LOG_PATTERN">%d{yyyy-MM-dd'T'HH:mm:ss.SSSZ} %p %m%n</Property> --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org