[jbosstools-dev] FEEDBACK REQUESTED: Using maven-dependency-plugin to download upstream requirements into your build / removing redundant skip*Requirements variables from parent pom

Alexey Kazakov alkazako at redhat.com
Tue Dec 1 22:13:43 EST 2015



On 12/01/2015 09:44 PM, Denis Golovin wrote:
> There are several kinds of downloaded resources throughout jbosstools:
> 1. *Runtimes* required during test execution (seam, as and etc)
> 2. *Compile time libraries* required for compilations
> 3. *Test project libraries* included into test projects
>
> (1) is defines test environment and should be skipped for download if 
> tests skipped
> (2) and (3) should be never skipped.
Why do you need (3) if you not executing tests?

Thanks.

>
> Now to handle (1) we use three different maven plugins declared in 
> parent pom (see parent/pom.xml line 504 
> <https://github.com/jbosstools/jbosstools-build/blob/master/parent/pom.xml#L504>):
>
>   * maven-dependency-plugin - to download some early versions of
>     jboss-as from maven repo
>   * download-maven-plugin - to download jboss-as from specified url
>   * maven-download-plugin - to download seam distributions from
>     specified url
>
> To handle (2) and (3) only maven-dependency-plugin is used.
> I think at this time obviously we have to change 
> maven-dependency-plugin declaration in 
> parent/pom.xml#build/pluginManagement to never skip downloading 
> dependencies, because it is most common use case. After it is done we 
> can remove unnecessary <skip>false</skip> throughout the projects.
>
> If there are libs for (2) and (3) downloaded from external URL using 
> download-maven-plugin/maven-download-plugin we should probably move 
> them to locus.
>
> Denis
>
> On Tue, Dec 1, 2015 at 5:57 PM Denis Golovin <dgolovin at exadel.com 
> <mailto:dgolovin at exadel.com>> wrote:
>
>     On Tue, Dec 1, 2015 at 2:34 AM Max Rydahl Andersen
>     <manderse at redhat.com <mailto:manderse at redhat.com>> wrote:
>
>         On 30 Nov 2015, at 21:55, Nick Boldt wrote:
>
>             Looking in the 4.3.x and master branches, I can only see
>             two poms with
>             a reference to maven-dependency-plugin or
>             generate-resources, both of
>             which have their <skip>false</skip> set:
>
>             ./plugins/org.jboss.tools.openshift.client/pom.xml
>             ./plugins/org.jboss.tools.openshift.express.client/pom.xml
>
>             So, how was your openshift build failing? Can you give details
>             (console log, for example) on how |mvn clean install
>             -DskipTests=true|
>             failed?
>
>         yes, the build did not work when you run with -DskipTests=true.
>
>         I have to run it with just "mvn clean install" to work, just
>         doing "mvn clean install -DskipTests=true" resulted in failure
>         to build related to the openshift java client updates.
>
>         anyway, lets just fix the issue that requires us to litter
>         <skip>false</skip>
>         into components builds. Please.
>
>     I cannot replicate that. I was always running full build with
>
>     mvn clean install -DskipTests=true
>
>     before and after branching of 4.3.x and builds were always fine. I
>     remember to have problems when new code pushed in tooling
>     referencing resent changes in client jar, which is not available
>     from maven repository.
>
>     nightly full build from master is still available from wonka and
>     it's been running without any problems for a couple weeks.
>
>     what kind of failure you have for openshift build from 4.3.x branch?
>
>     Denis
>
>         /max
>
>             On Thu, Nov 26, 2015 at 7:40 AM, Max Rydahl Andersen
>             manderse at redhat.com <mailto:manderse at redhat.com> wrote:
>
>                 on this note - I just spent half the day figuring out why
>                 jbosstools-openshift
>                 was not building when I did "mvn clean install
>                 -DskipTests=true".
>
>                 Turns out I'm hit with this exact issue - that
>                 skipTest is for reason I
>                 never understood
>                 is used to turn off download for testing dependencies
>                 by turning of download
>                 of all dependencies.
>
>                 We need to stop adding workaround for this into our
>                 projects and instead
>                 have those few projects
>                 that have large dependencies to use another mechanism
>                 to turn of download.
>
>                 /max
>
>                 Only one I don't know about is swtbot.test.skip.
>
>                 The others I don't see how to remove nor why since
>                 they all play a part.
>
>                 This sounds more like should fix how the skip's works
>                 rather than remove
>                 them.
>
>                 The issue in JBIDE-15330
>                 <https://issues.jboss.org/browse/JBIDE-15330> seem to
>                 because of the many time pointed out bad
>                 assumption that skipTest
>                 should mean you don't want dependencies to be downloaded.
>
>                 Reported here
>                 https://issues.jboss.org/browse/JBIDE-15332 in 2013.
>
>                 The issue is
>                 <skipRequirements>${skipTests}</skipRequirements>
>                 and then skipRequirements are used to disable all
>                 basic dependency fetching
>                 which is simply a wrong/bad assumption.
>
>                 /max
>
>                 If your project needs to download upstream
>                 libraries/runtimes/jars
>                 using something like maven-dependency-plugin, and you
>                 have not set
>                 <skip>false</skip> for those plugins' builds, eg.,
>                 https://github.com/jbosstools/jbosstools-livereload/pull/54/
>                 you
>                 should do so.
>
>                 This is because I'd like to remove some of the
>                 obsolete skip*
>                 variables we have in the parent pom, and you don't
>                 want your builds to
>                 fail when skipping tests, as livereload used to before
>                 https://issues.jboss.org/browse/JBIDE-15330 was fixed.
>
>                 Here are all the skip-related variables in our parent
>                 pom [1]:
>
>                 <swtbot.test.skip>true</swtbot.test.skip>
>                 <skipRequirements>${skipTests}</skipRequirements>
>                 <skipPrivateRequirements>true</skipPrivateRequirements>
>                 <skipTestsWithPrivateRequirements>${skipPrivateRequirements}</skipTestsWithPrivateRequirements>
>                 and
>                 skipTestsOrITests (which is true when skipTests or
>                 skipITests is true).
>
>                 [1]
>                 https://github.com/jbosstools/jbosstools-build/blob/master/parent/pom.xml
>
>                 Which of those are no longer used, that can be safely
>                 removed? Are
>                 skipTestsWithPrivateRequirements and skipRequirements
>                 used for the
>                 same purposes as skipITests?
>
>                 Thanks,
>
>                 --
>                 Nick Boldt :: JBoss by Red Hat
>                 Productization Lead :: JBoss Tools & Dev Studio
>                 http://nick.divbyzero.com
>
>                 ------------------------------------------------------------------------
>
>                 jbosstools-dev mailing list
>                 jbosstools-dev at lists.jboss.org
>                 <mailto:jbosstools-dev at lists.jboss.org>
>                 https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
>                 /max
>                 http://about.me/maxandersen_______________________________________________
>                 jbosstools-dev mailing list
>                 jbosstools-dev at lists.jboss.org
>                 <mailto:jbosstools-dev at lists.jboss.org>
>                 https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
>                 /max
>                 http://about.me/maxandersen
>
>             -- 
>             Nick Boldt :: JBoss by Red Hat
>             Productization Lead :: JBoss Tools & Dev Studio
>             http://nick.divbyzero.com
>
>         /max
>         http://about.me/maxandersen
>
>
>         CONFIDENTIALITY NOTICE: This email and files attached to it
>         are confidential. If you are not the intended recipient you
>         are hereby notified that using, copying, distributing or
>         taking any action in reliance on the contents of this
>         information is strictly prohibited. If you have received this
>         email in error please notify the sender and delete this email.
>
>         _______________________________________________
>         jbosstools-dev mailing list
>         jbosstools-dev at lists.jboss.org
>         <mailto:jbosstools-dev at lists.jboss.org>
>         https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>
>
> CONFIDENTIALITY NOTICE: This email and files attached to it are 
> confidential. If you are not the intended recipient you are hereby 
> notified that using, copying, distributing or taking any action in 
> reliance on the contents of this information is strictly prohibited. 
> If you have received this email in error please notify the sender and 
> delete this email.
>
>
>
> _______________________________________________
> jbosstools-dev mailing list
> jbosstools-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/jbosstools-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20151201/ed157865/attachment-0001.html 


More information about the jbosstools-dev mailing list