Dirk, On Wed, Apr 12, 2017 at 7:06 AM, Dirk Mahler <dirk.mah...@buschmais.com> wrote: > Hi all, > > is there a way to provide users of a plugin a way of easily switching > dependencies of it? > > Background: I'm developing a Maven plugin (jQAssistant) that comes with a > dependency to Neo4j (graph database). Currently I'm using Neo4j 2.3.x which > has been compiled against Java 7 but I would like to offer users of the > Maven plugin an easy option to use the newer Neo4j 3.x releases which offer > some new features but require Java 8. > > I know that it's possible to overwrite an existing dependency for a plugin, > e.g. > > <plugin> > <groupId>com.buschmais.jqassistant</groupId> > <artifactId>jqassistant-maven-plugin</artifactId> > <version>1.3.0</version> > <dependencies> > <dependency> > <groupId>org.neo4j</groupId> > <artifactId>neo4j</artifactId> > <version>3.1.3</version> <!-- instead of the default 2.3.10 --> > </dependency> > </dependencies> > </plugin>
As long as your code can handle the different versions of the dependency, I think this is absolutely doable. In fact the Maven Checkstyle Plugin uses the same approach to allow upgrading checkstyle versions without upgrading the plugin version [1]. > > The problem is that in my case the old version comes with another set of > dependencies than the new one: I do not think this will be a problem. > > old: > > <dependencies> > <dependency> > <groupId>org.neo4j</groupId> > <artifactId>neo4j</artifactId> > <version>2.3.10</version> > </dependency> > <dependency> > <groupId>org.neo4j.app</groupId> > <artifactId>neo4j-server</artifactId> > <version>2.3.10</version> > </dependency> > <dependency> > <groupId>org.neo4j.app</groupId> > <artifactId>neo4j-server</artifactId> > <classifier>static-web</classifier> > <version>2.3.10</version> > </dependency> > </dependencies> > > new: > > <dependencies> > <dependency> > <groupId>org.neo4j</groupId> > <artifactId>neo4j</artifactId> > <version>3.1.3</version> > </dependency> > <dependency> > <groupId>org.neo4j.app</groupId> > <artifactId>neo4j-server</artifactId> > <version>3.1.3</version> > </dependency> > </dependencies> > > Is there a good way to deal with it such that a user of the > jqassistant-maven-plugin can easily switch between both variants? > > Cheers, > > Dirk > > Senior Consultant IT > buschmais GbR - Bindul [1] http://maven.apache.org/plugins/maven-checkstyle-plugin/examples/upgrading-checkstyle.html > > ----------------------------------------------------------------- > Inhaber Torsten Busch, Frank Schwarz, Dirk Mahler, Tobias Israel > Adresse buschmais GbR, Leipziger Straße 93, 01127 Dresden > Telefon +49 (0) 351 3209 23-0 > Fax +49 (0) 351 3209 23-29 > Mobil +49 (0) 177 3137411 > E-Mail dirk.mah...@buschmais.com > Internet http://www.buschmais.de > ----------------------------------------------------------------- > > Diese E-Mail enthält vertrauliche undoder rechtlich geschützte > Informationen. Wenn Sie diese E-Mail irrtümlich erhalten haben, > bitten wir Sie diese E-Mail umgehend zu löschen. Das unerlaubte > Kopieren sowie die unbefugte Weitergabe dieser E-Mail ist nicht > gestattet. > > This e-mail may contain confidential or privileged information. If > you are not the intended recipient we kindly request you to delete > this e-mail immediately. Any unauthorized copying, disclosure or > distribution of the material in this e-mail is strictly forbidden. > > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org For additional commands, e-mail: dev-h...@maven.apache.org