Hello.
On Wed, 26 Oct 2016 03:14:59 +0300, Artem Barger wrote:
Hi,
While working on creating multi module configuration for commons-rng
component I've extracted all configurations for maven plugins such
as: pmd,
findbugs, checkstyle into separate module "commons-rng-build-tools".
Such
that parent project can now refer to it within build plugins section
and
will imply it for all modules reducing the need to repeat it for each
module again (or copy same files into new modules).
Now I think that it could be beneficial to have this "build-tools"
common
component across all Apache Commons, so it will provide same
configurations
for checkstyle, pmd and etc at once.
For example configuration of pmd could look something like:
<build>
<plugins>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.version}</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
<skipEmptyReport>false</skipEmptyReport>
<rulesets>
<ruleset>pmd/pmd-ruleset.xml</ruleset>
</rulesets>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-build-tools</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
And reporting section:
<reporting>
<plugins>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.version}</version>
<configuration>
<targetJdk>${maven.compiler.target}</targetJdk>
<skipEmptyReport>false</skipEmptyReport>
<rulesets>
<ruleset>pmd/pmd-ruleset.xml</ruleset>
</rulesets>
</configuration>
<reportSets>
<reportSet>
<reports>
<report>pmd</report>
<report>cpd</report>
</reports>
</reportSet>
</reportSets>
</plugin>
</plugins>
</reporting>
At some sense this will be similar to "commons-parent", while keeping
only
configuration resources for report generating plugins and for static
analysis tools.
WDYT?
What is the command to "build everything"?
I tried
$ mvn site
and got an error:
... skipped ...
[INFO] Reactor Summary:
[INFO]
[INFO] Build Tools ........................................ SUCCESS [
17.979 s]
[INFO] Apache Commons Parent RNG .......................... FAILURE [
4.274 s]
[INFO] Apache Commons RNG Core ............................ SKIPPED
[INFO]
------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Total time: 22.455 s
[INFO] Finished at: 2016-10-26T16:37:27+02:00
[INFO] Final Memory: 43M/451M
[INFO]
------------------------------------------------------------------------
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-site-plugin:3.4:site (default-site) on
project commons-rng: failed to get report for
org.apache.maven.plugins:maven-javadoc-plugin: Failed to execute goal
org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check (validate)
on project commons-rng: Execution validate of goal
org.apache.maven.plugins:maven-checkstyle-plugin:2.17:check failed:
Plugin org.apache.maven.plugins:maven-checkstyle-plugin:2.17 or one of
its dependencies could not be resolved: Could not find artifact
org.apache.commons:commons-rng-build-tools:jar:1.0-SNAPSHOT in
apache.snapshots (http://repository.apache.org/snapshots) -> [Help 1]
Apart from that, the setup looks nice although I have no idea if
it can fit the "Commons" way of handling each of its sub-project.
Please let me know whether this can be sorted out so that a
release of "Commons RNG" will not be invalidated because of an
"unusual" project build layout or other incompatibility with the
release policy.
When this is settled, we must review the
doc/release/release.howto.txt
document and update according to the new layout.
Thanks,
Gilles
PS. There is temporal example within "commons-rng" git repo inside
"multimodule" branch.
Best regards,
Artem Barger.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org