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

Denis Golovin dgolovin at exadel.com
Tue Dec 1 21:44:55 EST 2015


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.

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> 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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/jbosstools-dev/attachments/20151202/a2f81657/attachment-0001.html 


More information about the jbosstools-dev mailing list