# JBoss, Home of Professional Open Source # Copyright 2013, Red Hat, Inc. and/or its affiliates, and individual # contributors by the @authors tag. See the copyright.txt in the # distribution for a full listing of individual contributors. # # Licensed 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.#All Rules #All rules rules: #Default rule - &default #Expected source code expected-compiler-source: "1.6" #List of JBoss Developer Maven approved repositories - Format: URL|RELEASES|SNAPSHOT maven-approve-repositories: - redhat-techpreview-all-repository: https://maven.repository.redhat.com/techpreview/all/|true|false - redhat-earlyaccess-all-repository: https://maven.repository.redhat.com/earlyaccess/all/|true|false - jboss-public-repository: https://repository.jboss.org/nexus/content/groups/public/|true|true - fuse-public-repository: https://repo.fusesource.com/nexus/content/groups/public|true|true - jboss-developer-staging-repository: http://jboss-developer.github.io/temp-maven-repo/|true|false #Comment that should be added for repository definition maven-repositories-comment: " Activate JBoss Product Maven repository.\n\n NOTE: Configuring the Maven repository in the pom.xml file is not a recommended procedure\n and is only done here to make it easier to use the quickstarts.\n\n For more information about how to configure Maven for your application,\n see the section entitled 'Use the Maven Repository'\n in the Development Guide for Red Hat JBoss Enterprise Application Platform 6 located here:\n\n https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/ \n " #Expected JDF BOM Version expected-bom-versions: - org.jboss.bom: 1.0.4.Final-redhat-9 - org.jboss.bom.eap: 6.3.2.GA - org.jboss.bom.jdg: 6.2.0-build-2 - org.jboss.bom.wfk: 2.6.0-redhat-1 - org.jboss.bom.brms: 6.1.0-build-9 - org.jboss.bom.sandbox: 1.0.0-SNAPSHOT - org.jboss.spec: 3.0.2.Final-redhat-13 - org.jboss.as: 7.4.1.Final-redhat-3 #Community to Product BOMs - Used only on 'updateBoms' Goal project-boms-migration: - oldGroupId|oldArtifactId: newGroupId|newArtifactId|property - oldGroupId|oldArtifactId: REMOVE #This will fully remove the BOM and its comment #Final name patterns final-name-patterns: - jar: "${project.artifactId}" - war: "${project.artifactId}" - ejb: "${project.artifactId}" - ear: "${project.parent.artifactId}" #Default Maven groupId groupid: org.jboss.quickstarts.eap #Maven ArtifactId prefix artifactid-prefix: "jboss-" #Pom name pattern pom-name-pattern: " Quickstart: " pom-name-pattern-submodule: " Quickstart: - " #Header file pattern header-file: "https://raw.github.com/jboss-developer/maven-qstools-plugin/master/config/default/header.txt" #license file and header definition for FileHeaderFixer license-file: "https://raw.github.com/jboss-developer/maven-qstools-plugin/master/config/default/license.txt" header-definition: "https://raw.github.com/jboss-developer/maven-qstools-plugin/master/config/headerdefinition.xml" #Eclipse Formatter Profile XML settings Location. Used to run Formatter Fixers eclipse-formatter-location: "https://raw.github.com/jboss/ide-config/master/eclipse/jboss-java-formatter.xml" #Red Hat Maven Repository definition redhat-maven-repository-profile-location: "https://raw.githubusercontent.com/jboss-developer/maven-qstools-plugin/master/config/default/repository-profile.xml" #Ignored modules on ModuleDefinedChecker - Checks if all project subdirectories are defined as module ignored-modules: - "dist" - "template" - "functional-tests" #List of Checkers that should be ignored. Use Class name as value ignored-checkers: - ClassNameChecker #non-existent checker just as example - MavenCentralRepositoryChecker #Product doesn't use Maven Central repository #Ignored property on UnusedPropertiesChecker ignored-unused-properties: - stacks.branch - maven.compiler.source - maven.compiler.target - maven.test.skip - m2e.jpa.activation #Specific for m2e plugin - m2eclipse.wtp.contextRoot #Specific for m2e plugin #Ignored properties on SamePropertyValueChecker ignored-differet-value-properties: - maven.exec.mainClass #Each Project can have your own main Class #Metadatas that should be present on Readme files and its Regex pattern readme-metadatas: - "FOLDER-NAME": "\\w.{10,55}" - "Author:": "\\w.*\\s\\s" - "Level:": "(Beginner|Intermediate|Advanced)\\s\\s" - "Technologies:": "^(.(?!and))*\\s\\s" - "Summary:": "\\w.{100,155}\\s\\s" - "Target Product:": "(JBoss EAP|WFK|Portal|JDG|Operations Network|Fuse|FSW|BRMS|BPM Suite|Sandbox|JBoss Unified Push)\\s\\s" - "Source:": "<(http|https)://\\w.*>\\s\\s" # #element order in pom.xml pom-order: #header - "modelVersion" - "parent" #gav - "groupId" - "artifactId" - "version" - "packaging" #project information - "name" - "description" - "url" - "organization" - "licenses" - "developers" #environment - "repositories" - "pluginRepositories" - "scm" - "distributionManagement" #general - "properties" - "modules" - "dependencyManagement" - "dependencies" - "build" - "profiles" #Property names - Defined at: https://docspace.corp.redhat.com/docs/DOC-135368 #Format - groupId: recommended.version.name // Only GroupId check #Format - groupId|aertifactId: recommended.version.name // GroupId + ArtifactId check property-names: #boms - com.sun.faces: version.com.sun.faces.jsf.impl - org.jboss.arquillian.junit: version.jboss.arquillian - org.jboss.arquillian.protocol: version.jboss.arquillian - org.jboss.as: version.jboss.as - org.jboss.as.plugins: version.jboss.maven.plugin - org.jboss.bom: version.jboss.bom.eap - org.jboss.bom.eap: version.jboss.bom.eap - org.jboss.bom.brms: version.jboss.bom.brms - org.jboss.bom.wfk: version.jboss.bom.wfk - org.jboss.bom.jdg: version.jboss.bom.jdg - org.jboss.bom.portal: version.jboss.portal.bom - org.jboss.bom.sandbox: version.jboss.bom.sandbox - org.jboss.bom|gatein-3.6-bom: version.jboss.gatein.bom #consider the artifactId for GateIn - org.jboss.spec: version.jboss.spec.javaee.6.0 - org.jboss.weld.se: version.jboss.weld - org.jboss.weld.servlet: version.jboss.weld #plugins - org.codehaus.mojo|exec-maven-plugin: version.exec.plugin #What files should be excluded from being checked excludes: #target - "**/target/**" #hidden files and directories - "**/.*/**" - ".*" #known libraries - "**/angular*" - "**/additional-methods*" - "**/backbone*" - "**/*cordova*/**" - "**/*glyphicons*/**" - "**/jquery*" - "**/lodash*" - "**/mobile-nav*" - "**/modernizr*" - "**/qunit*" - "**/underscore*" - "**/yepnope*" #Some well known files - "CONTRIBUTING.html" - "**/LICENSE*" - "**/license*" - "**/README.html" - "RELEASE_PROCEDURE.html" #BRMS support files - "brms-quickstarts/**/support/**" excludes-FileHeaderChecker: - "**/spring-petclinic/**" - "**/test/resources/xml/*.xml" excludes-FileHeaderFixer: - "**/spring-petclinic/**" - "**/test/resources/xml/*.xml" #Doesn't check Private APIs on test folder excludes-PrivateApiChecker: - "**/test/**" #Specific rules - &sandbox groupid: org.jboss.quickstarts.sandbox - &wfk groupid: org.jboss.quickstarts.wfk #Community to Product BOMs - Used only on 'updateBoms' Goal project-boms-migration: - org.jboss.bom|jboss-javaee-6.0-with-tools: org.jboss.bom.wfk|jboss-javaee-6.0-with-tools|version.jboss.bom.wfk - org.jboss.bom|jboss-javaee-6.0-with-hibernate: org.jboss.bom.eap|jboss-javaee-6.0-with-hibernate|version.jboss.bom.eap - org.richfaces|richfaces-bom: org.jboss.bom.wfk|jboss-javaee-6.0-with-richfaces|version.jboss.bom.wfk - org.jboss.spec|jboss-javaee-6.0: REMOVE - &jdg groupid: org.jboss.quickstarts.jdg - &jboss-on groupid: org.jboss.quickstarts.jboss-on - &portal groupid: org.jboss.quickstarts.portal ignored-checkers: - MavenCentralRepositoryChecker #Product doesn't use Maven Central repository - ArtifactIdNameChecker #Asked by PPalaga do disable it - PomNameChecker #Asked by PPalaga do disable it - DependencyChecker #Asked by PPalaga do disable it - because of org.gatein.pc:pc-portlet:${pc-portlet.version} - &fuse expected-compiler-source: "1.7" groupid: org.jboss.quickstarts.fuse artifactid-prefix: "" ignored-checkers: - MavenCentralRepositoryChecker #Product doesn't use Maven Central repository #Ignored property on UnusedPropertiesChecker ignored-unused-properties: - fabric8.features - fabric8.profile - fabric8.parentProfiles - fabric.version - fabric8.bundles #Ignored properties on SamePropertyValueChecker ignored-differet-value-properties: - maven.exec.mainClass #Each Project can have your own main Class - fabric8.profile - fabric8.features - fabric8.parentProfiles - &brms groupid: org.jboss.quickstarts.brms artifactid-prefix: "brms-" ignored-checkers: - MavenCentralRepositoryChecker #Product doesn't use Maven Central repository - &qstools groupid: org.jboss.maven.plugins artifactid-prefix: "maven-" ignored-checkers: - ReadmeChecker #QSTools is not a quickstart - DependencyChecker #QStools doesn't use BOMs - FinalNameChecker #QStools isn't an application - &stacks groupid: org.jboss.stacks artifactid-prefix: "" pom-name-pattern: "QSTools Maven Plugin" ignored-checkers: - ReadmeChecker #Stacks-client is not a quickstart - DependencyChecker #Stacks-client doesn't use BOMs - FinalNameChecker #Stacks-client is a library, not an application - &switchyard groupid: org.switchyard.quickstarts artifactid-prefix: "switchyard-" pom-name-pattern: "SwitchYard Quickstart: " pom-name-pattern-submodule: "SwitchYard Quickstart: - " - &mobile groupid: org.jboss.quickstarts.mobile pom-name-pattern: " Quickstart: " pom-name-pattern-submodule: " Quickstart: - " ignored-checkers: - ArtifactIdNameChecker #It doesn't make sense for Mobile - MavenCentralRepositoryChecker #Product doesn't use Maven Central repository - MavenCompilerChecker #Disabled because it uses 1.7 (Android) and 1.6 (Web) #Quickstarts quickstarts: org.jboss.quickstarts.eap: - *default org.jboss.quickstarts.wfk: - *default - *wfk org.jboss.quickstarts.sandbox: - *default - *sandbox org.jboss.quickstarts.jdg: - *default - *jdg org.jboss.quickstarts.jboss-on: - *default - *jboss-on org.jboss.quickstarts.portal: - *default - *portal org.jboss.quickstarts.fuse: - *default - *fuse org.jboss.quickstarts.brms: - *default - *brms org.jboss.maven.plugins: - *default - *qstools org.jboss.stacks: - *default - *stacks org.switchyard.quickstarts: - *default - *switchyard org.jboss.quickstarts.mobile: - *default - *mobile