Git Product home page Git Product logo

vertx-parent's Introduction

Base parent pom for Vert.x projects

The parent pom defines common default configuration for Vert.x projects:

  • base plugins versions.
  • file encoding.
  • Java 8 source and target.
  • install test-jar, sources and test-sources artifacts.
  • Netty leak detector.
  • Vert.x release/snapshots repositories.

vertx-parent's People

Contributors

aguibert avatar cescoffier avatar emadalblueshi avatar jponge avatar paulgallagher75 avatar pmlopes avatar purplefox avatar tsegismont avatar vietj avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vertx-parent's Issues

Use maven-gpg-plugin 1.6

The current version is provided by oss-parent that is version 1.1 which does not allow to have encrypted gpg.passphrase in settings.xml

Configure pom to deploy to new sonatype infrastructure

The project is switched distribution management server from oss.sonatype.org to s01.oss.sonatype.org.

Current the pom inherits the default from oss-parent and we need to override the distribution management info to use the new server.

Allow `argLine` injection in surefire command line

The maven jacoco plugin requires a slightly different configuration of the surefire plugin to inject the Jacoco Agent attachment.

The following configuration should be ok:

<argLine>${argLine} -server -Xmx1200M</argLine>

Then, jacoco compute it's own argLine prepended to the surefire configuration.

For information, this will let us compute test coverage.

Enable "--allow-script-in-comments" in javadoc plugin

Current work-around

          <configuration>
            <sourceFileExcludes>
              <sourceFileExclude>**/package-info.java</sourceFileExclude>
              <sourceFileExclude>**/impl/**</sourceFileExclude>
            </sourceFileExcludes>
            <sourceFileIncludes>
              <sourceFileInclude>io/vertx/**/*.java</sourceFileInclude>
            </sourceFileIncludes>
            <additionalparam>-Xdoclint:none</additionalparam>
            <!-- needed for Java 8u121 -->
            <additionalparam>&#45;&#45;allow-script-in-comments</additionalparam>
            <failOnError>false</failOnError>
          </configuration>

Provide manifest file merging

Provide a property named jar.manifest empty by default that when defined allow for merging a manifest with existing entries. Useful for automatic modules.

Error running tests with vertx-parent 6

When running tests from maven using vertx-ext-parent v15 (which depends on vertx-parent v6), I'm getting an error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.18:test (default-test) on project vertx-cassandra-client: Execution default-test of goal org.apache.maven.plugins:maven-surefire-plugin:2.18:test failed: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
[ERROR] Command was /bin/sh -c cd /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client && /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/java '${argLine}' -server -Xmx1200M -jar /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefirebooter6787365219451412939.jar /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefire6045587325000177173tmp /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefire_08488067062760839950tmp

The project is built successfully when setting the parent to vertx-ext-parent v14.

Comparing the output in execution, I see that the command to run the tests with that version is slightly different


Forking command line: /bin/sh -c cd /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client && /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/jre/bin/java -server -Xmx1200M -jar /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefirebooter3451854156585741543.jar /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefire1083980854613232452tmp /Users/ferran/feina/oss/vertx/vertx-cassandra/vertx-cassandra-client/target/surefire/surefire_03065961154113509632tmp

I've been investigating the changes in both vertx-parent and vertx-ext-parent, and seems that the fix for #5 could be related, since seems to introduce ${argLine}in the command line.

the parent pom is not found if a project depends on the snapshot version

the projects that references the parent pom as snapshot version do not work if the file was not installed locally before. This is because the snapshot file is not found if it is not already added (the pom references sonatype as parent, but we never get to that point).
it would be better to either release the pom as version or to put the sonatype repository into each pom that uses the snapshot version.

Proper and overridable Netty leak detector configuration

The current configuration of Netty's leak detector runs tests with the paranoid level. In practice it was not used because Vert.x will disable the detector whatsoever.

Recently a contribution change the Vert.x behavior to not disable the detector if a system property is set, resulting in running all Vert.x tests in paranoid mode.

While this is very desirable to run the tests in this configuration it might not be suited for all projects and we should run like before and make it overridable using system properties.

${argLine} problems

A couple of days ago I opened #7 because I experienced problems running tests when a project inherited from vertx-parent version 6. I suggested to close the issue because I thought it was my mistake, but now the problems are happening again.

I've set up a simple reproducer which causes the error at sisqbates/vertx-parent-issue. Running mvn clean test on the fresh clone triggers the error, while editing pom.xml and uncommenting the surefire plugin config (which is identical to the one in vertx-parent version 6 without ${argLine}) does not.

Misleading documentation

ArgLine: Allow using plugin injecting argLine (such as Jacoco) - notice the @{} instead of ${} to enable

it seems jacoco support got removed 2 years ago.
This commit is ~5 years older than that and suggests otherwise.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.