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

Max Rydahl Andersen manderse at redhat.com
Wed Dec 2 04:21:46 EST 2015


Nice writeup.

> 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.

Yes - your conclusion matches mine on the jira and what mistria 
suggestion for fixes
and with my updates handles.

Can you make it happen ? :)

> 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.

Main problem I know is forge, hibernate and openshift afaik.

forge and openshift would not be able to move very fast if we moved 
their libs for Locus.

Hibernate - we don't actually want/intend to expose the internal apis of 
hibernate so not
sure if pushing all variations of hibernate into Locus is such a good 
idea....but it could
be considered.

One thing that might be worth looking for are those bundling mockito or 
other testing libs
that we might already have put into locus or use from orbit so these are 
not even relevant anymore.

/max

> Denis
>
> On Tue, Dec 1, 2015 at 5:57 PM Denis Golovin <dgolovin at exadel.com> 
> wrote:
>
>> On Tue, Dec 1, 2015 at 2:34 AM Max Rydahl Andersen 
>> <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 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
>>> https://lists.jboss.org/mailman/listinfo/jbosstools-dev
>>>
>>> /max
>>> http://about.me/maxandersen_______________________________________________
>>> jbosstools-dev mailing list
>>> 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
>>> 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.


/max
http://about.me/maxandersen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20151202/20b6d282/attachment.html 


More information about the jbosstools-dev mailing list