There are currently 3 Maven Enforcer checks in the JBoss Tools parent pom, and 2 baseline checks.
This check reports if it finds a core plugins which depends on a UI plugin. Currently, this check will only return warnings in the console log — it will NOT fail the build.
<execution>
<id>core-has-ui-deps</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<coreUIDependency implementation="org.jboss.tools.releng.CoreUIDependency"/>
</rules>
<!-- warn but continue the build when fail = false -->
<fail>${enforceFailOnUIDependencyInCore}</fail>
</configuration>
</execution>
Tip
|
To make your build fail if there are UI dependencies from Core plugins, use |
This maven enforcer will check your poms for variables and dependencies which contain SNAPSHOT in them, and return warnings in your build log.
It will ignore anything in the regex pattern enforceExcludePattern
.
<enforceExcludePattern>BUILD_ALIAS|jbossTychoPluginsVersion|jbosstoolsRelengPublishVersion|parsedVersion.qualifier|parsedVersion.osgiVersion|TARGET_PLATFORM_VERSION|TARGET_PLATFORM_VERSION_MIN|TARGET_PLATFORM_VERSION_MAXIMUM|TARGET_PLATFORM_VERSION_MAX|JBTCENTRALTARGET_VERSION|TARGET_PLATFORM_CENTRAL_MAX|tpc.version|central.tpc.version|discovery.tpc.version|p2StatsUrl|angularjs.repo.url|targetplatform.url|jbosstools-target-site</enforceExcludePattern>
<execution>
<id>warn-no-snapshots-AMx</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<noSnapshotsAllowed implementation="org.jboss.tools.releng.NoSnapshotsAllowed">
<buildAlias>${BUILD_ALIAS}</buildAlias>
<!-- if AM3, warn if SNAPSHOTs present -->
<buildAliasSearch>AM1|AM2|AM3</buildAliasSearch>
<!-- properties to include when searching for SNAPSHOT versions, eg., .* (all),
openshift-restclient-java.version (openshift), angularjs.repo.url (jst), thym.version (aerogear)
-->
<includePattern>.*</includePattern>
<!-- properties to exclude when searching for SNAPSHOT versions -->
<excludePattern>${enforceExcludePattern}${enforceExcludePatternExtras}</excludePattern>
</noSnapshotsAllowed>
</rules>
<!-- warn but continue the build when fail = false -->
<fail>false</fail>
</configuration>
</execution>
This maven enforcer will check your poms for variables and dependencies which contain SNAPSHOT in them, and fail your build if any rule violations are found.
It will ignore anything in the regex pattern enforceExcludePattern
.
<!-- more excludes; this lets individual projects add their own exclusions. Note, if using this, must start with a pipe (|) so these are appended as OR matches -->
<enforceExcludePatternExtras></enforceExcludePatternExtras>
<execution>
<id>enforce-no-snapshots-Final</id>
<goals>
<goal>enforce</goal>
</goals>
<configuration>
<rules>
<noSnapshotsAllowed implementation="org.jboss.tools.releng.NoSnapshotsAllowed">
<buildAlias>${BUILD_ALIAS}</buildAlias>
<!-- if Final or GA, fail build if SNAPSHOTs present -->
<buildAliasSearch>Final|GA</buildAliasSearch>
<!-- properties to include when searching for SNAPSHOT versions -->
<includePattern>.*</includePattern>
<!-- properties to exclude when searching for SNAPSHOT versions -->
<excludePattern>${enforceExcludePattern}${enforceExcludePatternExtras}</excludePattern>
</noSnapshotsAllowed>
</rules>
<fail>true</fail>
</configuration>
</execution>
Tip
|
If you would like to add custom exclusions, you can add them using Regex string of additional excludes must start with a pipe (|) so these are appended as OR matches. |
To make sure to report a problem if we need to upversion for a meta-change (eg., build configuration) and there’s no accompanying new commit to force the timestamp to increment, we have enabled the tycho.baseline check. See also JBIDE-22689
<!-- JBIDE-22689 to skip this check, use -Dtycho.baseline=disable, NOT -DskipBaselineComparison=true -->
<stagingBaselineRepository>http://download.jboss.org/jbosstools/neon/staging/updates/</stagingBaselineRepository>
Tip
|
To disable this check, use |
This check ensures that your plugins and features have been correctly (up)versioned relative to a previous Final/GA release baseline. If you commit a change to a plugin after a Final/GA release, but don’t upversion that plugin’s pom.xml and MANIFEST.MF, this check should fail. To resolve the check, simply bump the version of the plugin and any features that contain that plugin.
<!-- baseline check URL: Skip this check with -DskipBaselineComparison=true -->
<lastStableRepository>http://download.jboss.org/jbosstools/neon/stable/updates/</lastStableRepository>
Tip
|
To disable this check, use |