Skip to main content

[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 Wayne,

 

what you tell about the tools you are developing sounds promising. Thanks.

 

Henrik

 

Von: cross-project-issues-dev-bounces@xxxxxxxxxxx [mailto:cross-project-issues-dev-bounces@xxxxxxxxxxx] Im Auftrag von Wayne Beaton
Gesendet: Dienstag, 14. August 2018 21:47
An: Cross project issues <cross-project-issues-dev@xxxxxxxxxxx>
Betreff: 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@xxxxxxxxxxx
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


Back to the top