[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [cross-project-issues-dev] dependencies and CQs - best practices and tooling

Hi Henrik.

I do something very much like this when I review a project prior to a release (this is triggered by submitting your IP Log). I've got some tools that are very near to ready for contribution to the Eclipse Dash project to help with mapping from MVN coordinates (and other information) back to CQs (I'm hoping to set something up to automatically run them and generate reports like the old tool; it might also be cool to try and build a Maven plugin).

As part of this, I'll also publish a mapping between CQs and MVN coordinates that I've started to compile. We have a bug open to capture this information more consistently in IPZilla.

FWIW, the dependency:list and dependency:tree plugins are handy. There's a feature on the dependency:tree plugin that lets you generate output in Graphviz DOT format which is far easier to parse than the plaintext output.Â

Wayne

On Fri, Aug 10, 2018 at 11:40 AM, Henrik Rentz-Reichert <hrr@xxxxxxxxx> wrote:

Hi,

Â

Iâm currently preparing the 2.0 release of the Eclipse eTrice project.

A part of this task is to check whether all dependencies have appropriate CQs and to create new ones where missing.

Â

In the following I want to share how I did that:

ÂÂÂÂÂÂÂÂ I realized that the old tool to check project dependencies and CQs [0] is deprecated

ÂÂÂÂÂÂÂÂ I found a hint that Maven can print dependencies [1] and used this in a Jenkins job that Iâve created for this purpose [2]. A post build step greps the interesting lines, sorts them unique and prints the result to the console (see [6] for an example).

ÂÂÂÂÂÂÂÂ Then I used an IPzilla query [3] to find the existing CQs for our project.

ÂÂÂÂÂÂÂÂ In the next step I used the CQ creation page [4] to create CQs for all of the dependencies that missed a CQ. This worked very nice in general. In some cases though the proposals havenât been satisfactory, e.g. for the Apache Commons Command Line Interface CLI. âorg.apache.commons.cliâ yields no proposal, âcliâ proposals didnât contain the desired one, only âcommandâ showed a matching proposal.

ÂÂÂÂÂÂÂÂ Finally Iâve collected everything in a Wiki page [5]

Â

Questions and suggestions

ÂÂÂÂÂÂÂÂ How do other projects handle this task?

ÂÂÂÂÂÂÂÂ Could the already very helpful page to âCreate a Contribution Questionnaireâ be improved further?

oÂÂ Finding an existing CQ from a dependency as shown by Maven: e.g. âp2.eclipse-plugin:org.apache.batik.util:jar:1.8.0.v20170214-1941:systemâ, or just âorg.apache.batik.util 1.8.0â

oÂÂ Select a version already in a second field together with the name

oÂÂ Indicate that a matching CQ already exists for the project

oÂÂ Most convenient would we a bulk processing of the Maven dependencies output similar to [6]. The result could be a list of existing CQs and of CQs to be created (with check boxes for their creation)

Â

Best regards,

Henrik

Â

[0] https://www.eclipse.org/projects/tools/downloads.php?id=modeling.mdt.etrice

[1] https://wiki.eclipse.org/OTJPA_dependencies

[2] https://ci.eclipse.org/etrice/job/dependencies/

[3] https://dev.eclipse.org/ipzilla/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&component=modeling.mdt.etrice&long_desc_type=allwordssubstr&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&emailtype1=substring&email1=&emailtype2=substring&email2=&bugidtype=include&bug_id=&chfieldfrom=&chfieldto=Now&chfieldvalue=&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=

[4] https://projects.eclipse.org/projects/modeling.mdt.etrice/cq/create (for the eTrice project)

[5] https://wiki.eclipse.org/ETrice/Development/Release_2.0

[6] Preprocessed output from a build of our dependencies Jenkins job [2]

[INFO] +- p2.eclipse-plugin:com.google.gson:jar:2.7.0.v20170129-0911:system

[INFO] +- p2.eclipse-plugin:com.google.guava:jar:21.0.0.v20170206-1425:system

[INFO] +- p2.eclipse-plugin:com.google.inject:jar:3.0.0.v201605172100:system

[INFO] +- p2.eclipse-plugin:com.ibm.icu:jar:58.2.0.v20170418-1837:system

[INFO] +- p2.eclipse-plugin:javax.inject:jar:1.0.0.v20091030:system

[INFO] +- p2.eclipse-plugin:org.antlr.runtime:jar:3.2.0.v201101311130:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-antlr.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-bcel.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-bsf.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-log4j.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-oro.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-regexp.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-resolver.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-apache-xalan2.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-commons-logging.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-commons-net.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jai.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-javamail.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jdepend.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jmf.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-jsch.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-junit4.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-junit.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-launcher.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-netrexx.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-swing.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.ant:jar:lib/ant-testutil.jar:1.10.1.v20170504-0840:system

[INFO] +- p2.eclipse-plugin:org.apache.batik.css:jar:1.8.0.v20170214-1941:system

[INFO] +- p2.eclipse-plugin:org.apache.batik.util:jar:1.8.0.v20170214-1941:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.cli:jar:1.2.0.v201404270220:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.codec:jar:1.9.0.v20170208-1614:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.io:jar:2.2.0.v201405211200:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.jxpath:jar:1.3.0.v200911051830:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.lang:jar:2.6.0.v201404270220:system

[INFO] +- p2.eclipse-plugin:org.apache.commons.logging:jar:1.1.1.v201101211721:system

[INFO] +- p2.eclipse-plugin:org.apache.felix.scr:jar:2.0.10.v20170501-2007:system

[INFO] +- p2.eclipse-plugin:org.apache.httpcomponents.httpclient:jar:4.5.2.v20170210-0925:system

[INFO] +- p2.eclipse-plugin:org.apache.httpcomponents.httpcore:jar:4.4.6.v20170210-0925:system

[INFO] +- p2.eclipse-plugin:org.apache.log4j:jar:1.2.15.v201012070815:system

[INFO] +- p2.eclipse-plugin:org.freemarker:jar:2.3.22.v20160210-1233:system

[INFO] +- p2.eclipse-plugin:org.hamcrest.core:jar:1.3.0.v201303031735:system

[INFO] +- p2.eclipse-plugin:org.junit:jar:junit.jar:4.12.0.v201504281640:system

[INFO] +- p2.eclipse-plugin:org.objectweb.asm:jar:5.2.0.v20170126-0011:system

[INFO] +- p2.eclipse-plugin:org.sat4j.core:jar:2.3.5.v201308161310:system

[INFO] +- p2.eclipse-plugin:org.sat4j.pb:jar:2.3.5.v201404071733:system

[INFO] +- p2.eclipse-plugin:org.tukaani.xz:jar:1.5.0.v20170111-1717:system

[INFO] +- p2.eclipse-plugin:org.w3c.css.sac:jar:1.3.1.v200903091627:system

Â


Diese Nachricht wurde mit einer kostenlosen Version von Proxy-Manager gesendet.
Wollen Sie von Ihrem Exchange-Konto mit einer Ihrer Proxy SMTP-Adressen senden?
Testen Sie Proxy-Manager kostenlos!

Diese FuÃzeile wird nicht in der registrierten Version von Proxy-Manager angezeigt.
Klicken Sie hier, um Proxy-Manager zu registrieren.


_______________________________________________
cross-project-issues-dev mailing list
cross-project-issues-dev@eclipse.org
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/cross-project-issues-dev



--
Wayne Beaton
Director of Open Source Projects
The Eclipse Foundation