JBoss Build System
  1. JBoss Build System
  2. JBBUILD-692

The JBoss parent pom should not have any maven profiles

    Details

    • Similar Issues:
      Show 10 results 

      Description

      This might be a controversial change, but before dismissing this issue, please listen to my experience with profiles:

      The current profiles in the pom can be removed:

      • enforce: Instead of doing -Dskip-enforce use -Denforcer.skip=true as documented here: http://maven.apache.org/plugins/maven-enforcer-plugin/enforce-mojo.html#skip
      • source: Instead of doing -Dskip-sources, create an issue on the maven-source-plugin to skip it there. I see no point in skipping this though as it's not slow and the JBoss repo doesn't accept artifacts with sources.
      • release: Why is that configuration in a profile? They 'll definitely forget to activate that profile during release. (Especially since -Denforce does not work but -Penforce does, but the later disables the use of other profiles). Fix on the deploy-plugin (by activating updateReleaseInfo on non-SNAPSHOT)
      • dev-reports: Why does this need to be in a profile? A "mvn clean install" doesn't run them anyway. An everyone knows that a "mvn site" takes forever, so it's ok to add them there by default.

      Furthermore, the motivation behind this:

      • Profiles complicate the build, making it harder to understand what's happening.
      • In practice, contributors want 2 profiles:
        • fast (the default, no profile): includes as much as possible (including enforcer and sources jars) but nothing that is slow (like building docbook docs or assemblies)
        • full (-Dfull): include everything (docbook docs, javadocs, signing, assemblies, ...): if the output missing something, it's a bug, not a missing build option
      • Having more than these 2 profiles, confuses contributors and makes build maintance harder.
      • When importing a pom.xml in IntelliJ or m2eclipse, you get asked which profiles you want to activate. You'll want to check the "full" profile so you get the sources of the slow modules (docbook, assemblies) too. Having other profiles there just confuses the developers.

        Activity

        Hide
        Paul Gier
        added a comment -

        This is fixed in 0e8319cb82b2. The only change I'm not able to make is the release profile, with the deploy plugin config. AFAIK, there is no way to activate a profile only during a non-snapshot deployment. As you said, this needs to be fixed in the deploy plugin.

        Show
        Paul Gier
        added a comment - This is fixed in 0e8319cb82b2 . The only change I'm not able to make is the release profile, with the deploy plugin config. AFAIK, there is no way to activate a profile only during a non-snapshot deployment. As you said, this needs to be fixed in the deploy plugin.

          People

          • Assignee:
            Paul Gier
            Reporter:
            Geoffrey De Smet
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: