quattor / maven-tools

Maven-based Build Tools
www.quattor.org
Apache License 2.0
3 stars 12 forks source link

mvnprove: also extract build plugins from pluginManagement #90

Closed stdweird closed 8 years ago

stdweird commented 8 years ago

Fixes #89

stdweird commented 8 years ago

@ned21 rpms now also for PRs at https://jenkins1.ugent.be/job/maven-tools-pr-builder/lastSuccessfulBuild/artifact/ spma now works fine

ned21 commented 8 years ago

Seems to work, although I'm still getting a failure due to (I think) too old a version of ncm-ncd. We're trying to setup a test machine using stock upstream quattor rpms so this stuff is easier to test.

One thing I did notice:

Files=46, Tests=738, 36 wallclock secs ( 0.30 usr  0.09 sys + 44.94 cusr  6.35 csys = 51.68 CPU)
Result: FAIL
ERROR: Prove failed
Died at /usr/bin/mvnprove.pl line 89.

The last line made me think mvnprove.pl had hit a programming error (bug). But when I checked the code, it looks like just the way the script exits. This is confusing - mvnprove is fine, the result is just a failure. Shall I merge this PR and open a new issue for this?

stdweird commented 8 years ago

jenkins already makes rpm artifacts for all repos, but they have odd version. if you want to try to see if is fixed with more recent ncm-ncd, go to https://jenkins1.ugent.be/view/Quattor/job/ncm-ncd/lastBuild/org.quattor.cfg.module$ncm-ncd/

similar urls for all others too. (but i think new ncm-ncd needs new CAF etc etc)

upload teh output of your latest mvnprove, and i'll have a look. i have no real preference for merging this already. the issue should be a small fix, maybe others will also pop up

stdweird commented 8 years ago

@ned21 see last commit. should fail with grace now

ned21 commented 8 years ago

Thanks for the info on getting the latest rpms. Problem appears to be a missing dependencies: perl-Test-MockObject and perl-Class-Inspector.noarch are required but not listed in the rpm deps. (The reason maven works OK for me is because I've long hacked up my maven wrapper to get me the right deps from AFS via PERL5LIB).

Also can we drop the dependency on perl-Pod-Simple to 3.13-141? That's the latest we have (and that's on a fairly recent RH version).

Latest commit looks good, thanks for the quick turnaround.

That leaves me with this:

[VERB] File /d/d1/dimmock/configuration-modules-core/ncm-spma/target/test/cache/
simple/profile.2/profile.xml was modified
updated /d/d1/dimmock/configuration-modules-core/ncm-spma/target/test/cache/simp
le/profile.2/profile.url
ok
Can't call method "option" on an undefined value at /usr/lib/perl/NCM/Component.
pm line 38.
Compilation failed in require at /d/d1/dimmock/configuration-modules-core/ncm-sp
ma/target/lib/perl/NCM/Component/spma/yum.pm line 11.
BEGIN failed--compilation aborted at /d/d1/dimmock/configuration-modules-core/nc
m-spma/target/lib/perl/NCM/Component/spma/yum.pm line 11.
Compilation failed in require at src/test/perl/yum-make-cache.t line 23.
BEGIN failed--compilation aborted at src/test/perl/yum-make-cache.t line 23.
src/test/perl/yum-make-cache.t ............
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run

$ rpm -qf /usr/lib/perl/NCM/Component.pm
ncm-ncd-16.2.1-SNAPSHOT20160510211902.noarch
stdweird commented 8 years ago

@ned21 the remaining error is because new buildtools require https://github.com/quattor/configuration-modules-core/pull/730; so a rebase on master should fix this. you don't see the error with maven because maven controls the version to an older one than the perl-Test-Quattor provides i'll have a look at the deps, but to run the unittests you will require modules from cpan at some point. what is this "fairly recent RH version" you are referring to? i think EL7 should have the correct version.

ned21 commented 8 years ago

It's an up to date version of RH6. Sorry EL7 is still "too new" here :-)

stdweird commented 8 years ago

@ned21 perl-Test-MockObject and perl-Class-Inspector.noarch are required by the spma test, not perl-Test-Quattor, right? if that is the case, i could see to add a most common (and available) test requirements to the perl-Test-Quattor rpm. also, http://yum.quattor.org/externals/noarch/el6/ has a rebuild of the perl-Pod-Simple rpm

ned21 commented 8 years ago

That's correct - I needed those two installed to run the spma test suite.

stdweird commented 8 years ago

from the build_all_repos script on el6 i get deps via yum (this is EL6+EPEL6, no other repos)

apache-maven
perl
gcc-c++
make
rpm-build
perl
rpmlint
perl
perl-IO-String
perl-parent
perl-Readonly
perl-Template-Toolkit
perl-Test-MockModule
perl
perl-TAP-Harness
perl-Class-Inspector
perl-Config-Properties
perl-Config-Tiny
perl-enum
perl-File-Which
perl-GSSAPI
perl-Test-MockObject
perl-Test-NoWarnings
perl-Test-Pod
perl-version
perl-XML-Simple
perl-CDB_File
perl-Config-General
perl-Crypt-SSLeay
perl-LWP-Authen-Negotiate
perl-Taint-Runtime
perl-Test-Deep
perl-IPC-Run
perl-Set-Scalar
perl-Text-Glob
perl
perl-File-Copy-Recursive

and remainder with cpan

Pod::Simple
Test::More
JSON::XS
YAML::XS
Net::OpenNebula
JSON::Any
Data::Compare
Data::Structure::Util
File::Touch
stdweird commented 8 years ago

@ned21 last commit adds the deps via a perl module. i think it's cleaner than editing the pom.xml, but doesn't allow to add non-perl dependencies one dependecy that we could add is cpan or cpanm, to help install the missing packages.

stdweird commented 8 years ago

@jrha i'm tagging this 16.4. it would be good to have a basic working perl-Test-Quattor part of 16.4. but feel free to move to 16.6

jrha commented 8 years ago

Sounds good to me